Premium
Automatic source‐to‐source error compensation of floating‐point programs: code synthesis to optimize accuracy and time
Author(s) -
Thévenoux Laurent,
Langlois Philippe,
Martel Matthieu
Publication year - 2016
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.3953
Subject(s) - computer science , floating point , compensation (psychology) , double precision floating point format , code (set theory) , computation , transformation (genetics) , implementation , source code , point (geometry) , algorithm , quality (philosophy) , computer engineering , arbitrary precision arithmetic , arithmetic , programming language , set (abstract data type) , mathematics , psychology , biochemistry , chemistry , philosophy , geometry , epistemology , psychoanalysis , gene
Summary Numerical programs with IEEE 754 floating‐point computations may suffer from inaccuracies because finite precision arithmetic is an approximation of real arithmetic. Solutions that reduce the loss of accuracy are available, such as compensated algorithms or double‐double precision floating‐point arithmetic. Our goal is to automatically improve the numerical quality of a numerical program with the smallest impact on its performance. We define and implement source code transformations in order to derive automatically compensated programs. We present several experimental results to compare the transformed programs and existing solutions. The transformed programs are as accurate and efficient as the implementations of compensated algorithms when the latter exist. Furthermore, we propose some transformation strategies allowing us to partially improve the accuracy of programs and to tune the impact on execution time. Trade‐offs between accuracy and performance are assured by code synthesis. Experimental results show that user‐defined trade‐offs are achievable in a reasonable amount of time, with the help of the tools we present in the paper. Copyright © 2016 John Wiley & Sons, Ltd.