First-order dispatch for binary32 and binary64 #
Binary32 and binary64 use first-order operation instances that name their fixed-format
specializations. The public type constructor lives in Configured.Type, while the generic
table, word, limb, and baseline instances live in Configured.Plan.Instances.
Each instance names the fixed-format certificate it executes.
Plan.selectCertified_binary32AddCandidates and its siblings prove that the planner selects this
certificate under every Policy. The kernel that runs is therefore the proved kernel
#float_info reports, whichever PolicyFor instance is in scope.
The guarded host operations live in Configured.NativeFPU.Unchecked, and no compiler
substitution or certified candidate puts them behind these capabilities.
Configured IEEE binary32 and binary64 operations name their first-order software kernels.
These instances are attached to the public parameterized families, not to a storage-plan
constructor, because Lean's typeclass index keeps Binary.Family 8 23 and Binary.Family 11 52
but does not always unfold their computed forKnownWidth plans during instance search. All six
operations execute the proved fixed-format word kernels.
Binary64 addition on the stored words, compiled once as a specialized function. The instance calls it rather than inlining the word kernel into every caller, which keeps arithmetic loops small.
Instances For
Binary64 subtraction on the stored words, compiled once as a specialized function.
Instances For
Binary64 multiplication on the stored words, compiled once as a specialized function.
Instances For
Binary64 division on the stored words, compiled once as a specialized function.
Instances For
Binary64 fused multiply-add on the stored words, compiled once as a specialized function.