Exact and Approximated Error of the FMA

The fused multiply accumulate-add (FMA) instruction, specified by the IEEE 754-2008 Standard for Floating-Point Arithmetic, eases some calculations, and is already available on some current processors such as the Power PC or the Itanium. We first extend an earlier work on the computation of the exact error of an FMA (by giving more general conditions and providing a formal proof). Then, we present a new algorithm that computes an approximation to the error of an FMA, and provide error bounds and a formal proof for that algorithm.

[1]  Ramesh C. Agarwal,et al.  Series approximation methods for divide and square root in the Power3/sup TM/ processor , 1999, Proceedings 14th IEEE Symposium on Computer Arithmetic (Cat. No.99CB36336).

[2]  Peter W. Cook,et al.  Second-generation RISC floating point with multiply-add fused , 1990 .

[3]  Ashok Kumar,et al.  The HP PA-8000 RISC CPU , 1997, IEEE Micro.

[4]  E.E. Swartzlander,et al.  Floating-Point Fused Multiply-Add Architectures , 2007, 2007 Conference Record of the Forty-First Asilomar Conference on Signals, Systems and Computers.

[5]  Gerry Kane,et al.  PA-RISC 2.0 Architecture , 1995 .

[6]  Pat H. Sterbenz,et al.  Floating-point computation , 1973 .

[7]  Philippe Langlois,et al.  Improving the compensated Horner scheme with a fused multiply and add , 2006, SAC.

[8]  Sylvie Boldo,et al.  Computer validated proofs of a toolset for adaptable arithmetic , 2001, ArXiv.

[9]  Romesh M. Jessani,et al.  The floating-point unit of the PowerPC 603e microprocessor , 1996, IBM J. Res. Dev..

[10]  Sylvie Boldo,et al.  Theorems on efficient argument reductions , 2003, Proceedings 2003 16th IEEE Symposium on Computer Arithmetic.

[11]  James Demmel,et al.  IEEE Standard for Floating-Point Arithmetic , 2008 .

[12]  Erdem Hokenek,et al.  Design of the IBM RISC System/6000 Floating-Point Execution Unit , 1990, IBM J. Res. Dev..

[13]  Nicolas Louvet,et al.  Algorithmes compensés en arithmétique flottante : précision, validation, performances. (Compensated algorithms in floating point arithmetic : accuracy, validation, performances) , 2007 .

[14]  Jean-Michel Muller,et al.  Some functions computable with a fused-mac , 2005, 17th IEEE Symposium on Computer Arithmetic (ARITH'05).

[15]  Sylvie Boldo,et al.  Representable correcting terms for possibly underflowing floating point operations , 2003, Proceedings 2003 16th IEEE Symposium on Computer Arithmetic.

[16]  Jean-Michel Muller,et al.  Handbook of Floating-Point Arithmetic (2nd Ed.) , 2018 .

[17]  Peter W. Markstein Computation of Elementary Functions on the IBM RISC System/6000 Processors , 1990, IBM J. Res. Dev..

[18]  S. Kimmel Architecture , 2013, Arsham-isms.

[19]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

[20]  Sylvie Boldo,et al.  Pitfalls of a Full Floating-Point Proof: Example on the Formal Proof of the Veltkamp/Dekker Algorithms , 2006, IJCAR.

[21]  T. J. Dekker,et al.  A floating-point technique for extending the available precision , 1971 .

[22]  Ole Møller Quasi double-precision in floating point addition , 1965 .

[23]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[24]  Siegfried M. Rump,et al.  Accurate Sum and Dot Product , 2005, SIAM J. Sci. Comput..

[25]  Willis H. Ware Soviet Computer Technologyߞ1959 , 1960, IRE Trans. Electron. Comput..

[26]  John Harrison,et al.  Scientific Computing on Itanium-Based Systems , 2002 .