Elevating Precision in C++ - A Journey Below the Surface of Floating-Point
summary
Deep dive into IEEE754 bits, recent C++ types and a working double-double (Decker double) implementation that actually reduces rounding error by orders of magnitude on the 1e6-add test, at the cost of ~5–6x slowdown in QuickBench. Code uses bit_cast split/multiply helpers, Compiler Explorer/Godbolt and QuickBench for measurement, shows long double on MSVC equals double, and demonstrates C++23 float16/float128/bf16 literals and practical printing/formatting problems still unresolved.
AI-written summary · about
chapters (8)
- 0:00Floating-point precision intro
- 8:54How floats work
- 17:00Modern C++ float types
- 21:42Decker doubles
- 27:33Decker double arithmetic
- 35:34Multiplication and helpers
- 43:24Demo and performance
- 49:10Q&A
related talks
48mDemystifying Floating Point
01h 00m“CNL: A Compositional Numeric Library”
51mPaths to New Numeric Types On the Java Platform
54mMonadic Operations in Modern C++: A Practical Approach
35mSecure Numerical Computing is Hard: Lessons from 10 Years of Open Data Science & the Long Road Ahead
17mFloating-Point TVPI Abstract Domain
55mPaths to Support Additional Numeric Types on the Java Platform
26mExploring HiFloat8: A Tapered Format Complementing the FP8 Ecosystem for Robust Model T...
