I thought Fortran is the most liberal language of all when it comes to re-ordering floating point computations? I'll confess it's been a while since I programmed Fortran, but I seem to remember that anything goes, except when a computation is in parentheses.