Comp. Chem. and the Pentium FDIV bug



 Here are some observations on the pentium FDIV bug and computational
 chemistry calculations.  The results are for HyperChem, though I would
 expect similar results for calculations with other modelling programs.
 A regression test that we use for the testing of HyperChem uses HyperChem's
 scripting to perform around 3,000 calculations, including geometry
 optimizations, CI, molecular dynamics, vibration calculations, and
 uv-vis spectra, logging all results to files that we can then compare to
 reference files.
 When we run this test on a Pentium 90 with the bug (verified by finding
 4195835 - (4195835/3145727*3145727) = 256 with the Windows calculator)
 and on a 486 without the bug, we do find differences for 4 (out of
 roughly 3000) calculations.  The four cases are all geometry optimizations,
 (two with MNDO and one each with AM1 and CNDO) where the final optimized
 electronic and core-core repulsion energies differ.  For one the difference
 is one in the 12th significant digit and for the other three the differences
 are in the 13th siginificant digit.
 For comparison, we find larger differences (but still relatively
 insignificant) comparing results from 486, SGI, DEC Alpha or IBM
 PowerPC computers, which we have found is due to very small differences
 in math library routines (like sqrt and arccos).
 Based on the above, I'd suggest not panicking about the Pentium FDIV bug.
 The magnitude of the error as manifested in molecular modelling
 calculations seems almost immeasurable, and is certainly far smaller
 than the "errors" introduced by the numerous approximations that are
 used routinely (like integral cutoff thresholds or non-bonded distance
 cutoffs).
 This kind of thing is hardly new - the Paranoia program was written
 long ago to characterize floating-point weaknesses of chip/library
 combinations.  (Has anyone run this on a buggy Pentium 90?  I've
 misplaced my copy, but would guess that it passes with flying colours.)
 I remember Clemens Roothaan showing me that the ROM for the table lookup
 square root in FPS-164 and FPS-264 array processors had several errors in
 it, leading to small but measurable imprecision, but I wouldn't advocate
 tossing out the wealth of published results from the mid-80s that used
 those once-popular computers!
 For what it's worth, my advice (if you've got a buggy Pentium) is to
 call Intel and tell them that the bug is detectable in some computational
 chemistry calculations (including off-the-shelf, shrink-wrapped HyperChem)
 and see if they'll replace it, but in the meantime carry on with
 calculations!
 Cheers,
 Graham
 ------------
 Graham Hurst (hurst { *at * } hyper.com)
 Hypercube Inc, 7-419 Phillip St, Waterloo, Ont, Canada N2L 3X2 (519)725-4040
 Info requests to: info { *at * } hyper.com    Support questions to: support {
 *at * } hyper.com
 Email group: Send "subscribe hyperchem" to hyperchem-request { *at * }
 hyper.com