Refinement of unary binary squaring #
Each single-operand kernel equals the corresponding multiplication kernel on equal operands. The multiplication proofs then supply correct rounding and the complete result encoding, including NaN signs and payloads.
Finite squaring with one decode equals the finite product mulRuntime? x x.
Generic squaring equals generic multiplication of x by itself.
Binary32 squaring agrees with NativeBinary32.mulFiniteWord? x x.
One-word squaring agrees with mulNormalWord x x, decline sentinel included.
Two-word squaring agrees with NativeTwoWordMul.mulNormal? x x.
Fixed-pair squaring agrees with the four-limb product mulNormalLimb? x x.
Squaring dispatch agrees with the multiplication dispatcher on x * x, branch by branch.
Binary squaring is the once-rounded exact product, with multiplication's encoding policy.