Tim,
There's another possibility, though. I found on Windows that under some circumstances (which I could never figure out completely) the FPU flags get changed to signal exceptions instead of silently over/underflowing.
Good grief, this surely can't still be a problem in Windows;
Well, maybe not, but would I want to put my money on this bet? ;-)
we (as in PPS, in particular Jan Bottorff, Daniel Lanovaz & I) found this afflicting VW back in 93 or there abouts. Certain library calls (all vis dlls IIRC) would change the FPU flags and _not restore them_ on return. Wham, bang, floating pint arithmetic goes weird on you. I suppose it might be worth emailing Eliot to ask if an answer was ever found.
I actually solved this problem by merely establishing an FPU exception filter and reset the flags if they got changed. Note that question was about Linux, so I was mostly wondering if there might be a similar problem here.
Cheers, - Andreas