Impact of Accuracy Optimization on the Convergence of Numerical Iterative Methods

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9527)


Among other objectives, rewriting programs serves as a useful technique to improve numerical accuracy. However, this optimization is not intuitive and this is why we switch to automatic transformation techniques. We are interested in the optimization of numerical programs relying on the IEEE754 floating-point arithmetic. In this article, our main contribution is to study the impact of optimizing the numerical accuracy of programs on the time required by numerical iterative methods to converge. To emphasize the usefulness of our tool, we make it optimize several examples of numerical methods such as Jacobi’s method, Newton-Raphson’s method, etc. We show that significant speedups are obtained in terms of number of iterations, time and flops.


Program transformation Floating-point numbers IEEE754 Standard Numerical analysis Convergence acceleration 


  1. 1.
    Abdelmalek, N.: Roundoff error analysis for gram-schmidt method and solution of linear least squares problem. BIT 11, 345–368 (1971)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    ANSI/IEEE. IEEE Standard for Binary Floating-point Arithmetic, std 754–2008 (second edn) (2008)Google Scholar
  3. 3.
    Benz, F., Hildebrandt, A., Hack, S.: A dynamic program analysis to find floating-point accuracy problems. In: PLDI 2012, pp. 453–462. ACM (2012)Google Scholar
  4. 4.
    Consel, C., Danvy, O.: Partial evaluation of pattern matching in strings. Inf. Proc. Lett. 30(2), 79–86 (1989)CrossRefGoogle Scholar
  5. 5.
    Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction of approximations of fixed points. In: POPL 1977, pp. 238–252. ACM (1977)Google Scholar
  6. 6.
    Cousot, P., Cousot, R.: Systematic design of program transformation frameworks by abstract interpretation. In: POPL 2002, pp. 178–190. ACM (2002)Google Scholar
  7. 7.
    Cytron, R., Gershbein, R.: Efficient accomodation of may-alias information in SSA form. In: PLDI 1993, pp. 36–45. ACM (1993)Google Scholar
  8. 8.
    Damouche, N., Martel, M., Chapoutot, A.: Intra-procedural optimization of the numerical accuracy of programs. In: Núñez, M., Güdemann, M. (eds.) Formal Methods for Industrial Critical Systems. LNCS, vol. 9128, pp. 31–46. Springer, Heidelberg (2015) CrossRefGoogle Scholar
  9. 9.
    Damouche, N., Martel, M., Chapoutot, A.: Optimizing the accuracy of a rocket trajectory simulation by program transformation. In: Computing Frontiers, pp. 40:1–40:2. ACM (2015)Google Scholar
  10. 10.
    Golub, G.H., van Loan, C.F.: Matrix Computations, 3rd edn. Johns Hopkins University Press, Baltimore (1996) zbMATHGoogle Scholar
  11. 11.
    Goubault, E., Putot, S.: Static analysis of finite precision computations. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 232–247. Springer, Heidelberg (2011) CrossRefGoogle Scholar
  12. 12.
    Hankin, E.: Lambda Calculi A Guide For Computer Scientists. Clarendon Press, Oxford (1994)zbMATHGoogle Scholar
  13. 13.
    Hernandez, V., Roman, J.E., Tomas, A., Vidal, V.: Orthogonalization routine in SLEPc Technical Report STR-1. In: Polytechnic University of Valencia. STR1 (2007)Google Scholar
  14. 14.
    Hunt, S., Sands, D.: Binding time analysis: a new perspective. In: PEPM 1991, pp. 154–165 (1991)Google Scholar
  15. 15.
    Ioualalen, A., Martel, M.: A new abstract domain for the representation of mathematically equivalent expressions. In: Miné, A., Schmidt, D. (eds.) SAS 2012. LNCS, vol. 7460, pp. 75–93. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  16. 16.
    Jones, N.D., Gomard, C.K., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice Hall International, Englewood Cliffs (1993). ISBN 0-13-020249-5 zbMATHGoogle Scholar
  17. 17.
    Kendall, A.: An Introduction to Numerical Analysis. John Wiley & Sons, New York (1989)zbMATHGoogle Scholar
  18. 18.
    Langlois, Ph., Louvet, N.: How to ensure a faithful polynomial evaluation with the compensated horner algorithm. In: ARITH-18, pp. 141–149. IEEE Computer Society (2007)Google Scholar
  19. 19.
    Martel, M.: Semantics of roundoff error propagation in finite precision calculations. Higher-Order Symbolic Comput. 19(1), 7–30 (2006)CrossRefzbMATHGoogle Scholar
  20. 20.
    Martel, M.: Accurate evaluation of arithmetic expressions (invited talk). Electr. Notes Theor. Comput. Sci. 287, 3–16 (2012)CrossRefzbMATHGoogle Scholar
  21. 21.
    Mouilleron, C.: Efficient computation with structured matrices and arithmetic expressions. Ph.D. thesis, Université de Lyon-ENS de Lyon, November 2011Google Scholar
  22. 22.
    Muller, G., Volanschi, E.-N., Marlet, R.: Scaling up partial evaluation for optimizing the sun commercial RPC protocol. In: PEPM 1997, pp. 116–126. ACM (1997)Google Scholar
  23. 23.
    Muller, J.-M., Brisebarre, N., de Dinechin, F., Jeannerod, C.-P., Lefèvre, V., Melquiond, G., Revol, N., Stehlé, D., Torres, S.: Handbook of Floating-Point Arithmetic, Birkhäuser Boston (2010)Google Scholar
  24. 24.
    Tate, R., Stepp, M., Tatlock, Z., Lerner, S.: Equality saturation: a new approach to optimization. In: POPL 2009, pp. 264–276. ACM (2009)Google Scholar
  25. 25.
    Tate, R., Stepp, M., Tatlock, Z., Lerner, S.: Equality saturation: a new approach to optimization. Log. Meth. Comput. Sci. 7(1), 1–37 (2011)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.University of Perpignan Via DomitiaLAMPSFrance
  2. 2.ENSTA ParisTechPalaiseauFrance

Personalised recommendations