Semantics of roundoff error propagation in finite precision calculations

We introduce a concrete semantics for floating-point operations which describes the propagation of roundoff errors throughout a calculation. This semantics is used to assert the correctness of a static analysis which can be straightforwardly derived from it.In our model, every elementary operation introduces a new first order error term, which is later propagated and combined with other error terms, yielding higher order error terms. The semantics is parameterized by the maximal order of error to be examined and verifies whether higher order errors actually are negligible. We consider also coarser semantics computing the contribution, to the final error, of the errors due to some intermediate computations. As a result, we obtain a family of semantics and we show that the less precise ones are abstractions of the more precise ones.

[1]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[2]  Douglas M. Priest,et al.  Algorithms for arbitrary precision floating point arithmetic , 1991, [1991] Proceedings 10th IEEE Symposium on Computer Arithmetic.

[3]  Eric Goubault,et al.  Asserting the Precision of Floating-Point Computations: A Simple Abstract Interpreter , 2002, ESOP.

[4]  Laurence Rideau,et al.  A Generic Library for Floating-Point Numbers and Its Application to Exact Computing , 2001, TPHOLs.

[5]  Donald E. Knuth The Art of Computer Programming 2 / Seminumerical Algorithms , 1971 .

[6]  C. M. Place,et al.  An Introduction to Dynamical Systems , 1990 .

[7]  Guido D. Salvucci,et al.  Ieee standard for binary floating-point arithmetic , 1985 .

[8]  John R. Hauser,et al.  Handling floating-point exceptions in numeric programs , 1995, TOPL.

[9]  Eric Goubault,et al.  Static Analyses of the Precision of Floating-Point Operations , 2001, SAS.

[10]  Andreas Griewank,et al.  Evaluating derivatives - principles and techniques of algorithmic differentiation, Second Edition , 2000, Frontiers in applied mathematics.

[11]  John Harrison,et al.  A Machine-Checked Theory of Floating Point Arithmetic , 1999, TPHOLs.

[12]  Eric Goubault,et al.  Static Analysis-Based Validation of Floating-Point Computations , 2003, Numerical Software with Result Verification.

[13]  P. Langlois Automatic Linear Correction of Rounding Errors , 2001 .

[14]  Christian H. Bischof,et al.  Implementation of automatic differentiation tools , 2002, PEPM '02.

[15]  Matthieu Martel,et al.  Propagation of Roundoff Errors in Finite Precision Computations: A Semantics Approach , 2002, ESOP.

[16]  Marian Mrozek Rigorous Error Analysis of Numerical Algorithms via Symbolic Computations , 1996, J. Symb. Comput..

[17]  Yahia Lebbah,et al.  Solving Constraints over Floating-Point Numbers , 2001, CP.

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

[19]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[20]  Nicholas J. Higham,et al.  INVERSE PROBLEMS NEWSLETTER , 1991 .

[21]  Donald E. Knuth,et al.  The art of computer programming. Vol.2: Seminumerical algorithms , 1981 .

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

[23]  D. Matula,et al.  Foundations of Finite Precision Rational Arithmetic , 1980 .

[24]  Jean Vignes,et al.  A stochastic arithmetic for reliable scientific computation , 1993 .

[25]  Matthieu Martel,et al.  Static Analysis of the Numerical Stability of Loops , 2002, SAS.

[26]  Arnaud Tisserand,et al.  Toward Correctly Rounded Transcendentals , 1998, IEEE Trans. Computers.

[27]  Patrick Cousot,et al.  Abstract Interpretation Frameworks , 1992, J. Log. Comput..

[28]  J. Yorke,et al.  Chaos: An Introduction to Dynamical Systems , 1997 .