The Pentium FDIV bug - a Picture
Intel Pentium chips manufactured before a certain date have a bug in their floating
point processor which returns less than full precision results for some combinations
of divisor and dividend when performing a Floating point DIVision (FDIV). A well
known operation which exhibits this phenomenon is 4195835/3145727. You can check
to see if your Pentium has the FDIV bug by entering the following formula in the
Windows calculator:
(4195835 / 3145727) * 3145727 - 4195835
The image below is a 3d graph of the function x/y in the region of 4195835/3145727. Specifically, the region is:
4195833.0 <= x <= 4195836.4
3145725.7 <= y <= 3145728.4
On a 486/66, the function graphs as a monotonically increasing surface with the low point in the foreground corner (where x is low and y is high) and a high point in the background corner (where x is high and y is low). On a Pentium with the FDIV bug there are two triangular areas in the region where an incorrect result is returned. The correct values all would round to 1.3338 and the incorrect values all would round to 1.3337, an error in the 5th significant digit.
An archive of principal papers on the Pentium FDIV bug is available at: http://www.mathworks.com/company/pentium/index.shtml
A ZIP file containing the Microsoft Excel spreadsheet along with an Encapsulated Postscript copy of this graphic can be retrieved from: http://www.ipsr.ku.edu/stafffil/hoyle/pentium_fdiv/pentgrph.zip
Larry Hoyle (larryhoyle@ku.edu)
Public Research Institute
University of Kansas
Nov. 30, 1994