Here is my situation:
- ifort version 11.1.048
- All the operations are done in double precision in 32 and 64 bits.
- Compiler options in 32:
-c /w90 /w95 /cm -DP4 -DWIN32 /Qfpp /MD /4Yportlib /O3 /fp:source /Qip /Qopenmp
- Compiler options in 64:
-c /w90 /w95 /cm -DP4 -DWIN32 -DAMD64_WIN /Qfpp /MD /4Yportlib /O3 /fp:source /Qip /Qopenmp
Differences in the 15th place after the decimal point creep in and eventually over time, the results become completely different.
I have been printing numbers in a really long format to see the number as it exists in memory and for example I get these:
As you can see in the 15th digit, I'll end up with 1 in 64 bit and after rounding with 2 in 32 bit. This is despite the fact that I am using fp:source.
Any help would be appreciated.