Native binary64 fused multiply-add runtime #
The accepted paths align finite normal operands in two native limbs and round the exact sum or
difference once. Declined cases retain the generic exact finite kernel. Correctness proofs are
isolated in Fma.Proof.
Shift a normal binary64 significand into the product's two-word coordinate.
Instances For
Leading-bit position of a binary64 FMA magnitude, which needs at most 107 bits.
Instances For
Try the aligned normal binary64 FMA path when the product and addend have the same sign.
The accepted exact magnitude is
xMantissa * yMantissa + zMantissa * 2^52. The final result is still rounded only once.
Instances For
Try the aligned normal binary64 FMA path when the product and addend have opposite signs.
Exact cancellation and differences with leading-bit position below 53 are declined. The product rounder checks the result exponent; declined cases use the generic finite kernel.
Instances For
Use both native aligned paths before the existing exact finite FMA kernel.