Correctness of two-word normal multiplication #
The runtime kernel multiplies two normal significands exactly in four native words, rounds the
product of at most 2 * fracWidth + 2 bits to nearest-even, and packs a normal result. Subnormal
operands and results, overflow, NaNs, and infinities are left to the operation dispatcher.
roundNormalProduct_refines is shared with the fused multiply-add kernel: it accepts any
four-limb magnitude in [2^(2 * fracWidth), 2^(2 * fracWidth + 3)) together with its
leading-bit position, which covers both the product and the aligned product-plus-addend sum.
Threshold words #
The largest finite normal leading-bit position fits a native word.
The fraction width fits a native word.
Rounding a four-limb magnitude #
The fixed-limb normal branch agrees with generic unsigned product rounding.
Normal products #
Every result accepted by the pair multiplication kernel equals the exact finite kernel.