home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.os2.programmer
- Path: sparky!uunet!cs.utexas.edu!sun-barr!decwrl!access.usask.ca!kakwa.ucs.ualberta.ca!acs.ucalgary.ca!bauwens
- From: bauwens@acs.ucalgary.ca (Luc Bauwens)
- Subject: Re: 2.0 fails miserably in the PARANOIA program ( was: Division by 0 crashes OS2/2.0 )
- Sender: news@acs.ucalgary.ca (USENET News System)
- Message-ID: <92Sep10.221229.26167@acs.ucalgary.ca>
- Date: Thu, 10 Sep 92 22:12:29 GMT
- References: <1992Sep9.225858.6523@tc.cornell.edu>
- Nntp-Posting-Host: acs5.acs.ucalgary.ca
- Organization: The University of Calgary, Alberta
- Lines: 88
-
- In article <1992Sep9.225858.6523@tc.cornell.edu> bai@msiadmin.cit.cornell.edu (Dov Bai-MSI Visitor) writes:
- >
- >I ran the DPARA program compiled with MS-FORTRAN 5.0 under MS-DOS,
- >OS/2 Vers 2.0 & 1.3. Under both MS-DOS & 1.3 the program ended with
- >1 "flaw" - which is quite good grade. Under 2.0 it crashed the system after
- >Milestone 90, which tests powers of z^i for small integers z, i.
- >What's worse is that it is impossible to restart the program, because
- >CHKDSK must be run and it does something to the log file which
- >prevents the program to restart from the previous abort.
- >
- >
- >So, it looks like the problem is not just with division by 0, but
- >other arithemtic as well.
- >
- >My machine is 386, with 387 Cyrix coprocessor.
-
- I tried the same thing on my 386 with IIT FPU.
-
- But first some background: on my machine, trying dividing
- 1. by 0., I get an answer 1., both in OS/2 2.0 and in DOS 5.0,
- with Watcom Fortran 386 9.0 and with MS Fortran 5.1.
-
- I suspected some hardware problem related to the IIT floating point unit,
- but I got second thoughts because even disabling the FPU (setting
- the environment variable NO87 = 1), under the Watcom compiler,
- the result remains unchanged.
-
- (BTW my Watcom compiler does *not* incorporate the last patches;
- I did request them and I'll try again when I get them.)
-
- Now about Paranoia:
-
- For MS Fortran 5.1, I get *exactly* the same behavior for an
- OS/2 16 bits executable run under OS/2 2.0, for a DOS executable
- under OS/2 2.00 and for the DOS executable under DOS 5.00. I
- don't have a machine with OS/2 1.3 handy, so I didn't try that.
-
- The first message from paranoia was about Radix: it says:
-
- Radix = ****
- Closest relative separation is 2.11758237E-22
- Recalculating radix and precision
- gets better closest separation is .54210E-19
- mystery: recalculated radix is .200000E+1
- FAILURE: (1-u1)-1/2 < 1/2 is false so this program may malfunction.
- ...
-
- SERIOUS DEFECT: disagreements among values of X!, Y!, Z1
- respectively .1084202E-18 .5421011E-19 .5421011E-19
- are symptoms of inconsistencies introduced by extra-precise
- evaluation of allegedly "optimized" arithmetic
- subexpressions. Possibly some part of this
- test is inconsistent; PLEASE NOTIFY KARPINSKI !
- ....
-
- Next, after milestone 30, I get 3 SERIOUS DEFECTS about lacking
- guard digits, and one FAILURE: multiplication gets too many last digits
- wrong.
-
- After Milestone 40, I get another FAILURE: incomplete carry-propagation
- in addition. Add/subtract appears to be chopped, and one FLAW.
-
- Then, after milestone 90, I get a DEFECT: .300000000E+01^(1)=.3000000E+01
- compares unequal to correct...
-
- I got another DEFECT after milestone 130.
-
- Finally, after milestone 160, it crashes with a -sqrt: domain error,
- preceded by another SERIOUS DEFECT and a FAILURE: comparisons
- are confused by overflow.
-
- At that point, I cannot restart the test.
-
- Under Watcom, (old, unpatched version), I get to after Milestone 130
- when it crashes (floating point overflow) when calculating
- x^((X+1)/(x-1)) as x -> 1, vs. exp(2).
-
- Without any defect of failure or flow before that. I'll try
- again after I get the patches.
-
- BTW, I also tried on an RS/6000, and I got one DEFECT, with and without
- optimization, and on an HP 9000/710, where I got no problem at all
- without optimization, and one defect and one failure with all
- optimizations on.
-
- Luc B
-
-
-