Skip to main content
Log in

Semantics of roundoff error propagation in finite precision calculations

  • Published:
Higher-Order and Symbolic Computation

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 1. Alligood, K.T., Sauer, T.D., Yorke, J.A.: Chaos, An Introduction to Dynamical Systems. Springer-Verlag (1996) ISBN 0-387-94677-2

  2. 2. ANSI/IEEE. IEEE Standard for Binary Floating-point Arithmetic, std 754–1985 edition (1985)

  3. 3. Bischof, C., Hovland, P.D., Norris, B.: Implementation of automatic differentiation tools. In Proceedings of the ACM-SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Transformations, PEPM′02, pp. 98–107. ACM, Press (2002)

  4. 4. Boldo, S., Daumas, M.: Representable correcting terms for possibly underflowing floating point operations. In: Bajard, J.-C., Schulte, M. (eds.), Proceedings of the 16th Symposium on Computer Arithmetic, pp. 79–86. IEEE, Press (2003)

  5. 5. Chesneaux, J.-M.: L’arithmétique stochastique et le logiciel CADNA. Habilitation á diriger des recherches. Université Pierre et Marie Curie, Paris (1995)

    Google Scholar 

  6. 6. Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction of approximations of fixed points. Principles of Programming Languages 4, pp. 238–252 (1977)

  7. 7. Cousot, P., Cousot, R.: Abstract interpretation frameworks. J. L. Symb. Comput. 2(4), 511–547 (1992)

    MATH  MathSciNet  Google Scholar 

  8. 8. Daumas, M., Rideau, L., Théry, L.: A generic library for floating-point numbers and its application to exact computing. In: TPHOLs′01, International Conference on Theorem Proving and Higher Order Logics, number 2152 in Lecture Notes in Computer Science, pp. 169–184. Springer-Verlag (2001)

  9. 9. Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman and Company (1979) ISBN 0-7167-1045-5

  10. 10. Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv. 23(1), 5–48 (1991)

    Article  Google Scholar 

  11. 11. Goubault, E.: Static analyses of the precision of floating-point operations. In: Static Analysis Symposium, SAS′01, number 2126 in Lecture Notes in Computer Science, pp. 234–259. Springer-Verlag (2001)

  12. 12. Goubault, E., Martel, M., Putot, S.: Concrete and abstract semantics of floating-point operations. Technical Report DRT/LIST/DTSI/SLA/LSL/01-058, CEA (2001)

  13. 13. Goubault, E., Martel, M., Putot, S.: Asserting the precision of floating-point computations: A simple abstract interpreter. In: 11th European Symposium on Programming, ESOP′02, number 2305 in Lecture Notes in Computer Science, pp. 209–212 (2002)

  14. 14. Griewank, A.: Evaluating Derivatives, Principles and Techniques of Algorithmic Differentiation. Frontiers in Applied Mathematics. SIAM (Publisher), (2000) ISBN 0-89871-451-6

  15. 15. Hanrot, G., Lefevre, V., Rouillier, F., Zimmermann, P.: The MPFR library. Institut de Recherche en Informatique et Automatique (2001) http://www.loria.fr/projets/mpfr

  16. 16. Harrison, J.: A machine-checked theory of floating point arithmetic. In: TPHOLs′99, International Conference on Theorem Proving and Higher Order Logics, number 1690 in Lecture Notes in Computer Science, pp. 113–130. Springer-Verlag (1999)

  17. 17. Hauser, J.R.: Handling floating-point exceptions in numeric programs. ACM Trans. Progra. Lang. Syst. 18(2), 139–174 (1996)

    Article  Google Scholar 

  18. 18. Higham, N.J.: Accuracy and Stability of Numerical Algorithms. (1996) SIAM (Publisher), ISBN 0-89871-355-2

  19. 19. Knuth, D.: The Art of Computer Programming—Seminumerical Algorithms. Addison Wesley, 3rd edn. Chapter 4, (1997) ISBN 0-201-89684-2

  20. 20. Langlois, P.: Automatic linear correction of rounding errors. BIT, Num. Math. 41(3), 515–539 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  21. 21. Langlois, P., Nativel, F.: Improving automatic reduction of round-off errors. In: IMACS World Congress on Scientific Computation, Modelling and Applied Mathematics, vol. 2, pp. 359–364. Wissenshaft und Teknik-Verlag (1997)

    Google Scholar 

  22. 22. Lefevre, V., Muller, J.M., Tisserand, A.: Toward correctly rounded transcendentals. IEEE Trans. on Comput. 47(11), 1235–1243 (1998)

    Article  Google Scholar 

  23. 23. Martel, M.: Propagation of roundoff errors in finite precision computations: A semantics approach. In: 11th European Symposium on Programming, ESOP′02, number 2305 in Lecture Notes in Computer Science, pp. 194–208. Springer-Verlag (2002)

  24. 24. Martel, M.: Static analysis of the numerical stability of loops. In: Static Analysis Symposium, SAS′02, number 2477 in Lecture Notes in Computer Science, pp. 133–150. Springer-Verlag (2002)

  25. 25. Matula, D.W., Kornerup, P.: Foundations of finite precision rational arithmetic. J. Comput. 2, 378–387 (1980)

    MathSciNet  Google Scholar 

  26. 26. Michel, C., Rueher, M., Lebbah, Y.: Solving constraints over floating-point numbers. In: CP′2001, Seventh International Conference on Principles and Practice of Constraint Programming, number 2239 in Lecture Notes in Computer Science, pp. 524–538. Springer-Verlag (2001)

  27. 27. Moore, R.E.: Interval Analysis. Prentice-Hall, Englewood Cliffs (1963)

    Google Scholar 

  28. 28. Mrozek, M.: Rigorous error analysis of numerical algorithms via symbolic computations. J. Symb. Comput. 22, 435–458 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  29. 29. Priest, M.: Algorithms for arbitrary precision floating point arithmetic. In: Kornerup, P., Matula, D. (eds.) Proceedings of the 10th Symposium on Computer Arithmetic, pp. 132–144. IEEE Computer Society Press (1991)

  30. 30. Putot, S., Goubault, E., Martel, M.: Static analysis based validation of floating-point computations. In: Numerical Software with Result Verification, number 2991 in Lecture Notes in Computer Science, pp. 306–313 (2004)

  31. 31. Vignes, J.: A stochastic arithmetic for reliable scientific computation. Math. Comput. Simul. 35(3), 233–261 (1993)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Matthieu Martel.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Martel, M. Semantics of roundoff error propagation in finite precision calculations. Higher-Order Symb Comput 19, 7–30 (2006). https://doi.org/10.1007/s10990-006-8608-2

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10990-006-8608-2

Keywords

Navigation