A Verified Certificate Checker for Floating-Point Error Bounds
Being able to soundly estimate roundoff errors in floating-point computations is important for many applications in embedded systems and scientific computing. Due to the unintuitive nature of floating-point arithmetic, automated static analysis tools are highly valuable for this task. The results, however, are only as correct as the implementations of the static analysis tools. This paper presents a new modular framework for the analysis of finite-precision computations which computes sound roundoff error bounds fully automatically. The main focus of this paper are the correctness certificates generated by our framework. These can be checked independently by our checker functions, thus providing more confidence in the analysis results. We present implementations of certificate generation and checking for both Coq and HOL4 and evaluate it on a number of examples from the literature. The experiments use both in-logic evaluation of Coq and HOL4, and execution of extracted code outside of the logics: we benchmark Coq extracted unverified OCaml code and a CakeML-generated verified binary.
READ FULL TEXT