Innovations in Systems and Software Engineering

, Volume 6, Issue 3, pp 173–179 | Cite as

Improved bound for stochastic formal correctness of numerical algorithms

  • Marc Daumas
  • David Lester
  • Érik Martin-DorelEmail author
  • Annick Truffert
Original Paper


We provide bounds on the probability that accumulated errors were never above a given threshold on numerical algorithms. Such algorithms are used, for example, in aircraft and nuclear power plants. This report contains simple formulas based on Lévy’s, Markov’s and Hoeffding’s inequalities and it presents a formal theory of random variables with a special focus on producing concrete results. We select three very common applications that cover the common practices of systems that evolve for a long time. We compute the number of bits that remain continuously significant in the first two applications with a probability of failure around one out of a billion, where worst case analysis considers that no significant bit remains. We are using PVS as such formal tools force explicit statement of all hypotheses and prevent incorrect uses of theorems.


Certification Formal methods Probability Round-off error Hybrid systems 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Audebaud P, Paulin-Mohring C (2006) Proofs of randomized algorithms in Coq. In: Uustalu T (ed) Proceedings of the 8th international conference on mathematics of program construction. Kuressaare, Estonia, pp 49–68. doi: 10.1007/11783596_6
  2. 2.
    Bertoin J (2001) Probabilités. Cours de licence de mathématiques appliquées
  3. 3.
    Boldo S, Daumas M (2003) Representable correcting terms for possibly underflowing floating point operations. In: Bajard JC, Schulte M (eds) Proceedings of the 16th symposium on computer arithmetic. Santiago de Compostela, Spain, pp 79–86.
  4. 4.
    Boldo S, Muñoz C (2006) Provably faithful evaluation of polynomials. In: Proceedings of the 2006 ACM symposium on applied computing. Dijon, France, pp 1328–1332. doi: 10.1145/1141277.1141586
  5. 5.
    Bustoz J, Feldstein A, Goodman R, Linnainmaa S (1979) Improved trailing digits estimates applied to optimal computer arithmetic. J ACM 26(4):716–730. doi: 10.1145/322154.322162 zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Chesneaux JM (1990) Contribution to computer arithmetic and self-validating numerical methods. In: Ullrich C (eds) Study of the computing accuracy by using probabilistic approach. Baltzer, Basel, pp 19–30Google Scholar
  7. 7.
    Daumas M, Lester D (2007) Stochastic formal methods: an application to accuracy of numeric software. In: Proceedings of the 40th IEEE annual Hawaii international conference on system sciences, p 7. Waikoloa, Hawaii.
  8. 8.
    Daumas M, Lester D, Martin-Dorel É, Truffert A (2009) Stochastic formal correctness of numerical algorithms. In: NASA formal methods symposium, pp 136–145.
  9. 9.
    Daumas M, Lester D, Muñoz C (2009) Verified real number calculations: a library for interval arithmetic. IEEE Trans Comput 58(2): 226–237. doi: 10.1109/TC.2008.213 CrossRefGoogle Scholar
  10. 10.
    Daumas M, Melquiond G (2010) Certification of bounds on expressions involving rounded operators. ACM Trans Math Softw 37(1). (to appear)
  11. 11.
    Feldstein A, Goodman R (1976) Convergence estimates for the distribution of trailing digits. J ACM 23(2): 287–297. doi: 10.1145/321941.321948 zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Goldberg D (1991) What every computer scientist should know about floating point arithmetic. ACM Comput Surv 23(1): 5–47. doi: 10.1145/103162.103163 CrossRefGoogle Scholar
  13. 13.
    Gordon MJC, Melham TF (eds) (1993) Introduction to HOL: A theorem proving environment for higher order logic. Cambridge University Press, CambridgezbMATHGoogle Scholar
  14. 14.
    Harrison J (2000) Formal verification of floating point trigonometric functions. In: Hunt WA, Johnson SD (eds) Proceedings of the third international conference on formal methods in computer-aided design, pp 217–233. Austin, Texas.
  15. 15.
    Huet G, Kahn G, Paulin-Mohring C (2009) The Coq proof assistant: a tutorial: version 8.2.
  16. 16.
    Hurd J (2002) Formal verification of probabilistic algorithms. Ph.D. thesis, University of Cambridge.
  17. 17.
    Kaufmann M, Manolios P, Moore JS (2000) Computer-aided reasoning: an approach. Kluwer, DordrechtGoogle Scholar
  18. 18.
    Knuth DE (1997) The art of computer programming: seminumerical algorithms, 3rd edn. Addison-Wesley, ReadingGoogle Scholar
  19. 19.
    Neveu J (ed) (1972) Martingales à temps discret. Masson, ParisGoogle Scholar
  20. 20.
    Owre S, Rushby JM, Shankar N (1992) PVS: a prototype verification system. In: Kapur D (ed) 11th international conference on automated deduction. Springer, Saratoga, New York, pp 748–752.
  21. 21.
    Russinoff DM (1998) A mechanically checked proof of IEEE compliance of the floating point multiplication, division and square root algorithms of the AMD-K7 processor. LMS J Comput Math 1:148–200. Google Scholar
  22. 22.
    Stevenson D et al (1987) An American national standard: IEEE standard for binary floating point arithmetic. ACM SIGPLAN Notices 22(2): 9–25Google Scholar
  23. 23.
    Texas Instruments (1997) TMS320C3x—user’s guide.

Copyright information

© Springer-Verlag London Limited 2010

Authors and Affiliations

  • Marc Daumas
    • 1
  • David Lester
    • 2
  • Érik Martin-Dorel
    • 3
    Email author
  • Annick Truffert
    • 4
  1. 1.ÉLIAUS (EA 3679 UPVD)Université de Perpignan Via DomitiaPerpignan Cedex 9France
  2. 2.School of Computer ScienceUniversity of ManchesterManchesterUK
  3. 3.LIP (UMR 5668 CNRS, ENSL, INRIA, UCBL, U. Lyon)École Normale Supérieure de Lyon, LIPLyon Cedex 07France
  4. 4.LAMPS (EA 4217 UPVD)Université de Perpignan Via DomitiaPerpignan Cedex 9France

Personalised recommendations