• Corpus ID: 294781

Certifying floating-point implementations using Gappa

@article{Dinechin2008CertifyingFI,
  title={Certifying floating-point implementations using Gappa},
  author={Florent de Dinechin and Christoph Quirin Lauter and Guillaume Melquiond},
  journal={ArXiv},
  year={2008},
  volume={abs/0801.0523}
}
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… 
Automatic source‐to‐source error compensation of floating‐point programs: code synthesis to optimize accuracy and time
TLDR
The goal is to automatically improve the numerical quality of a numerical program with the smallest impact on its performance by defining and implementing source code transformations in order to derive automatically compensated programs.
Automatic Source-to-Source Error Compensation of Floating-Point Programs
Numerical programs with IEEE 754 floating-point computations may suffer from inaccuracies since finite precision arithmetic is an approximation of real arithmetic. Solutions that reduce the loss of

References

SHOWING 1-10 OF 59 REFERENCES
Assisted verification of elementary functions
TLDR
The use of the Gappa proof assistant is discussed, which 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.
Generating formally certified bounds on values and round-off errors
TLDR
For the first time ever, a new tool is presented that can easily certify that simple numerical programs such as the ones usually found in real time applications do not overflow and that round-off errors are below acceptable thresholds.
A Certified Infinite Norm for the Implementation of Elementary Functions
TLDR
This work presents a safe and self-validating algorithm for automatically upper- and lower-bounding infinite norms of error functions, based on enhanced interval arithmetic that can overcome high cancellation and high condition number around points where the error function is defined only by continuous extension.
Floating Point Verification in HOL Light: The Exponential Function
  • J. Harrison
  • Computer Science
    Formal Methods Syst. Des.
  • 2000
TLDR
A machine-checked verification of an algorithm for computing the exponential function in IEEE-754 standard binary floating point arithmetic, developed logically from first principles using the HOL Light prover, which guarantees strict adherence to simple rules of inference while allowing the user to perform proofs using higher-level derived rules.
Floating-point computation
(a) Write a function in a programming language of your choice that takes a (32-bit IEEE format) float and returns a float with the property that: given zero, infinity or a positive normalised
Software techniques for perfect elementary functions in floating-point interval arithmetic
A few recent processors allow very efficient double-precision floating point interval arithmetic for the basic operations. In comparison, the elementary functions available in current interval
Formal certification of arithmetic filters for geometric predicates
TLDR
This paper studies a floating-point implementation of a filter for the orientation-2 predicate, and how a formal and partially automatized verification of this algorithm avoided many pitfalls.
Towards the post-ultimate libm
TLDR
It is shown that, with current processor technology, this worst-case overhead can be kept within a factor of 2 to 10 of current best libms, which has very positive consequences on the techniques for implementing and proving correctly rounded functions, which are studied.
CR-LIBM A library of correctly rounded elementary functions in double-precision
TLDR
The crlibm project aims at developing a portable, proven, correctly rounded, and efficient mathematical library (libm) for double precision that provides the four rounding modes: To nearest, to +∞, to −∞ and to zero.
Formal Verification of Square Root Algorithms
  • J. Harrison
  • Computer Science
    Formal Methods Syst. Des.
  • 2003
TLDR
The formal verification of some low-level mathematical software for the Intel Itanium architecture is discussed, which helps to illustrate why some features of HOL Light, in particular programmability, make it especially suitable for these applications.
...
...