Verified Compilation and Optimization of Floating-Point Programs in CakeML
VCOOP 2022ECOOP 2022
Thu 23 Jun 2022 17:15 - 17:45 at Zoom - VCOOP 5 Chair(s): Philipp Haller
Verified compilers such as CompCert and CakeML have become increasingly realistic over the last few years, but their support for floating-point arithmetic has thus far been limited. In particular, they lack the “fast-math-style” optimizations that unverified mainstream compilers perform. Supporting such optimizations in the setting of verified compilers is challenging because these optimizations, for the most part, do not preserve the IEEE-754 floating-point semantics. However, IEEE-754 floating-point numbers are finite approximations of the real numbers, and we argue that any compiler correctness result for fast-math optimizations should appeal to a real-valued semantics rather than the rigid IEEE-754 floating-point numbers.
This paper presents RealCake, an extension of CakeML that achieves end-to-end correctness results for fast-math-style optimized compilation of floating-point arithmetic. This result is achieved by giving CakeML a flexible floating-point semantics and integrating an external proof-producing accuracy analysis. RealCake’s end-to-end theorems relate the I/O behavior of the original source program under real-number semantics to the observable I/O behavior of the compiler generated and fast-math-optimized machine code.
Wed 8 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
Thu 23 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:45 - 18:15
VCOOP 5Research Papers at Zoom
Chair(s): Philipp Haller KTH
|Vincent: Green Hot Methods in the JVMVCOOP 2022|
Kenan Liu SUNY Binghamton, Khaled Mahmoud SUNY Binghamton, USA, Joonhwan Yoo SUNY Binghamton, Yu David Liu SUNY BinghamtonPre-print
|Verified Compilation and Optimization of Floating-Point Programs in CakeMLVCOOP 2022ECOOP 2022|
Heiko Becker MPI-SWS, Robert Rabe TU Munich, Eva Darulova Uppsala University, Magnus O. Myreen Chalmers University of Technology, Zachary Tatlock University of Washington, Ramana Kumar DeepMind, Yong Kiam Tan Carnegie Mellon University, Anthony Fox Arm Limited
|Compiling Volatile Correctly in JavaVCOOP 2022|
Shuyang Liu UCLA, John Bender Sandia National Laboratories, Jens Palsberg University of California at Los Angeles