A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2022; you can also visit the original URL.
The file type is application/pdf
.
Filters
Some Formal Tools for Computer Arithmetic: Flocq and Gappa
2021
2021 IEEE 28th Symposium on Computer Arithmetic (ARITH)
Flocq is a library of mathematical definitions and theorems for the Coq proof assistant; Gappa is meant to compute bounds of values and errors, while producing the corresponding formal proof. ...
We describe here these tools, how they interact and how they fit in a larger verification process. ...
ACKNOWLEDGMENTS This project has received funding from the European Commission under the Horizon 2020 research and innovation programme Grant agreement N°810367. ...
doi:10.1109/arith51176.2021.00031
fatcat:ibiw7molinc37ebxd4whml44pe
Flocq: A Unified Library for Proving Floating-Point Algorithms in Coq
2011
2011 IEEE 20th Symposium on Computer Arithmetic
Several formalizations of floating-point arithmetic have been designed for the Coq system, a generic proof assistant. ...
It offers a multi-radix and multi-precision formalization for various floating-and fixed-point formats. ...
Gappa Two of the motivations for the Flocq library were: avoiding proof duplication between formalisms for Coq and allowing automation within a high-level formalism. ...
doi:10.1109/arith.2011.40
dblp:conf/arith/BoldoM10
fatcat:3agizdb5qvfzfovccorca6be5e
How to Compute the Area of a Triangle: A Formal Revisit
2013
2013 IEEE 21st Symposium on Computer Arithmetic
This article presents a formal proof of this algorithm, an improvement of its error bound and new investigations in case of underflow. ...
This is the case for the computation of the area of a triangle. When the triangle is needle-like, the common formula has a very poor accuracy. ...
Flocq is a formalization in Coq that offers a multi-radix and multi-precision formalization for various floating-and fixed-point formats (including FP with or without gradual underflow) with a comprehensive ...
doi:10.1109/arith.2013.29
dblp:conf/arith/Boldo13
fatcat:77lr732lvfanvbnflik25tfdzu
Formally verified 32- and 64-bit integer division using double-precision floating-point arithmetic
[article]
2022
arXiv
pre-print
This hinders compiler optimizations and results in non-constant time computation, which is a problem in some applications. ...
We fully proved the correctness of our algorithm, which mixes floating-point and fixed-bitwidth integer computations, using the Coq proof assistant and successfully integrated it into the CompCert formally ...
Acknowledgments We wish to thank Cyril Six for help in running experiments on actual KV3 processors. ...
arXiv:2207.08420v1
fatcat:7phbzwxucjdedkblynmqtbvkia
Computer-Assisted Verification of Four Interval Arithmetic Operators
[article]
2020
arXiv
pre-print
Interval arithmetic libraries provide the four elementary arithmetic operators for operand intervals bounded by floating-point numbers. ...
For this purpose, we utilize the Why3 platform equipped with a specification language for annotated programs and back-end theorem provers. ...
Acknowledgements This work was partially funded by JSPS (KAKENHI J180000175 and J180000528). ...
arXiv:2003.10623v1
fatcat:afa45xxlmrf5nnxquowzezclnq
A unified Coq framework for verifying C programs with floating-point computations
2016
Proceedings of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs - CPP 2016
the formal semantics of CompCert Clight and the Flocq formal specification of IEEE 754 floating-point arithmetic for the verification of properties of floating-point computations in C programs. ...
rounding errors and energy-efficient approximations of square root and sine. ...
Acknowledgments We thank Xavier Leroy and Jacques-Henri Jourdan for our insightful discussions, and our anonymous reviewers for their many valuable comments and questions. ...
doi:10.1145/2854065.2854066
dblp:conf/cpp/RamananandroMML16
fatcat:3p5fjcmis5bqvnjy4mdusjr7mu
A Three-Tier Strategy for Reasoning About Floating-Point Numbers in SMT
[chapter]
2017
Lecture Notes in Computer Science
The SMT-LIB standard defines a formal semantics for a theory of floating-point (FP) arithmetic (FPA). ...
This formalization reduces FP operations to reals by means of a rounding operator, as done in the IEEE-754 standard. ...
For now, we follow the examples of the Gappa tool [8] and of the Flocq library [3] , so we assume that the target format has an unbounded e max . ...
doi:10.1007/978-3-319-63390-9_22
fatcat:tewo6v5crfcxpg32fcsydpb7ve
A Verified Certificate Checker for Finite-Precision Error Bounds in Coq and HOL4
[article]
2018
arXiv
pre-print
Being able to soundly estimate roundoff errors of finite-precision computations is important for many applications in embedded systems and scientific computing. ...
This paper presents a formally verified and modular tool which fully automatically checks the correctness of finite-precision roundoff error bounds encoded in a certificate. ...
Gappa has some support for fixed-points, but FloVer is the only tool with formalized affine arithmetic. ...
arXiv:1707.02115v2
fatcat:2c2jwcvlpfcsvnu4ncod2wuqdm
Automating the Verification of Floating-Point Programs
[chapter]
2017
Lecture Notes in Computer Science
We use abstract interpretation to compute numerical bounds of expressions, and we use multiple automated provers, relying on different strategies for representing floating-point computations. ...
One of these strategies is based on the native support for floating-point arithmetic recently added in the SMT-LIB standard. ...
In 2007, Boldo and Filliâtre proposed an approach for proving properties related to FP computations in concrete C, using the Caduceus tool and Coq for the proofs [5] . ...
doi:10.1007/978-3-319-72308-2_7
fatcat:pj5a5gredzeu7ezxshgnrrjowe
Formal Verification of Programs Computing the Floating-Point Average
[chapter]
2015
Lecture Notes in Computer Science
We also present and formally prove a new algorithm that computes the correct rounding of the average of two floating-point numbers. ...
The most well-known feature of floating-point arithmetic is the limited precision, which creates round-off errors and inaccuracies. ...
Zimmermann and V.Lefèvre for constructive discussions that turned E i + 2p + 2 into E i + 2p + 1 in Theorem 2. ...
doi:10.1007/978-3-319-25423-4_2
fatcat:gfzwbbhfr5fphl3omhtyitr2py
Trusting Computations: a Mechanized Proof from Partial Differential Equations to Actual Program
[article]
2014
arXiv
pre-print
Indeed, we had to extend existing methods and tools for proving the correct behavior of programs to verify an existing numerical analysis program. ...
Scientific computing programs make no exception in that respect, and even bring specific accuracy issues due to their massive use of floating-point computations. ...
We are also thankful to Vincent Martin for his constructive remarks on this article. Last, we feel indebted to the reviewers for their invaluable suggestions. ...
arXiv:1212.6641v3
fatcat:h25wy4wfr5fm3orhck5qzsyjdu
Trusting computations: A mechanized proof from partial differential equations to actual program
2014
Computers and Mathematics with Applications
Indeed, we had to extend existing methods and tools for proving the correct behavior of programs to verify an existing numerical analysis program. ...
Scientific computing programs make no exception in that respect, and even bring specific accuracy issues due to their massive use of floating-point computations. ...
We are also thankful to Vincent Martin for his constructive remarks on this article. Last, we feel indebted to the reviewers for their invaluable suggestions. ...
doi:10.1016/j.camwa.2014.06.004
fatcat:5ahg2ixh3naolpl4pdm5u5fac4
Icing: Supporting Fast-Math Style Optimizations in a Verified Compiler
[chapter]
2019
Lecture Notes in Computer Science
Developers often selectively use these optimizations in mainstream compilers like GCC and LLVM to improve the performance of computations over noisy inputs or for heuristics by allowing the compiler to ...
We designed, formalized, implemented, and verified a compiler for Icing, a new language which supports selectively applying fast-math style optimizations in a verified compiler. ...
CompCert [25] uses a constructive formalization of IEEE 754 arithmetic [6] based on Flocq [7] which allows for verified constant propagation and strength reduction optimizations for divisions by ...
doi:10.1007/978-3-030-25543-5_10
fatcat:otzctb6m6vbrroxrjtjcl47ksa
C floating-point proofs layered with VST and Flocq
2020
We demonstrate tools and methods for proofs about the correctness and numerical accuracy of C programs. ...
The tools are foundational, in that they are connected to formal semantic specifications of the C operational semantics and of the IEEE 754 floating-point format. ...
ACKNOWLEDGMENTS We thank Michael Soegtrop for assistance in configuring CompCert, Flocq, and VST. We thank Laurence Rideau and Guillaume Melquiond for their help in navigating the Flocq library. ...
doi:10.6092/issn.1972-5787/11442
fatcat:k5725swv5fddtmi6hggmomhz44
Formal Proofs of Rounding Error Bounds
2015
Journal of automated reasoning
Floating-point arithmetic is a very efficient solution to perform computations in the real field. ...
Although numerical analysis gives tools to bound such differences, the proofs involved can be painful, hence error prone. ...
Acknowledgements The author wants to express its deepest thanks to Sylvie Boldo and Guillaume Melquiond as well as to Érik Martin-Dorel and Pierre-Marie Pédrot for their help regarding this work. ...
doi:10.1007/s10817-015-9339-z
fatcat:tprbattvmrabzf5tjwn2tx4fzy
« Previous
Showing results 1 — 15 out of 16 results