[comp.sys.3b1] Paranoia freaks under SVS Fortran!

jeffrey@notvax.ccny.cuny.edu (Jeffrey Bromberger) (03/02/91)

Before porting over a large graphic library, I decided to run the single
precision paranoia suite to see how well it handles floating point numbers.
I compiled the program by modifying the IN and OUT units to be 0 (as
opposed to the real-world's 5 and 6), and used 'fortran' with no other
options.  Well, here's what it found:

 The number of  SERIOUS DEFECTs  discovered =    1
 The number of  DEFECTs  discovered =            5
 The number of  FLAWs  discovered =              2
 The arithmetic diagnosed has unacceptable Serious Defects.
 End of Test.

I deleted a lot of the output, showing the flaws (14 pages worth of it).
Has anyone else tried to use paranoia to see how flakey it is?  I'm
going to try doing the double-precision fortran and the C versions and see
how they compare.  Keep your ears open!

BTW: If anyone out there is interested, I'm using V2.2 (from sometime
in 1984).  Anybody out there with LPIFortran want to try and run this for 
comparison?

j
-- 
Jeffrey L. Bromberger
System Operator---City College of New York---Science Computing Facility
jeffrey@sci.ccny.cuny.edu			jeffrey@ccnysci.BITNET
	Anywhere!{cmcl2,philabs,phri}!ccnysci!jeffrey

jeffrey@notvax.ccny.cuny.edu (Jeffrey Bromberger) (03/02/91)

In article <1991Mar1.194517.10627@notvax.ccny.cuny.edu>  I write:
[Failures in single precision PARANOIA]
> The number of  SERIOUS DEFECTs  discovered =    1
> The number of  DEFECTs  discovered =            5
> The number of  FLAWs  discovered =              2
> The arithmetic diagnosed has unacceptable Serious Defects.

Well, I did the double precision and C versions, and you wouldn't believe
the results:

[Double precision PARANOIA]
 The number of  DEFECTs  discovered =            4
 The number of  FLAWs  discovered =              2
 The arithmetic diagnosed may be Acceptable despite inconvenient Defects.


And from the C version:
The number of  FAILUREs  encountered =       1.
The number of  SERIOUS DEFECTs  discovered = 1.
The number of  DEFECTs  discovered =         3.
The number of  FLAWs  discovered =           2.
The arithmetic diagnosed has unacceptable Serious Defects.
Potentially fatal FAILURE may have spoiled this program's subsequent diagnoses.


I wonder just what's going on here.  I haven't done the double-precision
fix to notvax; I'll run this again on my home machine that has been
fixed.  All this might mean nothing, just that it's not correct to
have so much in the error department.  For those who use floating
point math, beware!

j
-- 
Jeffrey L. Bromberger
System Operator---City College of New York---Science Computing Facility
jeffrey@sci.ccny.cuny.edu			jeffrey@ccnysci.BITNET
	Anywhere!{cmcl2,philabs,phri}!ccnysci!jeffrey

pschmidt@athena.mit.edu (Peter H. Schmidt) (03/02/91)

In article <1991Mar1.203900.11034@notvax.ccny.cuny.edu> jeffrey@sci.ccny.cuny.edu (Jeffrey Bromberger) writes:
>> The arithmetic diagnosed has unacceptable Serious Defects.
>
I found this soon after I got my 3b1, since I tested Unix sysytems for a
living in a previous life.  But, there's good news and bad news. The bad
news is that there may not be much we can do about this.  Remember that
Paranoia hasn't been around on Unix machines for more than a couple years, and
vendor awareness of the importance of conforming to the IEEE floating point
spec (for Unix machines) only really struck with the advent of workstations.
The graphics involve mucho floating point, and the flaw in your roundoff
routines becomes real apparent when your X-windows "ico" starts to look more
like a crumpled paper towel (I actually had to use this as a demo to convince
one of our more recalcitrant developers ;-).  When the 3b1 was being worked
on, no one probably placed much importance on getting every nit-picking detail
of the float spec right...

The good news is that the flaws mentioned won't affect most of the work a 3b1
is best suited for.  After all, it isn't exactly a FLOPS power house.
It's too bad though.  Can anyone out there with experience in this area
provide any hope?

Regards -- Peter
--
Peter H. Schmidt	| ...mit-eddie!winter!pschmidt
3 Colonial Village, #10	| winter!pschmidt@mit-eddie.mit.edu
Arlington, MA  02174	| -- Speaking for myself.

thad@public.BTR.COM (Thaddeus P. Floryan) (03/02/91)

In article <1991Mar1.194517.10627@notvax.ccny.cuny.edu> jeffrey@sci.ccny.cuny.edu (Jeffrey Bromberger) writes:
>Before porting over a large graphic library, I decided to run the single
>precision paranoia suite to see how well it handles floating point numbers.
>[...]
>BTW: If anyone out there is interested, I'm using V2.2 (from sometime
>in 1984).  Anybody out there with LPIFortran want to try and run this for 
>comparison?

I tried the Feb 1989 "C" version with double precision and received
essentially the same results that Jeffrey laments.

I checked the results VERY carefully and didn't see anything to cause me
any concern, and I do ALL my financial stuff on the 3B1 (using all my
own programs).

