The z=f(a,b) input string specifies the expression to be evaluated.  The "a min", "a max", "b min", "b max" fields are the bounds between which the surface is drawn. "x#points", "y#points" are the number of points used to build the surface in each direction. Depress the "Go" button to draw the surface.

The expression supports arithmetic, logical and conditional operators. They are:

(unary) !, -

(binary) +, -, *, /, %, <, > <=, >=, ==, != ,&&, ||

(ternary) ? :

The ternary operator is a conditional operator. For example, a ? b : c evaluates to b if a != 0, and to c if a==0.

Operands can also be numeric constants (e.g. 1.0), pre-defined named constants, or pre-defined functions.

The named constants are:

MAXFLOAT

MINFLOAT

M_E

M_LOG2E

M_LOG10E

M_LN2

M_LN10

M_PI

M_SQRT2 = sqrt(2)

M_SQRT1_2 = sqrt(1/2)

Most of the pre-defined functions come from the math library:

cos, sin, tan,

acos, asin, atan, atan2,

cosh, sinh, tanh,

sqrt, pow, exp, log, log10,

ceil, floor, fabs, fmod.

Other functions are:

rand(f) - Random number generator