It appears a bug is in the FPU of many Pentium processors. The Pentium FPU returns erroneous values for certain division operations. For example, an error is obtained by calculating 1/(1/x) for values in the range 824633702418
<
= x
<
= 824633702449 and throughout any interval obtained by multiplying or dividing the above interval by an integer power of 2. Other intervals also produce division errors. These errors can be verified in compiled code, an ordinary spreadseet, or even the Windows calculator in scientific mode.
We observed the bug on all the Pentiums we tested, including a Dell P90, a Gateway P90, a Micron P60, an Insight P60, and a Packard-Bell P60. It has not been observed on any 486 or earlier system. I am interested in hearing of test results from other Pentiums, from 486-DX4s, and from the AMD, Cyrix, and NexGen clones of the Pentium.
Dr. Thomas R. Nicely
Professor of Mathematics
Lynchburg College, VA
We tested Dr. Nicely's claims on various Pentium machines, and the error is as described. We contacted Intel, and John Thompson, an Intel spokesperson, confirmed our findings. However, the error is confined to the lowest bits of the mantissa (usually the lower 9 or 10 bits), so it is unlikely that anyone would encounter it. Thompson said that Intel's statistical analysis of the bug indicated the problem would occur once every 9 to 10 billion operand pairs (an operand pair being an expression such as a+b, ab, and ab). Corrected Pentium processors are already in the manufacturing pipeline. Finally, Thompson said that readers should contact Intel if their particular applications run afoul of the bug and that Intel will "work with them to solve the problem." --Rick Grehan
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it
is
theoretical--and no language better exemplifies this than C++.
BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin,
and dozens of other CMP publications—bringing
you critical news and information about wireless communication,
computer security, software development, embedded systems,
and more!