Your expression may include any of the following elements:

- Numbers
- ( ) for grouping
- Variables
**x**,**y**, and**z**: the coordinates of the point for which the procedure is being evaluated**t**: the time for which the procedure is being evaluated.**input1**,**input2**, and**input3**: the values of the three inputs to the module**pi**: 3.141592...**e**: 2.718281...

- Operators
- +: addition
- -: subtraction
- *: multiplication
- /: division
- ^: exponentiation
- %: modulus

- Functions
- sin(a): sine of a
- cos(a): cosine of a
- sqrt(a): square root of a
- abs(a): absolute value of a
- log(a): natural logarithm of a
- exp(a): e to the a power (same as e^a)
- min(a, b): minimum of a and b
- max(a, b): maximum of a and b
- pow(a, b): a to the b power (same as a^b)
- angle(a, b): the angle formed by a right triangle with sides a and b
- bias(a, b): the Bias function with a bias of b
- gain(a, b): the Gain function with a gain of b

If you select the "Smooth Curve" option, a smoothly varying function will be used which interpolates the values you specify. If you do not select this option, a piecewise linear function will be used.

`
y(x) = A*x + B
`

where you can set the values of the two constants `A` and `B`.

Blur = 0.0 | Blur = 0.05 | Blur = 0.2 |

`
`

y(x) = | x_{min} | for x < x_{min} |

x | for x_{min} < x < x_{max} | |

x_{max} | for x > x_{max} |

Double-click the module to set the values for x_{min} and x_{max}.

`
`

y(x) = | sqrt(x) | if x>0 |

-sqrt(-x) | if x<0 |

`
`

y(x) = | log(x) | if x>0 |

-log(-x) | if x<0 |

`
y(x) = x ^{log(B)/log(0.5)}
`

where the input value x and bias B correspond to the two input ports. If `B=0.5`, then
`y(x)=x`. Values of `B` less than 0.5 push the output toward smaller values,
while values of `B` greater than 0.5 push the output toward larger values.

`
`

y(x) = | Bias(2*x, 1-G)/2 | if x<0.5 |

1-Bias(2-2*x, 1-G)/2 | if x>0.5 |

where the input value x and gain G correspond to the two input ports, and Bias(x, B) is the
Bias function described above. If `G=0.5`, then `y(x)=x`. Values of `G` less than 0.5 smooth the input by pushing the output toward 0.5, while values of `G`
greater than 0.5 sharpen the input by pushing the output toward 0 or 1.

The output is created by adding together several octaves of a smooth noise function. Each octave
has twice the frequency of the previous octave. You can specify the number of octaves to use,
and the amplitude of the first octave. The amplitude of each higher octave is obtained by
multiplying the amplitude of the preceding octave by the value of the **noise** input port
(which is typically between 0 and 1, although this is not strictly required). Because this
is an input port rather than a parameter, it does not need to be a constant. This is very
useful for creating patterns whose character varies over the surface of an object.

The function is scaled so that output values will typically be between 0 and 1. Depending on the values of the parameters and the noise input, however, the output value may sometimes go outside this range.