Sound approximation of programs with elementary functions
From MaRDI portal
Publication:6154879
DOI10.1007/978-3-030-25543-5_11arXiv1811.10274MaRDI QIDQ6154879FDOQ6154879
Authors: Eva Darulova, Anastasia Volkova
Publication date: 16 February 2024
Published in: Computer Aided Verification (Search for Journal in Brave)
Abstract: Elementary function calls are a common feature in numerical programs. While their implementions in library functions are highly optimized, their computation is nonetheless very expensive compared to plain arithmetic. Full accuracy is, however, not always needed. Unlike arithmetic, where the performance difference between for example single and double precision floating-point arithmetic is relatively small, elementary function calls provide a much richer tradeoff space between accuracy and efficiency. Navigating this space is challenging. First, generating approximations of elementary function calls which are guaranteed to satisfy accuracy error bounds is highly nontrivial. Second, the performance of such approximations generally depends on several parameters which are unintuitive to choose manually, especially for non-experts. We present a fully automated approach and tool which approximates elementary function calls inside small programs while guaranteeing overall user provided error bounds. Our tool leverages existing techniques for roundoff error computation and approximation of individual elementary function calls, and provides automated selection of many parameters. Our experiments show that significant efficiency improvements are possible in exchange for reduced, but guaranteed, accuracy.
Full work available at URL: https://arxiv.org/abs/1811.10274
Roundoff error (65G50) Algorithms for approximation of functions (65D15) Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.) (68N30)
This page was built for publication: Sound approximation of programs with elementary functions
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q6154879)