home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / os / os2 / programm / 4876 < prev    next >
Encoding:
Text File  |  1992-09-10  |  3.8 KB  |  101 lines

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