Gappa is a tool designed to formally verify the correctness of numerical software and hardware. It uses interval arithmetic and forward error analysis to bound mathematical expressions that involve rounded as well as exact operators. It then generates a theorem and its proof for each verified enclosure. This proof can be automatically checked with a proof… (More)
Motivation Floating-point arithmetic is efficient, but FP numbers have a limited range (→ exceptional behaviors), a limited precision (→ inaccurate results).
This paper presents a set of tools for mechanical reasoning of numerical bounds using interval arithmetic. The tools implement two techniques for reducing decorrelation: interval splitting and Taylor's series expansions. Although the tools are designed for the proof assistant system PVS, expertise on PVS is not required. The ultimate goal of the tools is to… (More)
Interval arithmetic is a basic tool for certified mathematical computations, it is presented in many references. We describe here the formal proposal to include interval arithmetic in the C++ standard library. Une arithmétique d'intervalles pour la bibliothèque standard de C++ Résumé : L'arithmétique d'intervalles est un outil fondamental pour les calculs… (More)
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… (More)
Several formalizations of floating-point arithmetic have been designed for the Coq system, a generic proof assistant. Their different purposes have favored some specific applications: program verification, high-level properties, automation. Based on our experience using and/or developing these libraries, we have built a new system that is meant to encompass… (More)
We present the design of the Boost interval arithmetic library, a C++ library designed to efficiently handle mathematical intervals in a generic way. Interval computations are an essential tool for reliable computing. Increasingly a number of mathematical proofs have relied on global optimization problems solved using branch-and-bound algorithms with… (More)
We formally prove correct a C program that implements a numerical scheme for the resolution of the one-dimensional acoustic wave equation. Such an implementation introduces errors at several levels: the numerical scheme introduces method errors, and floating-point computations lead to round-off errors. We annotate this C program to specify both method error… (More)
This report describes and proves version 0.8beta4 of the crlibm library. It may therefore not correspond to the latest version. An up-to-date version will always be distributed along with the code.