Absorbing arithmetic constants into polynomial coefficients #
The compiler tracks an original wire either as a field constant or as a wire of the emitted program. Only addition and multiplication emit gates. Their constant operands are absorbed into the displayed bivariate polynomial.
An eliminated constant or a retained signal.
Equations
Instances For
Semantic value of a retained reference.
Equations
Instances For
Constants ignore their placeholder wire; other references use their retained wire.
Equations
Instances For
A local argument becomes either a constant polynomial or the corresponding variable.
Equations
Instances For
Interpret the addition/multiplication selector.
Equations
Instances For
One emitted binary gate, with constants absorbed into its polynomial coefficients.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Substituting constants and variables recovers each original argument value.
The emitted gate has the same local arithmetic value.
Existing retained wires survive the insertion of one new gate.
Equations
Instances For
Lifting a reference preserves its value when extending the target program.
Each arithmetic program has a polynomial realization with exactly its nonconstant cost.
Nonconstant designated outputs use retained signals, so they need no final constant gates.
Every output of a nonempty totally regular linear map is nonconstant.