TorchLean API

FloatLib.Floats.ExecFloat.Backends.Word.Narrow.Addition.Proof

Correctness of native-word addition for generic binary32 #

The direct UInt64 addition kernel is proved equivalent to its exact-dyadic finite specification. Runtime clients can import Addition.Runtime without the alignment, packing, and rounding proof developments.

For exponent gaps at most 39, alignment and signed addition are exact in one word. For larger gaps, the smaller operand cannot change nearest-even rounding of the larger operand, including at a binade boundary. Both cases refine the same binary32 specification.

The direct UInt64 finite addition kernel equals the generic exact-dyadic implementation.

Non-finite operands return none, and zero operands use the exact-dyadic kernel. For nonzero finite operands, a gap of at most 39 permits an exact left shift of the larger-scale significand to the smaller scale. A larger gap rounds to the dominant operand for either choice of signs.