17-12
FUNS
The FUN Equations
warp2(a, b)
We call this equation Slant-square.™ Again, the value of Input a controls the mapping of values 
for Input b. If Input b is a sawtooth wave, different values for Input a will turn it into a number 
of variations on square waves.
Figure 17-10 warp2(a, b)
warp3(a, b)
We call this one the Variable Inverter.™ It looks at the binary numbers that represent the values 
of Inputs a and b, compares the corresponding bits in each number, and performs an XOR 
operation on them (we’ll explain that below). The resulting number is converted into the output 
value. This can produce some erratic results, but if variety is what you’re after, this equation will 
give it to you. You’ll get your best results when Input b is an LFO with a slow rate.
The XOR operation is a subprogram that applies a truth table to each of the digits in the binary 
numbers that represent the values of Inputs a and b. Each of these numbers is a string of 16 
digits (bits); each bit is either a 0 or a 1. The subprogram looks at the first bit of each number. If 
they’re both 0s, the resulting value is 1. If one is a 0 and the other is a 1, the result is 1. If they’re 
both 1s, the result is 0. This process is repeated for the remaining 15 bits of each number, and a 
new 16-bit number is generated. This number represents the output value of the FUN.
a = .1, b rising
from -1 to 1
a = .5, b rising
from -1 to 1
a =.9, b rising
from -1 to 1
+1
1-1
-1
 input
values
output
values
+1
1-1
-1
 input
values
output
values
+1
1-1
-1
 input
values
output
values