IEEE 754 Floating Point Errors
The IEEE 754 floating point specification has some pointy corners that should be well understood before applying it to any mission or life-critical software or systems.
Summary
- Floating Point Math
- What Every Computer Scientist Should Know About Floating-Point Arithmetic (original article (pdf))
- The IEEE 754 Format
- IEEE SA - IEEE 754-2019 (paywalled)
- Why I find IEEE 754 frustrating | Hummus and Magnets
- 0x5f3759df | Hummus and Magnets
Disasters Caused by Floating Point Round-off
- Integer Overflow/Underflow and Floating Point Imprecision. | by Jolly Fish | Medium
- Disasters due to rounding error
- Embarrassments due to rounding error
Patriot Missile System
- The Patriot Missile Failure
- Patriot Missile Defense: Software Problem Led to System Failure at Dhahran, Saudi Arabia | U.S. GAO
- IMTEC-92-26 Patriot Missile Defense: Software Problem Led to System Failure at Dhahran, Saudi Arabia - imtec-92-26.pdf (pdf)
- Roundoff Error and the Patriot Missile - Patriot-dharan-skeel-siam.pdf (pdf)
- MIPS floating-point arithmetic - 10-MIPS-floating-point-arithmetic.pdf (pdf)
- An Improvement To Floating Point Numbers | Hackaday
- The Patriot Missile Failure
Ariane 5 Rocket
Mathematics and Computer Science
- [Math] IEEE 754 round-off errors
- [Math] IEEE 754 round-off errors
- precision - A problem about IEEE 754 floating point operation - Stack Overflow
- IEEE.dvi - pdfmPSi1DgZZf.pdf
- I don’t understand all the crap that IEEE 754 gets. I appreciate that it may be … | Hacker News
- Excel, data loss, IEEE754, and precision | endjin
- Exploring IEEE 754 Arithmetic | Mairi’s Blog
- Troubles with IEEE 754 floating point numbers - C / C++
- 15. Floating Point Arithmetic: Issues and Limitations — Python 3.10.6 documentation
- IEEE Standard 754 Floating Point Numbers - GeeksforGeeks
- [1903.06119] Correct Approximation of IEEE 754 Floating-Point Arithmetic for Program Verification
Videos
Interactive Demonstrations
Alternatives and Fixes
- Unum (number format) - Wikipedia
- olson-sean-k/decorum: Making floating-point behave.
- core-math: provide on-the-shelf open-source mathematical functions with correct rounding that can be integrated into current mathematical libraries
- mbitsnbites/leanfloat: A simplified version of the IEEE 754 binary floating-point standard