Bounds for normal field packing #
A normal exponent becomes a positive, in-range biased field, and removing the hidden bit from a normalized significand leaves a legal fraction. Together these bounds show that the finite-range packing guard accepts every in-range IEEE normal value.
The arithmetic facts are shared by nearest and directed rounding before either correctness proof layer is imported.
The smallest normal exponent does not exceed the largest normal exponent.
Normal field bounds #
A normal unbiased exponent produces a positive biased exponent field.
Conversion of a normal biased exponent through Int.toNat is exact.
A representable normal exponent remains within the descriptor's finite exponent range.
A normal unbiased exponent never encodes as the zero exponent field.
Decoding a normal biased exponent recovers the intended normalized dyadic scale.
Removing the implicit leading bit from a normalized mantissa fits the fraction field.
Restoring the implicit leading bit reconstructs a normalized mantissa exactly.
Removing the hidden bit from a normalized IEEE significand leaves a legal fraction field.
Both dyadic and rational packing use this fact. Keeping it here makes the format argument independent of the exact-number representation used by the caller.
In-range normal fields cannot trigger the overflow guard shared by the dyadic and rational packers.
A normalized in-range IEEE significand cannot trigger the overflow guard shared by the dyadic and rational packers: the encoded exponent does not exceed the maximal finite field and the fraction is legal.