Table-driven implementation of the exponential function in IEEE floating-point arithmetic
ACM Transactions on Mathematical Software (TOMS)
Pracniques: further remarks on reducing truncation errors
Communications of the ACM
Computer-Aided Reasoning: An Approach
Computer-Aided Reasoning: An Approach
Accuracy and Stability of Numerical Algorithms
Accuracy and Stability of Numerical Algorithms
Using Reflection to Build Efficient and Certified Decision Procedures
TACS '97 Proceedings of the Third International Symposium on Theoretical Aspects of Computer Software
PVS: A Prototype Verification System
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
A Comparison of Three Rounding Algorithms for IEEE Floating-Point Multiplication
ARITH '99 Proceedings of the 14th IEEE Symposium on Computer Arithmetic
Guaranteed Proofs Using Interval Arithmetic
ARITH '05 Proceedings of the 17th IEEE Symposium on Computer Arithmetic
The design of the Boost interval arithmetic library
Theoretical Computer Science - Real numbers and computers
Assisted verification of elementary functions using Gappa
Proceedings of the 2006 ACM symposium on Applied computing
Formal Verification of Floating-Point Programs
ARITH '07 Proceedings of the 18th IEEE Symposium on Computer Arithmetic
Emulation of a FMA and Correctly Rounded Sums: Proved Algorithms Using Rounding to Odd
IEEE Transactions on Computers
Verified Real Number Calculations: A Library for Interval Arithmetic
IEEE Transactions on Computers
Techniques and tools for implementing IEEE 754 floating-point arithmetic on VLIW integer processors
Proceedings of the 4th International Workshop on Parallel and Symbolic Computation
LEMA: towards a language for reliable arithmetic
ACM Communications in Computer Algebra
Optimizing correctly-rounded reciprocal square roots for embedded VLIW cores
Asilomar'09 Proceedings of the 43rd Asilomar conference on Signals, systems and computers
Improved bound for stochastic formal correctness of numerical algorithms
Innovations in Systems and Software Engineering
Proofs of numerical programs when the compiler optimizes
Innovations in Systems and Software Engineering
Wave Equation Numerical Resolution: A Comprehensive Mechanized Proof of a C Program
Journal of Automated Reasoning
CADE'13 Proceedings of the 24th international conference on Automated Deduction
Hi-index | 0.00 |
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 assistant, such as Coq or HOL Light. It relies on a large companion library of facts that we have developed. This Coq library provides theorems dealing with addition, multiplication, division, and square root, for both fixed- and floating-point arithmetics. Gappa uses multiple-precision dyadic fractions for the endpoints of intervals and performs forward error analysis on rounded operators when necessary. When asked, Gappa reports the best bounds it is able to reach for a given expression in a given context. This feature can be used to identify where the set of facts and automatic techniques implemented in Gappa becomes insufficient. Gappa handles seamlessly additional properties expressed as interval properties or rewriting rules in order to establish more intricate bounds. Recent work showed that Gappa is suited to discharge proof obligations generated for small pieces of software. They may be produced by third-party tools and the first applications of Gappa use proof obligations written by designers or obtained from traces of execution.