FWD: Pentium bug !! (THAT'S A PC...) (fwd)
- To: mathgroup at christensen.cybernetics.net
- Subject: [mg244] FWD: Pentium bug !! (THAT'S A PC...) (fwd)
- From: BOSS at PMEL.NOAA.GOV
- Date: Mon, 28 Nov 1994 10:50:43 -0700 (PDT)
From: IN%"csc at coast.UCSD.EDU" "Charles Coughran" 18-NOV-1994 08:30
To: IN%"oceantech at ucsd.edu"
CC:
Subj: Pentium bug !! (THAT'S A PC...) (fwd)
FYI Pentium floating point division bug.
-Charles Coughran
ccoughran at ucsd.edu
---------- Forwarded message ----------
> >
> > Subject: Pentium Floating Point Bug Date: 15 Nov 1994
> > Summary: Divisions might give incorrect results on Pentium
> >
> > Pentium Floating Point Division Bug
> >
> > There has been a flurry of activity the last fews days on the
> > Internet news group, comp.sys.intel, that should interest MATLAB
> > users. A serious design flaw has been discovered in the floating
> > point unit on Intel's Pentium chip. Double precision divisions
> > involving operands with certain bit patterns can produce incorrect
> > results.
> >
> > The most dramatic example seen so far can be extracted from a
> > posting last night by Tim Coe of Vitesse Semiconductor. In MATLAB,
> > his example becomes
> >
> > x = 4195835
> > y = 3145727
> > z = x - (x/y)*y
> >
> > With exact computation, z would be zero. In fact, we get zero on
> > most machines, including those using Intel 286, 386 and 486 chips.
> > Even with roundoff error, z should not be much larger than eps*x,
> > which is about 9.3e-10. But, on the Pentium,
> >
> > z = 256
> >
> > The relative error, z/x, is about 2^(-14) or 6.1e-5. The computed
> > quotient, x/y, is accurate to only 14 bits.
> >
> > An article in last week's edition of Electronic Engineering Times
> > credits Prof. Thomas Nicely, a mathematics professor at Lynchburg
> > College in Virginia, with the first public announcement of the
> > Pentium division bug. One of Nicely's examples involves
> >
> > p = 824633702441
> >
> > With exact computation
> >
> > q = 1 - (1/p)*p
> >
> > would be zero. With floating point computation, q should be on
> > the order of eps. On most machines, we find that
> >
> > q = eps/2 = 2^(-53) ~= 1.11e-16
> >
> > But on the Pentium
> >
> > q = 2^(-28) ~= 3.72e-09
> >
> > This is roughly single precision accuracy and is typical of the
> > most of the examples that had been posted before Coe's analysis.
> >
> > The bit patterns of the operands involved in these examples
> > are very special. The denominator in Coe's example is
> >
> > y = 3*2^20 - 1
> >
> > Nicely's research involves a theorem about sums of reciprocals
> > of prime numbers. His example involves a prime of the form
> >
> > p = 3*2^38 - 18391
> >
> > We're not sure yet how many operands cause the Pentium's floating
> > point division to fail, or even what operands produce the largest
> > relative error. It is certainly true that failures are very rare.
> > But, as far as we are concerned, the real difficulty is having to
> > worry about this at all. There are so many other things than can
> > go wrong with computer hardware, and software, that, at least, we
> > ought to be able to rely on the basic arithmetic.
> >
> > The bug is definitely in the Pentium chip. It occurs at all clock
> > rates. The bug does not affect other arithmetic operations, or the
> > built-in transcendental functions. Intel has recently made changes
> > to the on-chip Program Logic Array that fix the bug and is now
> > believed to be producing error free CPUs. It remains to be seen
> > how long it will take for these to reach users.
> >
> > An unnamed Intel spokesman is quoted in the EE Times article as
> > saying "If customers are concerned, they can call and we'll replace
> > any of the parts that contain the bug." But, at the MathWorks,
> > we have our own friends and contacts at Intel and we're unable
> > to confirm this policy. We'll let you know when we hear anything
> > more definite. In the meantime, the phone number for Customer
> > Service at Intel is 800-628-8686.
> >
> > -- Cleve Moler moler at mathworks.com
> > Chairman and Chief Scientist, The MathWorks, Inc.
> >
>
--
Steve
--------------------------------------------------------------------------------
I am in the field on the Outer Banks of North Carolina until 27 November.
From 28 Nov - 4 Dec I will be on the Dream Cruise in the Atlantic.
After the cruise I will go to AGU, and finally to Pullman about 8 Dec.
Steve Elgar FAX : (919) 261-4432
Army Research Pier ATT : (919) 261-1706
1261 Duck Road OMNET: s.elgar
Kitty Hawk, NC 27949 internet: elgar at eecs.wsu.edu
Return-path: <list-relay at UCSD.EDU>
Received: from csg.pmel.noaa.gov by ALPHA.PMEL.NOAA.GOV (PMDF V4.2-15 #4803) id
<01HJM9QGY7PS8Y5ECL at ALPHA.PMEL.NOAA.GOV>; Fri, 18 Nov 1994 08:29:59 PDT
Received: from DIRECTORY-DAEMON by CSG.PMEL.NOAA.GOV (PMDF V4.3-7 #4803) id
<01HJM9Q3FDTC002Q79 at CSG.PMEL.NOAA.GOV>; Fri, 18 Nov 1994 08:29:41 PDT
Received: from ucsd.edu by CSG.PMEL.NOAA.GOV (PMDF V4.3-7 #4803) id
<01HJM9PSJYDS002SYP at CSG.PMEL.NOAA.GOV>; Fri, 18 Nov 1994 08:29:27 PDT
Received: from coast by ucsd.edu; id IAA22081 sendmail 8.6.9/UCSD-2.2-sun via
SMTP Fri, 18 Nov 1994 08:25:14 -0800 for <oceantech at ucsd>
Received: by coast (4.1/UCSDGENERIC.3) id AA14381 to oceantech at ucsd; Fri,
18 Nov 94 08:29:34 PST
Date: Fri, 18 Nov 1994 08:29:33 -0800 (PST)
From: Charles Coughran <csc at coast.UCSD.EDU>
Subject: Pentium bug !! (THAT'S A PC...) (fwd)
To: oceantech at ucsd.edu
Message-id: <Pine.SUN.3.91.941118082641.14264B-100000 at coast>
MIME-version: 1.0
Content-type: TEXT/PLAIN; charset=US-ASCII
Content-transfer-encoding: 7BIT
X-Sender: csc at coast