Intel and the Floating-Point Standard Case Study

Intel and the Floating-Point Standard Case Study

Most people today would never expect different answers to the same mathematical calculation performed on different microprocessors. But before 1985, it happened all the time. That is because there was no standard for floating-point numbers—the way computers handle real ...numbers.

IEEE Standard 754 for Binary Floating-Point Arithmetic changed all that by providing a set of specifications for computers to follow. Approved in 1985, this standard became vitally important nearly immediately—especially when one considers the type of things that happen when it is disregarded. According to Professor William Kahan, University of California at Berkeley, a classic case occurred in June 1996. A satellite lifting rocket named Ariane 5 turned cartwheels shortly after launch and scattered itself and a payload worth over half a billion dollars over a marsh in French Guiana. Kahan found the disaster could be blamed upon a programming language that disregarded the default exception handling specifications in IEEE 754. Upon launch, sensors reported acceleration so strong that it caused a conversion-to-integer overflow in software intended for recalibration of the rocket’s inertial guidance while on the launching pad.