Emulation of a FMA and Correctly Rounded Sums: Proved Algorithms Using Rounding to Odd

Sylvie Boldo, Guillaume Melquiond
2008 IEEE transactions on computers  
Rounding to odd is a non-standard rounding on floating-point numbers. By using it for some intermediate values instead of rounding to nearest, correctly rounded results can be obtained at the end of computations. We present an algorithm for emulating the fused multiply-and-add operator. We also present an iterative algorithm for computing the correctly rounded sum of a set floating-point numbers under mild assumptions. A variation on both previous algorithms is the correctly rounded sum of any
more » ... hree floating-point numbers. This leads to efficient implementations, even when this rounding is not available. In order to guarantee the correctness of these properties and algorithms, we formally proved them using the Coq proof checker.
doi:10.1109/tc.2007.70819 fatcat:pjdojhubyfhefhl3n5i6ouy32e