On the "backend" are various circuits which sit "behind" one or more frontend registers. They vary from WIZ to WIZ, and can be any kind of circuits, so long as they can interface through standard frontend registers. For example, we could have a multiplier circuit, sitting behind registers 2, 3, and 4. It could constantly monitor registers 2 and 3 and always keep register 4 equal to their product. To use it, we would write an instruction sequence like this: // Compute: Z = X + Y (where X, Y, and Z are any three unrelated registers) X => 2 // X to multiplier first input Y => 3 // Y to multiplier second input 4 => Z // multiplier output to Z With a simple syntax suggested later in this document, we could write this as: X , Y => multiplier => Z