fort77 -O2 (f2c+gcc): 549.44 + 5.58 sec absoft f77 (no optim): 458.97 + 4.26 sec absoft f77 -e (no opt): 505.04 + 5.27 sec absoft f77 -O: 431.78 + 4.92 sec absoft f77 -O -e: 480.42 + 4.83 sec (see below)dw86 - a large and complex Fortran code which computes nuclear reaction probabilities. Lots of complex + transcendental arithmetic, integration of differential equations (Schroedinger), etc. Written in 70's style Fortran, lots of COMMON and EQUIVALENCE, etc.
fort77 (f2c+gcc, no optim): xxx.xx fort77 -O2 : 276.98 + 3.06 sec absoft f77 -O : 270.88 + 3.66 sec absoft f77 (no optim): 392.15 + 4.86 sec
results for dw86 were checked using a numerical-comparison script. Essentially no differences found between "good" dw86 output (verified in past with other compilers, etc.) and output of Absoft-compiled program at level of 0.0001 (fractional), excluding differences in the last digit of printed results, or places where an interference term is being computed and is the difference between two much larger numbers. In those cases, I saw differences of up to 0.5% in the results computed with executables from various different compilers.
Paranoia test (spara.f) run under Absoft and f2c/gcc compilers. Without specifying the "-e" flag to Absoft f77, it fails the paranoia test miserably, although to be fair the paranoia test mentions after failing one of the first tests that "failure of this test may invalidate results below".
After specifying the "-e" flag, the Absoft compiler gets an "excellent floating point" rating from SPARA.f. However, you can see that some of its performance edge over f2c comes from not specifying -e. The effect of -e is to force results from math operations in registers to have the precision stated in the program. If it is not specified, math is done at the precision of registers unless the program code necessitates a store to memory. I don't fully understand why, but this added precision "behind your back" can cause problems and is the source of the paranoia failure.
f2c passes the paranoia test when run with no options under the fort77 script.