I've tested a large number of other systems and, overall, the 3B1 is not
too bad.  Among the systems were several models of H-P/9000 systems (both
RISC (Spectrum) and 68030/68882), DEC VAX, DEC-20, Apple Mac with A/UX (68020/
68881), Convergent MightyFrame (68020/68881), Amiga (68020/68881) etc. and,
again, I have NO concerns using the 3B1 for financial calculations for my tax
reporting and other purposes.

Sheesh, some of the "serial defects" are of the form of one bit being
off in numbers like 1E+304, and divide by zero ... none of those conditions
are meaningful in MY financial world!  :-)

Thad Floryan [ thad@btr.com (OR) {decwrl, mips, fernwood}!btr!thad ]

jeffrey@sci.ccny.cuny.edu (Jeffrey L Bromberger) (03/03/91)

In article <1991Mar2.014748.23501@athena.mit.edu> pschmidt@athena.mit.edu (Peter H. Schmidt) writes:
>In article <1991Mar1.203900.11034@notvax.ccny.cuny.edu> jeffrey@sci.ccny.cuny.edu (Jeffrey Bromberger) writes:
>>> The arithmetic diagnosed has unacceptable Serious Defects.
>Paranoia hasn't been around on Unix machines for more than a couple years, and
>vendor awareness of the importance of conforming to the IEEE floating point
>spec (for Unix machines) only really struck with the advent of workstations.

Well, I don't know about that. Our old 11/780 (while it *is* much
bigger, but slower in CPU stuff) does this stuff reasonable well.
Some of our 68K based machines also do it well.  And they are from
before the 3b1.   After seeing those errors, I wonder how my old
VIC-20 would do with them!

>The graphics involve mucho floating point, and the flaw in your roundoff
>routines becomes real apparent when your X-windows "ico" starts to look more
>like a crumpled paper towel (I actually had to use this as a demo to convince
>one of our more recalcitrant developers ;-).

So much for porting over a generic graphics library - I cannot ever
hope to explain to my thesis committee why that nice smooth surface
resembles a crumpled paper towel :-)

>The good news is that the flaws mentioned won't affect most of the work a 3b1
>is best suited for.  After all, it isn't exactly a FLOPS power house.

Power house or not, there are folk trying to run SPICE on this thing.
That is what prompted Jim Adams (from U of Cincinnati) to fix the
floating point stuff.  BTW: even after fixing the libraries, nothing
improved.  Not a single thing.  How's that for a bummer!

Anybody out there good in writing math libraries? (asbestos donned)

j
-- 
Jeffrey L. Bromberger
System Operator---City College of New York---Science Computing Facility
jeffrey@sci.ccny.cuny.edu			jeffrey@ccnysci.BITNET
	Anywhere!{cmcl2,philabs,phri}!ccnysci!jeffrey

templon@copper.ucs.indiana.edu (jeffrey templon) (03/03/91)

In article <1991Mar3.013043.7243@sci.ccny.cuny.edu> jeffrey@sci.ccny.cuny.edu (Jeffrey L Bromberger) writes:

>floating point stuff.  BTW: even after fixing the libraries, nothing
>improved.  Not a single thing.  How's that for a bummer!
>
>Anybody out there good in writing math libraries? (asbestos donned)
>

That's kind of strange; why wouldn't things get better after fixing the
floating point libraries??  That must mean that they are not really
fixed.

	About the math libraries?  I have two suggestions - first is to
try the ARCHIE server and ask it about math libraries.  Second is to
post an article to sci.math.num-analysis and ask them.  Maybe someone
has written one that's portable (or easily convertible.)

					Jeff

templon@copper.ucs.indiana.edu (jeffrey templon) (03/04/91)

An article was just posted to comp.os.minix regarding a public domain
floating point library.  Here is the header.

Article 14895 in comp.os.minix:
From: cwr@pnet01.cts.com (Will Rose)
Subject: PC Minix Floating Point
Message-ID: <7807@crash.cts.com>
Date: 4 Mar 91 05:16:15 GMT
Sender: root@crash.cts.com
Organization: People-Net [pnet01], El Cajon CA
Lines: 168

Reference the recent request for Minix floating point code, Peter Housel's
fp code compiles under PC 1.5.10 with no problems that I can find - I used
the following Makefile:

Good Luck -- 

					Jeff

jeffrey@sci.ccny.cuny.edu (Jeffrey L Bromberger) (03/04/91)

In article <1991Mar3.154854.28924@bronze.ucs.indiana.edu> templon@copper.ucs.indiana.edu (jeffrey templon) writes:
>In article <1991Mar3.013043.7243@sci.ccny.cuny.edu> I wrote:
>>BTW: even after fixing the libraries, nothing
>>improved.  Not a single thing.  How's that for a bummer!
>
>That's kind of strange; why wouldn't things get better after fixing the
>floating point libraries??  That must mean that they are not really
>fixed.

Well, after looking carefully at the Paranoia program I have come to
the conclusion that the fix really has little to do with what this
program is testing.  That fix, if you remember, adjusted the max
values for double precision numbers.  This would have really no
effect on how well she rounds.  :-(

As for a duplicate library, that might not be such a bad idea.  I'll
look into it and see what I get.

j
-- 
Jeffrey L. Bromberger
System Operator---City College of New York---Science Computing Facility
jeffrey@sci.ccny.cuny.edu			jeffrey@ccnysci.BITNET
	Anywhere!{cmcl2,philabs,phri}!ccnysci!jeffrey