Static-byte capability construction #
Static-byte candidates and first-order dispatchers form verified ExecFloat capabilities.
Runtime planning remains in Plan.Runtime; the equations consumed here are isolated in
Plan.Proof.
The planner chooses between a table and a direct kernel. These constructors attach the corresponding refinement theorem and expose the result through the shared operation interfaces.
The common table plan for a nominal static-byte format.
The record supplies certified tables and profile choices for four binary operations and square root. FMA is separate: a package can offer a table candidate or use a model kernel directly.
Concrete instances should be marked instance_reducible. The capability instances below can then
specialize each projection to the same first-order table kernel that a hand-written per-format
instance would name.
- namePrefix : String
Human-readable family prefix used in the five table candidate names.
- addSelection : BuiltinSelection (Family.format F) (namePrefix F ++ " addition table") ExecFloat.Backend.Operation.add
Built-in profile decisions for addition.
- addTable : ExecFloat.Backend.TinyTable.CertifiedBinary (encoding (Family.format F) ⋯) Model.Spec.add
Certified addition table.
- subSelection : BuiltinSelection (Family.format F) (namePrefix F ++ " subtraction table") ExecFloat.Backend.Operation.sub
Built-in profile decisions for subtraction.
- subTable : ExecFloat.Backend.TinyTable.CertifiedBinary (encoding (Family.format F) ⋯) Model.Spec.sub
Certified subtraction table.
- mulSelection : BuiltinSelection (Family.format F) (namePrefix F ++ " multiplication table") ExecFloat.Backend.Operation.mul
Built-in profile decisions for multiplication.
- mulTable : ExecFloat.Backend.TinyTable.CertifiedBinary (encoding (Family.format F) ⋯) Model.Spec.mul
Certified multiplication table.
- divSelection : BuiltinSelection (Family.format F) (namePrefix F ++ " division table") ExecFloat.Backend.Operation.div
Built-in profile decisions for division.
- divTable : ExecFloat.Backend.TinyTable.CertifiedBinary (encoding (Family.format F) ⋯) Model.Spec.div
Certified division table.
- sqrtSelection : BuiltinSelection (Family.format F) (namePrefix F ++ " square-root table") ExecFloat.Backend.Operation.sqrt
Built-in profile decisions for square root.
- sqrtTable : ExecFloat.Backend.TinyTable.CertifiedUnary (encoding (Family.format F) ⋯) Model.Spec.sqrt
Certified square-root table.
Instances
Construct a static-byte addition capability with certified profile selection.
Instances For
Construct a static-byte subtraction capability with certified profile selection.
Instances For
Construct a static-byte multiplication capability with certified profile selection.
Instances For
Construct a static-byte division capability with certified profile selection.
Instances For
Construct a static-byte square-root capability with certified profile selection.
Instances For
Construct a static-byte FMA capability from named table and exact kernels.
Instances For
Construct an exact-only static-byte FMA without retaining certificate closure dispatch.
Instances For
Construct an addition capability directly from a certified byte table.
The executable table lookup and its refinement proof are derived from the same certificate, so a format package cannot accidentally pair a kernel with the wrong theorem.
Instances For
Construct a subtraction capability directly from a certified byte table.
Instances For
Construct a multiplication capability directly from a certified byte table.
Instances For
Construct a division capability directly from a certified byte table.
Instances For
Construct a square-root capability directly from a certified byte table.
Instances For
Construct a policy-selected FMA capability from a certified table and a proved exact kernel.
Instances For
Construct an exact-only FMA capability from a proved model-level kernel.
Instances For
The planned instances deliberately outrank the direct-family instances in
StaticByte.Backend.Construction. A static-byte family without a TablePlan therefore keeps its
ordinary family kernels. With a TablePlan, the planning profile chooses between a table and
the exact baseline.