The Pentium Floating-Point Bug

In 1994, Intel Corporation released what was then its most powerful processor, the Pentium.
Unlike previous generations of its processors, it had a very fast floating-point unit. Intel’s
goal was to compete aggressively with the makers of higher-end processors for engineering
workstations. The Pentium was an immediate huge success.

In the summer of 1994, Dr. Thomas Nicely of Lynchburg College in Virginia ran an
extensive set of computations to analyze the sums of reciprocals of certain sequences of
prime numbers. The results were not always what his theory predicted, even after he took
the Pentium in Intel’s lineup. This should not have happened. The optimal roundoff behavior
of floating-point calculations has been standardized by the Institute for Electrical and Electronic Engineers (IEEE) and Intel claimed to adhere to the IEEE standard in both the
486 and the Pentium processors. Upon further checking, Dr. Nicely discovered that indeed
there was a very small set of numbers for which the product of two numbers was computed
differently on the two processors. For example,

4,195,835 − ((4,195,835 3,145,727) × 3,145,727)

is mathematically equal to 0, and it did compute as 0 on a 486 processor. On his Pentium
processor the result was 256.
As it turned out, Intel had independently discovered the bug in its testing and had started
to produce chips that fixed it. The bug was caused by an error in a table that was used to
speed up the floating-point multiplication algorithm of the processor. Intel determined that

the problem was exceedingly rare. They claimed that under normal use, a typical consumer
would only notice the problem once every 27,000 years. Unfortunately for Intel, Dr. Nicely
had not been a normal user.


Now Intel had a real problem on its hands. It figured that the cost of replacing all Pentium
processors that it had already sold would cost a great deal of money. Intel already had
more orders for the chip than it could produce, and it would be particularly galling to have
to give out the scarce chips as free replacements instead of selling them. Intel’s management
decided to punt on the issue and initially offered to replace the processors only for those
customers who could prove that their work required absolute precision in mathematical calculations.
Naturally, that did not go over well with the hundreds of thousands of customers
who had paid retail prices of $700 and more for a Pentium chip and did not want to live with
the nagging feeling that perhaps, one day, their income tax program would produce a faulty
return.

Ultimately, Intel caved in to public demand and replaced all defective chips, at a cost of
about 475 million dollars.
What do you think? Intel claims that the probability of the bug occurring in any calculation
is extremely small—smaller than many chances we take every day, such as driving to
work in an automobile. Indeed, many users had used their Pentium computer for many
months without reporting any ill effects, and the computations that Professor Nicely was
doing are hardly examples of typical user needs. As a result of its public relations blunder,
Intel ended up paying a large amount of money. Undoubtedly, some of that money was
added to chip prices and thus actually paid by Intel’s customers. Also, a large number of processors,
whose manufacture consumed energy and caused some environmental impact, were
destroyed without benefiting anyone. Could Intel have been justified in wanting to replace
only the processors of those users who could reasonably be expected to suffer an impact
from the problem?

Suppose that, instead of stonewalling, Intel had offered you the choice of a free replacement
processor or a $200 rebate. What would you have done? Would you have replaced
your faulty chip, or would you have taken your chances and pocketed the money?

This entry was posted in . Bookmark the permalink.

Leave a reply