Specimen BG-010 Silicon Defects

The Pentium FDIV Bug

Tabula divisionis lacunosa

Five missing lookup-table entries; one wrong division in nine billion.

First Observed
1994
Habitat
Intel Pentium P5, first revisions
Reported By
Thomas Nicely, Lynchburg College
Consequence
$475M write-off; the modern era of public bug response begins.
Figure 1 BG-010
SRT LOOKUP TABLE · 2,048 ENTRIES5 entries omitted in the mask layoutEXAMPLE4 195 835.0 ÷ 3 145 727.0= 1.3338204 2 … (Pentium)= 1.3338204 5 … (correct)~1 in 9,000,000,000

In June 1994, Thomas Nicely, a mathematics professor at Lynchburg College in Virginia, was computing reciprocals of prime numbers as part of a research project on twin primes. He noticed that his results from a then-new Intel Pentium machine disagreed, in the seventh decimal place, with results from his older 486. He spent four months convinced he had made a programming mistake. He had not. The Pentium was wrong.

The Pentium's floating-point unit implemented division using the SRT algorithm, which generates two quotient bits per cycle by consulting a lookup table of partial-remainder estimates. The table had 2,048 entries. Intel's silicon designers had specified the entries correctly, but the script that copied the table from specification to physical mask layout omitted five entries. The omission produced no errors during Intel's verification testing because the verification suite exercised only a small fraction of the table. The five missing entries corresponded to a tiny region of input space.

For most pairs of floating-point inputs, the SRT algorithm did not need the missing table entries and division worked correctly. For specific pairs whose intermediate partial remainders hit one of the five missing rows, the algorithm read zero where it should have read a quotient estimate, and the result was wrong by up to roughly 0.0061% in the low-order bits. About one division in nine billion was affected. The errors were small enough to be invisible in graphics, financial calculations, and most engineering work. They were visible in number-theoretic research where seven or eight decimal places mattered.

Intel discovered the bug internally in May 1994, before Nicely's independent discovery, and silently corrected the mask in subsequent steppings. They did not announce the bug. When Nicely reported it publicly in late October, Intel's initial position was that the defect affected so few users that a recall was unnecessary. They offered replacements only to users who could "prove" they were doing math that needed the missing precision. Engineers were asked to defend their own work to the manufacturer's satisfaction.

The response did not go well. The story was picked up by the trade press, then by mainstream newspapers, then by late-night television. Saturday Night Live ran a sketch about "the Pentium chip with the slightly defective math co-processor." On December 20, IBM announced it was halting shipments of Pentium-based PCs. The next day, Intel reversed course and offered no-questions-asked replacements to anyone who asked. The recall cost Intel $475 million, the largest of its kind in semiconductor history at the time.

The Pentium FDIV bug is studied today not for its arithmetic (the omission is straightforward), but for the public-relations doctrine it produced. Intel's modern bug response, including the choreography of Spectre, Meltdown, and every subsequent silicon vulnerability, is downstream of the lesson learned in December 1994: you do not get to decide which customers had a right to be precise. The customers decide. If you make them argue, you have already lost the second round.

Compiled and illustrated by Mario A. Ruiz © 2026 Mario A. Ruiz · CC BY-NC 4.0