[Back to MISC SWAG index] [Back to Main SWAG index] [Original]
{
From: brownwm@aplcenmp.apl.jhu.edu (William G. S. Brown)
Here is a short Pentium test program that will uncover the FDIV
error. Note: Sometimes just setting X&Y then then printing
X-(X/Y)*Y will not show the error because the optimization is
smart enough to form the answer at compile time.
}
{$N+}
Program Pentium;
{ test a Pentium for FDIV error }
{ computes X-(X/Y)*Y which should be 0.000000}
{ Good Pentium should return 0.000000000E+0000}
{ Bad Pentium will return 2.560000000E+0002}
var
X,Y: double;
{ the procedure is to make sure optimization won't hide error }
procedure Test( A,B,C,D : double);
begin { Test }
writeln(A-(B/C)*D);
end; { Test }
begin { Pentium }
X := 4195835;
Y := 3145727;
Test(X, X, Y, Y); { same as X-(X/Y)*Y e.g. 0.0000}
end. { Pentium }
[Back to MISC SWAG index] [Back to Main SWAG index] [Original]