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.
Similar content being viewed by others
References
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. ANSI/IEEE. IEEE Standard for Binary Floating-point Arithmetic, std 754–1985 edition (1985)
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. 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. Chesneaux, J.-M.: L’arithmétique stochastique et le logiciel CADNA. Habilitation á diriger des recherches. Université Pierre et Marie Curie, Paris (1995)
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. Cousot, P., Cousot, R.: Abstract interpretation frameworks. J. L. Symb. Comput. 2(4), 511–547 (1992)
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. 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. Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv. 23(1), 5–48 (1991)
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. 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. 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. Griewank, A.: Evaluating Derivatives, Principles and Techniques of Algorithmic Differentiation. Frontiers in Applied Mathematics. SIAM (Publisher), (2000) ISBN 0-89871-451-6
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. 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. Hauser, J.R.: Handling floating-point exceptions in numeric programs. ACM Trans. Progra. Lang. Syst. 18(2), 139–174 (1996)
18. Higham, N.J.: Accuracy and Stability of Numerical Algorithms. (1996) SIAM (Publisher), ISBN 0-89871-355-2
19. Knuth, D.: The Art of Computer Programming—Seminumerical Algorithms. Addison Wesley, 3rd edn. Chapter 4, (1997) ISBN 0-201-89684-2
20. Langlois, P.: Automatic linear correction of rounding errors. BIT, Num. Math. 41(3), 515–539 (2001)
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)
22. Lefevre, V., Muller, J.M., Tisserand, A.: Toward correctly rounded transcendentals. IEEE Trans. on Comput. 47(11), 1235–1243 (1998)
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. 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. Matula, D.W., Kornerup, P.: Foundations of finite precision rational arithmetic. J. Comput. 2, 378–387 (1980)
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. Moore, R.E.: Interval Analysis. Prentice-Hall, Englewood Cliffs (1963)
28. Mrozek, M.: Rigorous error analysis of numerical algorithms via symbolic computations. J. Symb. Comput. 22, 435–458 (1996)
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. 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. Vignes, J.: A stochastic arithmetic for reliable scientific computation. Math. Comput. Simul. 35(3), 233–261 (1993)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Issue Date:
DOI: https://doi.org/10.1007/s10990-006-8608-2