Accurate Residues for Floating-Point Debugging
Yumeng He, Pavel Panchekha

TL;DR
This paper enhances floating-point residue computation accuracy in debuggers by refining error-free transformations and introducing residue override, significantly reducing false reports in scientific computing workloads.
Contribution
It improves the accuracy of residue calculations in floating-point debugging by dividing the process into two steps and introducing residue override for complex numerical issues.
Findings
Eliminates false reports on 10 out of 14 problematic benchmarks.
Reduces false reports on 25 out of 34 benchmarks with initial false reports.
Requires an average of 3.6 re-executions for residue override.
Abstract
Floating-point arithmetic is error-prone and unintuitive. Floating-point debuggers instrument programs to monitor floating-point arithmetic at run time and flag numerical issues. They estimate residues, i.e., the difference between actual floating-point and ideal real values, for every floating-point value in the program. Prior work explores various approaches for computing these residues accurately and efficiently. Unfortunately, the most efficient methods, based on "error-free transformations", have a high rate of false reports, while the most accurate methods, based on high-precision arithmetic, are very slow. This paper builds on error-free-transformations-based approaches and aims to improve their accuracy while preserving efficiency. To more accurately compute residues, this paper divides residue computation into two steps (rounding error computation and residue function…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
