inria-00533968, version 1
Certifying the floating-point implementation of an elementary function using Gappa
Florent de Dinechin
a, 1, 2Christoph Lauter
3Guillaume Melquiond
4, 5
IEEE Transactions on Computers 60, 2 (2011) 242-253
Abstract: High confidence in floating-point programs requires proving numerical properties of final and intermediate values. One may need to guarantee that a value stays within some range, or that the error relative to some ideal value is well bounded. This certification may require a time-consuming proof for each line of code, and it is usually broken by the smallest change to the code, e.g. for maintenance or optimization purpose. Certifying floating-point programs by hand is therefore very tedious and error-prone. The Gappa proof assistant is designed to make this task both easier and more secure, thanks to the following novel features. It automates the evaluation and propagation of rounding errors using interval arithmetic. Its input format is very close to the actual code to validate. It can be used incrementally to prove complex mathematical properties pertaining to the code. It generates a formal proof of the results, which can be checked independently by a lower-level proof assistant like Coq. Yet it does not require any specific knowledge about automatic theorem proving, and thus is accessible to a wide community. This article demonstrates the practical use of this tool for a widely used class of floating-point programs: implementations of elementary functions in a mathematical library.
- a – Ecole Normale Supérieure de Lyon - ENS Lyon
- 1: ARENAIRE (Inria Grenoble Rhône-Alpes / LIP Laboratoire de l'Informatique du Parallélisme)
- INRIA – CNRS : UMR5668 – Université Claude Bernard - Lyon I – École Normale Supérieure - Lyon
- 2: Laboratoire de l'Informatique du Parallélisme (LIP)
- Université de Lyon – CNRS : UMR5668 – INRIA – École Normale Supérieure - Lyon – Université Claude Bernard - Lyon I
- 3: INTEL
- Intel
- 4: PROVAL (INRIA Saclay - Ile de France)
- INRIA – Université Paris XI - Paris Sud – CNRS : UMR
- 5: Laboratoire de Recherche en Informatique (LRI)
- CNRS : UMR8623 – Université Paris XI - Paris Sud
- Domain : Computer Science/Computer Arithmetic
- Keywords : correctness proofs – error analysis – elementary function approximation
- inria-00533968, version 1
- http://hal.inria.fr/inria-00533968
- oai:hal.inria.fr:inria-00533968
- From: Guillaume Melquiond
- Submitted on: Monday, 8 November 2010 15:35:24
- Updated on: Wednesday, 12 January 2011 18:36:29






Associated documents
Export