addition - two to 32 arguments

subtraction

multiplication - two to 32 arguments

division

modulus (remainder)

exponentiation

integer negation

increment variable by one

decrement variable by one

logical and - two to 32 arguments

logical or - two to 32 arguments

logical not

equality (not strings)

non-equality

less than

greater than

less than or equal

greater than or equal

`Add`, `sub`, `mul` and `div` do integer arithmetic. Functions `add` and `mul` can have two to 32 arguments;
the sum or product of the full set of arguments is computed. Functions `sub` and `div` have two arguments
each; `sub` subtracts its second argument from its first, and `div` divides its first argument by its second.
The `mod` function returns the remainder after dividing the first parameter by the second. If the second
argument to `div` or `mod` is zero, these functions return 0 and generate a run time error. `Exp` performs
integer exponentiation. `Neg` negates its argument.

`Incr` and `decr` increment by one and decrement by one, respectively, the value of a variable. The
argument to both functions must be a variable.

`And` and `or` do logical operations. Both functions take two to 32 arguments. All arguments are and'ed or
or'ed together, respectively. The arguments are evaluated from left to right, but only up to the point
where the final value of the function becomes known. `Not` does the logical not operation.

`Eq`, `ne`, `lt`, `le`, `gt` and `ge` evaluate the six ordering relationships between two integers.