<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Mon, 18 Feb 1985 13:08:00 PST
From   : Eldridge.es@XEROX.ARPA
Subject: Floating-point benchmark

The February issue of BYTE magazine contains an article on the accuracy
of floating-point operations.  Included in the article is a program to
display some of the features of the floating-point implementation of a
compiler.  The program is called GUARD.  It is actually an excerpt from
a larger program called PARANOIA.  Below is a list of the results of
GUARD for several popular compilers/interpreter.

Please refer to the BYTE article "PARANOIA: A FLOATING-POINT BENCHMARK"
for a complete explaination of the terms.  If anyone has the complete
PARANOIA program, I am interested in getting a copy.


~~~~~~~~~~

Turbo Pascal V2.00B PC-DOS
Turbo Pascal V2.00B MS-DOS
Turbo Pascal V1.00 CP/M-80 Z80

Radix = 2
Precision = 40
Width = 1.0995116278E+12
Closest relative separation found is UlpOne = 9.0949470177E-13
Add/Subtract lack guard digit, cancellation obscured.

~~~~~~~~~~

Pascal MT+86 Ver 3.0 March 8, 1982

Radix = 2
Precision = 53
Width = 9.00719925474099E15
Closest relative separation found is UlpOne = 1.11022302462515E-16
Add/Subtract has a guard digit as it should.

~~~~~~~~~~

Pascal MT+ V5.5 CP/M-80

Radix = 2
Precision = 24
Width = 1.67772E7
Closest relative separation found is UlpOne = 5.96046E-8
Add/Subtract lack guard digit, cancellation obscured.

~~~~~~~~~~

JRT Pascal Ver 3.0

Radix = 10
Precision = 14
Width = 1E14
Closest relative separation found is UlpOne = 1E-14
Add/Subtract lack guard digit, cancellation obscured.

~~~~~~~~~~

Pascal/Z Version 4.00

Radix = 2
Precision = 23
Width = 8.388607E6
Closest relative separation found is UlpOne = 1.192092E-7
Add/Subtract has a guard digit as it should.

~~~~~~~~~~

Microsoft BASIC Rev 5.2 CP/M-80

Radix = 2
Precision = 24
Width = 1.67772E7
Closest relative separation found is UlpOne = 5.96046E-8
Add/Subtract has a guard digit as it should.

~~~~~~~~~~

Microsoft BASCOM Rev 5.23 CP/M-80

Radix = 2
Precision = 24
Width = 1.67772E7
Closest relative separation found is UlpOne = 5.96046E-8
Add/Subtract has a guard digit as it should.

~~~~~~~~~~

CBASICII Rev 2.08

Radix = 10
Precision = 14
Width = 1E14
Closest relative separation found is UlpOne = 1E-14
Add/Subtract lack guard digit, cancellation obscured.

~~~~~~~~~~

HP-41CX (in calculator language)

Radix = 10
Precision = 10
Width = 1E10
Closest relative separation found is UlpOne = 1E-10
Add/Subtract has a guard digit as it should.

~~~~~~~~~~
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>