Program transformation for numerical precision

  • Authors:
  • Matthieu Martel

  • Affiliations:
  • Université de Perpignan Via Domitia, Perpignan, France

  • Venue:
  • Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

This article introduces a new program transformation in order to enhance the numerical accuracy of floating-point computations. We consider that a program would return an exact result if the computations were carried out using real numbers. In practice, roundoff errors due to the finite representation of values arise during the execution. These errors are closely related to the way formulas are evaluated. Indeed, mathematically equivalent formulas, obtained using laws like associativity, distributivity, etc., may lead to very different numerical results in the computer arithmetic. We propose a semantics-based transformation in order to optimize the numerical accuracy of programs. This transformation is expressed in the abstract interpretation framework and it aims at rewriting pieces of numerical codes in order to obtain results closer to what the computer would output if it used the exact arithmetic.