Hopefully your post at the Intel forum will catch the attention of Intel Support Team members and elicit a response that will be helpful. You can check with Intel team on the details with the compiler’s -fp
compiler option and how it comes into play with your example: you will note the compiler uses as default -fp:fast
.
C:\temp>ifort /standard-semantics p.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.7.0 Build 20220726_000000
Copyright (C) 1985-2022 Intel Corporation. All rights reserved.
Microsoft (R) Incremental Linker Version 14.33.31630.0
Copyright (C) Microsoft Corporation. All rights reserved.
-out:p.exe
-subsystem:console
p.obj
C:\temp>p.exe
T
0.9999999 2.2718171E-02 -0.3623963 0.9314599 -0.3845887
2.2718171E-02 2.2718171E-02 -0.2600954 -0.2734710 0.3337145
-0.3623963 -0.2600954 -6.2047265E-02 -0.3354508 -2.7986396E-02
0.9314599 -0.2734710 -0.3354508 0.2075594 -0.2006450
-0.3845887 0.3337145 -2.7986394E-02 -0.2006450 0.2823821
F
C:\temp>ifort /standard-semantics /fp:precise p.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.7.0 Build 20220726_000000
Copyright (C) 1985-2022 Intel Corporation. All rights reserved.
Microsoft (R) Incremental Linker Version 14.33.31630.0
Copyright (C) Microsoft Corporation. All rights reserved.
-out:p.exe
-subsystem:console
p.obj
C:\temp>p.exe
T
1.000000 2.2718173E-02 -0.3623963 0.9314600 -0.3845887
2.2718173E-02 2.2718173E-02 -0.2600954 -0.2734710 0.3337145
-0.3623963 -0.2600954 -6.2047265E-02 -0.3354508 -2.7986396E-02
0.9314600 -0.2734710 -0.3354508 0.2075594 -0.2006450
-0.3845887 0.3337145 -2.7986396E-02 -0.2006450 0.2823821
T
C:\temp>