Section: New Results

Floating-Point and Numerical Programs

  • The PhD thesis of T. Nguyen was defended in June [12] . It includes an improved version of the former approach  [102] that we proposed for proving floating-point programs while taking into account architecture- and compiler-dependent features, such as the use of the x87 stack in Intel micro-processors. The underlying tool analyzes the assembly code generated by the compiler. It also includes a preliminary and independent approach for proving floating-point programs involving bit-level operations.

  • C. Lelay, under the supervision of S. Boldo and G. Melquiond, has worked on easing proofs of differentiability and integrability in Coq. The use case was the existence of a solution to the wave equation thanks to D'Alembert's formula; the goal was to automate the process as much as possible [30] . While a major improvement with respect to Coq standard library, this first approach was not user-friendly enough for parametric intervals. So a different approach based on the pervasive use of total functions has been experimented with [22] .

  • S. Boldo, F. Clément, J.-C. Filliâtre, M. Mayero, G. Melquiond and P. Weis finished the formal proof of a numerical analysis program: the second order centered finite difference scheme for the one-dimensional acoustic wave [14] .

  • S. Boldo has developed a formal proof of an algorithm for computing the area of a triangle, an improvement of its error bound and new investigations in case of underflow  [60] .

  • S. Boldo, J.-H. Jourdan, X. Leroy, and G. Melquiond have extended CompCert to get the first formally verified compiler that provably preserves the semantics of floating-point programs  [63] .

  • G. Melquiond has kept improving the floating-point and interval theories used to perform proofs by computations in Coq [16] .