How a Conversion Error Reached the Flight Controls
Ariane 5’s first test flight in 1996 was lost because a software routine made an unsafe conversion. It took a value stored as a 64-bit floating-point number—a format that can represent a wide range of values—and tried to put it into a 16-bit signed integer, which has a much narrower range. The value was too large to fit. Instead of safely handling that case, the software raised an exception and stopped running.
The value represented horizontal velocity, and Ariane 5’s trajectory produced a value the software had not encountered in its earlier use on Ariane 4. The routine was part of an inertial reference system: equipment that estimates a rocket’s motion and orientation so its control system can steer it.
Why the Backup Did Not Save the Rocket
Ariane 5 carried two versions of the inertial reference system for redundancy. But both ran the same software, so both encountered the same overflow and failed in quick succession. Redundancy can protect against an individual hardware failure; it cannot help much when two units share the same design flaw.
After the systems failed, the flight-control computer received diagnostic data from one of them and treated it as valid motion information. That sent incorrect commands to the rocket’s steering nozzles. The resulting abrupt course change broke the vehicle apart, and its self-destruct system then activated.
The Lesson Was in the Assumptions
The software had been carried over from Ariane 4, where the relevant value stayed within range. Reusing code was not inherently the problem: the failure came from relying on an assumption about that value without checking that it would still hold under Ariane 5’s flight conditions. A conversion that looked harmless in one rocket became a failure point in another.
The episode shows why safety-critical systems need more than backup hardware. They also need checks for out-of-range values, clear ways to distinguish diagnostic data from live measurements, and tests that reflect the conditions of the new system.





