Some time ago I converted a large numerical codebase over to the Intel Visual Fortran compiler. So far we have been unable to make the switch to IVF as we are seeing an unacceptably large discrepancy between the new simulation results and those produced by our old compiler. After some work I have managed to identify the source of problem - the deviation seems to be seeded by an error in the last digit of a floating point calculation in the IVF build:
x = 1.0000000/8.5404000
the correct answer is:
x = 0.11709053
the IVF answer is:
x = 0.11709054
I suspect this is due to some kind of compiler optimisation - I have tried /fp:precise and /fp:strict with no success. I have attached a small project which replicates the issue. Could someone please tell me if/how I can resolve this issue? Any guidance would be appreciated...
Build 20101201 Package ID: w_cprof_p_11.1.072