pith. sign in

arxiv: 0801.0523 · v1 · submitted 2008-01-03 · 💻 cs.NA · cs.MS

Certifying floating-point implementations using Gappa

classification 💻 cs.NA cs.MS
keywords codegappaproofarticleassistantcertifyingconfidenceerror
0
0 comments X
read the original 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. Such work may require several lines of proof for each line of code, and will usually be broken by the smallest change to the code (e.g. for maintenance or optimization purpose). Certifying these programs by hand is therefore very tedious and error-prone. 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 wide 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. The article demonstrates the use of this tool on a real-size example, an elementary function with correctly rounded output.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Forward citations

Cited by 2 Pith papers

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score.

  1. LeanBET: Formally-verified surface area calculations in Lean

    cs.LO 2026-05 accept novelty 7.0 partial

    LeanBET supplies a fully executable, formally verified BET analysis pipeline in Lean 4 whose regression coefficients and window selections match their real-number specifications and agree with the BETSI reference to m...

  2. HELIX: Verified compilation of cyber-physical control systems to LLVM IR

    cs.PL 2026-03 unverdicted novelty 7.0 partial

    HELIX is an end-to-end verified code generator from mathematical formulations of cyber-physical systems to LLVM IR, using Coq, algebraic transformations, term rewriting, and sparse vector abstractions.