[MLton] Re: Hppa

Stephen Weeks MLton@mlton.org
Tue, 21 Dec 2004 00:12:47 -0800


> I've attached a log of the regression tests.
> I am a bit disturbed by how only half of the digits in 'real' agree.

I am also disturbed.  The problem is not trigonometric functions.  All
of the failures are on Real32.{+,-}.  As you mention -- the failures
are not just in the few lowest-order digits.  Here are the failures
(as computed on my x86) with the different result on HPPA underneath
each one.  Essentially there are only two failures, up to reordering
of arguments and sign changes.

- (0.11754943508222875E~37, 0.5877471754111438E~38) = 0.5877471754111438E~38
                                                   <> 0.5877470352812973E~38
+ (0.11754943508222875E~37, ~0.5877471754111438E~38) = 0.5877471754111438E~38
                                                    <> 0.5877470352812973E~38
- (0.5877471754111438E~38, 0.11754943508222875E~37) = ~0.5877471754111438E~38
                                                   <> ~0.5877470352812973E~38
+ (0.5877471754111438E~38, ~0.11754943508222875E~37) = ~0.5877471754111438E~38
                                                    <> ~0.5877470352812973E~38
+ (~0.11754943508222875E~37, 0.5877471754111438E~38) = ~0.5877471754111438E~38
                                                    <> ~0.5877470352812973E~38
- (~0.11754943508222875E~37, ~0.5877471754111438E~38) = ~0.5877471754111438E~38
                                                     <> ~0.5877470352812973E~38
+ (~0.5877471754111438E~38, 0.11754943508222875E~37) = 0.5877471754111438E~38
                                                    <> 0.5877470352812973E~38
- (~0.5877471754111438E~38, ~0.11754943508222875E~37) = 0.5877471754111438E~38
                                                     <> 0.5877470352812973E~38

- (0.11754943508222875E~37, 0.1401298464324817E~44) = 0.11754942106924411E~37
                                                   <> 0.11754940705625946E~37
+ (0.11754943508222875E~37, ~0.1401298464324817E~44) = 0.11754942106924411E~37
                                                    <> 0.11754940705625946E~37
- (0.1401298464324817E~44, 0.11754943508222875E~37) = ~0.11754942106924411E~37
                                                   <> ~0.11754940705625946E~37
+ (0.1401298464324817E~44, ~0.11754943508222875E~37) = ~0.11754942106924411E~37
                                                    <> ~0.11754940705625946E~37
+ (~0.11754943508222875E~37, 0.1401298464324817E~44) = ~0.11754942106924411E~37
                                                    <> ~0.11754940705625946E~37
- (~0.11754943508222875E~37, ~0.1401298464324817E~44) = ~0.11754942106924411E~37
                                                     <> ~0.11754940705625946E~37
+ (~0.1401298464324817E~44, 0.11754943508222875E~37) = 0.11754942106924411E~37
                                                    <> 0.11754940705625946E~37
- (~0.1401298464324817E~44, ~0.11754943508222875E~37) = 0.11754942106924411E~37
                                                     <> 0.11754940705625946E~37

Hopefully this additional data inspires someone to figure out the problem.