In the past, I worked on trying to get consistent behaviour
in Monte Carlo physics simulations across platforms. There
were some differences in floating point behaviour across
architectures, but such effects are small and shouldn't
have too large an affect on the results here. If differences
in the 6th or 7th significant digit are causing totally
different results, then it's an indication that the
code is not well thought out in places.
The largest effects were caused by variable initialization.
Again, this is more of an issue with sloppy code. The
flag for warning about uninitialized variables should be
set, and any warnings should be hunted down and fixed.
From that wiki page, it looks like the code was audited
for this back in the 2.0 days, but enough code has been
added since then that new bugs can have crept in again.
So, I would say that totally different results with code
compiled with different options or different compilers
is a sign of bad code. I don't think it should just be
shrugged off as unavoidable.
Cheers,
Rob Komar