Article View: comp.os.os2.programmer
Article #959Re: 2.0 fails miserably in the PARANOIA program ( was: Division by 0 crashes OS2/2.0 )
From: Luc Bauwens
Date: Thu, 10 Sep 1992 22:12
Date: Thu, 10 Sep 1992 22:12
86 lines
4008 bytes
4008 bytes
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
Technical Details
Message-ID:
<92Sep10.221229.26167@acs.ucalgary.ca>Path:
arc1-ca.pugleaf.net!sparky!uunet!cs.utexas.edu!sun-barr!decwrl!access.usask.ca!kakwa.ucs.ualberta.ca!acs.ucalgary.ca!bauwensReferences:
<1992Sep9.225858.6523@tc.cornell.edu>Show Full Headers
Complete Article Headers
Newsgroups: comp.os.os2.programmer Path: arc1-ca.pugleaf.net!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