Assisted verification of elementary functions

Florent de Dinechin 1 Christoph Lauter Guillaume Melquiond
1 ARENAIRE - Computer arithmetic
Inria Grenoble - Rhône-Alpes, LIP - Laboratoire de l'Informatique du Parallélisme
Abstract : The implementation of a correctly rounded or interval elementary function needs to be proven carefully in the very last details. The proof requires a tight bound on the overall error of the implementation with respect to the mathematical function. Such work is function specific, concerns tens of lines of code for each function, and will usually be broken by the smallest change to the code (e.g. for maintenance or optimization purpose). Therefore, it is very tedious and error-prone if done by hand. This article discusses the use of the Gappa proof assistant in this context. Gappa has two main advantages over previous approaches: Its input format is very close to the actual C code to validate, and it automates error evaluation and propagation using interval arithmetic. Besides, it can be used to incrementally prove complex mathematical properties pertaining to the C code. Yet it does not require any specific knowledge about automatic theorem proving, and thus is accessible to a wider community. Moreover, Gappa may generate a formal proof of the results that can be checked independently by a lower-level proof assistant like Coq, hence providing an even higher confidence in the certification of the numerical code.
Document type :
Reports
Complete list of metadatas

Cited literature [26 references]  Display  Hide  Download

https://hal.inria.fr/inria-00070330
Contributor : Rapport de Recherche Inria <>
Submitted on : Friday, May 19, 2006 - 8:08:28 PM
Last modification on : Thursday, February 7, 2019 - 4:33:26 PM
Long-term archiving on : Sunday, April 4, 2010 - 8:57:43 PM

Identifiers

  • HAL Id : inria-00070330, version 1

Collections

Citation

Florent de Dinechin, Christoph Lauter, Guillaume Melquiond. Assisted verification of elementary functions. RR-5683, INRIA. 2005, pp.17. ⟨inria-00070330⟩

Share

Metrics

Record views

169

Files downloads

175