Path: utzoo!attcan!uunet!mcvax!nikhefh!i91 From: i91@nikhefh.hep.nl (Fons Rademakers) Newsgroups: comp.sys.apollo Subject: Problem with FPX on 580-T (for oj@apollo) Message-ID: <494@nikhefh.hep.nl> Date: 26 Jul 88 19:00:47 GMT Reply-To: i91@nikhefh.hep.nl (Fons Rademakers) Organization: Nikhef-H, Amsterdam (the Netherlands). Lines: 114 This message is mainly intended for Oliver Jones @ Apollo. I mailed him directly this message but I never got any reply. Maybe something went wrong with the mail, who knows? Any comments form other qualified persons are also welcome. =========================== original message ==================== Hi Oliver, Thanks for your extensive reply concerning the Fpx problem. However... Concerning the original values I gave > PA(1) = 100.00001 > PA(2) = 100.00001 > PA(3) = 100.00001 > SAVXYZ = PA(1)*PA(2)*PA(3) I understand clearly that this is arithmetically extreme and can be subject to truncation when moving from register to memory. Making the numbers a little less extreme, to bring them within IEEE floating point precision (+/- 5.96e-8), still results in the same kind of problem. Take the following numbers: PA(1) = 10.1 or even 1.1 PA(2) = 10.1 PA(3) = 10.1 Now PA(1)*PA(2)*PA(3) = 1030.301, well within any limits. Still I get the following errors: *------------------------------ RESULTS ------------------------------- * [86] ftn aap -save -indexl -zero -dba * no errors, no warnings in AAP, Fortran version 9.66 1988/06/24 12:33:50 MET (Fri) * [87] aap.bin * 1 NOT OK * -0.307197500000000E-04 * 2 OK * [88] ftn aap -save -indexl -zero -dba -cpu fpx * no errors, no warnings in AAP, Fortran version 9.66 1988/06/24 12:33:50 MET (Fri) * [89] aap.bin * 1 NOT OK * -0.307197500000000E-04 * 2 OK * [90] ftn aap -save -indexl -zero -cpu fpx * no errors, no warnings in AAP, Fortran version 9.66 1988/06/24 12:33:50 MET (Fri) * [91] aap.bin * 1 OK * 2 NOT OK * -0.307197500000000E-04 * [92] ftn aap -save -indexl -zero * no errors, no warnings in AAP, Fortran version 9.66 1988/06/24 12:33:50 MET (Fri) * [93] aap.bin * 1 OK * 2 OK * [94] ftn aap -save -indexl -zero -dbs * no errors, no warnings in AAP, Fortran version 9.66 1988/06/24 12:33:50 MET (Fri) * [95] aap.bin * 1 OK * 2 OK *----------------------------------------------------------------------- This error pattern (depending on the compiler options) is exactly as it was in the extreme case. The error only changed from -0.211181500000000E-01 to -0.307197500000000E-04. To summarize, I think that there is still something wrong with the Fpx (although [93] and [95] behave correctly). In case you did not save the program I attach another copy here, so you can try it out yourself. Let me know what do you think of this. If there is a FPX problem, please, direct it to the people involved. Cheers, Fons Rademakers. *----------------------------------------------------- PROGRAM AAP REAL PA(3) PA(1) = 10.1 PA(2) = 10.1 PA(3) = 10.1 SAVXYZ = PA(1)*PA(2)*PA(3) IF (PA(1)*PA(2)*PA(3) .NE. SAVXYZ) THEN PRINT *, '1 NOT OK' PRINT 10000, PA(1)*PA(2)*PA(3) - SAVXYZ ELSE PRINT *, '1 OK' ENDIF SAVXY2 = PA(1)*PA(2)*PA(3) IF (SAVXY2 .NE. SAVXYZ) THEN PRINT *, '2 NOT OK' PRINT 10000, SAVXY2 - SAVXYZ ELSE PRINT *, '2 OK' ENDIF 10000 FORMAT(E40.15) END *------------------------------------------------------ -- Org: NIKHEF-H, National Institute for Nuclear and High-Energy Physics. Mail: Kruislaan 409, P.O. Box 41882, 1009 DB Amsterdam, the Netherlands Phone: (20)5925018 or 5925003 Telex: 10262 (hef nl) UUCP: i91@nikhefh.hep.nl BITNET: nikhefh!i91@mcvax.bitnet