Towards Verified Compilation of Floating-point Optimization in Scientific Computing Programs
By: Mohit Tekriwal, John Sarracino
Potential Business Impact:
Proves computer math tricks are correct.
Scientific computing programs often undergo aggressive compiler optimization to achieve high performance and efficient resource utilization. While performance is critical, we also need to ensure that these optimizations are correct. In this paper, we focus on a specific class of optimizations, floating-point optimizations, notably due to fast math, at the LLVM IR level. We present a preliminary work, which leverages the Verified LLVM framework in the Rocq theorem prover, to prove the correctness of Fused-Multiply-Add (FMA) optimization for a basic block implementing the arithmetic expression $a * b + c$ . We then propose ways to extend this preliminary results by adding more program features and fast math floating-point optimizations.
Similar Papers
A Large-Scale Study of Floating-Point Usage in Statically Typed Languages
Programming Languages
Helps computers do math more accurately.
Formal that "Floats" High: Formal Verification of Floating Point Arithmetic
Logic in Computer Science
Makes computer math more accurate and reliable.
LLM-Based Program Generation for Triggering Numerical Inconsistencies Across Compilers
Software Engineering
Finds hidden computer math errors.