A New Abstract Domain for the Representation of Mathematically Equivalent Expressions
Exact computations being in general not tractable for computers, they are approximated by floating-point computations. This is the source of many errors in numerical programs. Because the floating-point arithmetic is not intuitive, these errors are very difficult to detect and to correct by hand and we consider the problem of automatically synthesizing accurate formulas. We consider that a program would return an exact result if the computations were carried out using real numbers. In practice, roundoff errors arise during the execution and these errors are closely related to the way formulas are written. Our approach is based on abstract interpretation. We introduce Abstract Program Equivalence Graphs (APEGs) to represent in polynomial size an exponential number of mathematically equivalent expressions. The concretization of an APEG yields expressions of very different shapes and accuracies. Then, we extract optimized expressions from APEGs by searching the most accurate concrete expressions among the set of represented expressions.
KeywordsAbstract Interpretation Expansion Function Minus Operator Homogeneous Part Equivalent Expression
Unable to display preview. Download preview PDF.
- 1.ANSI/IEEE. IEEE Standard for Binary Floating-point Arithmetic, std 754-2008 edition (2008)Google Scholar
- 2.Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction of approximations of fixed points. In: POPL, pp. 238–252. ACM (1977)Google Scholar
- 3.Cousot, P., Cousot, R.: Systematic design of program transformation frameworks by abstract interpretation. In: POPL, pp. 178–190. ACM (2002)Google Scholar
- 8.Langlois, P., Martel, M., Thévenoux, L.: Accuracy Versus Time: A Case Study with Summation Algorithms. In: PASCO, pp. 121–130. ACM (2010)Google Scholar
- 12.Monniaux, D.: The pitfalls of verifying floating-point computations. ACM Transactions of Programming Language Systems (TOPLAS) 30(3), 12 (2008)Google Scholar
- 13.Mouilleron, C.: Efficient computation with structured matrices and arithmetic expressions. PhD thesis, Université de Lyon–ENS de Lyon (November 2011)Google Scholar
- 14.Muller, J.-M.: On the definition of ulp(x). Technical Report 5504, INRIA (2005)Google Scholar
- 17.Tate, R., Stepp, M., Tatlock, Z., Lerner, S.: Equality saturation: A new approach to optimization. In: POPL, pp. 264–276. ACM (2009)Google Scholar
- 18.Torbjorn Granlund and the GMP development team. The GNU Multiple Precision Arithmetic Library, 5.0.2 edn. (2011), http://gmplib.org