Sorry for asking again about the compatibility between ifort and pgf90, as I did in previous posts about the log function (https://forums.developer.nvidia.com/t/log-function-compatibility/136338/1) and the power operator (https://forums.developer.nvidia.com/t/power-operator-compatibility/136340/1), but I also found differences in the results returned by the tand function (tangent in degrees). For val1 results match, but for val2 don’t.
Please, refer to that posts where I explain why I need the same results even if the differences are so small in one particular calculation.
System: Intel Core i7 7820x, Linux CentOS 7.5.1804
Compilers: Intel Fortran 126.96.36.1991 (ifort), PGI Fortran 19.10-0 (pgf90)
Compilation: Intel -> ifort -o tand.ifort tand.f90; PGI -> pgf90 -o tand.pgf90 tand.f90 -tp=px -Kieee
program calctand real :: val1, val2 val1 = -10.8127498626708984375 val2 = -7.10521984100341796875 write(*,'(A,F30.20)') 'val1: ', tand(val1) write(*,'(A,F30.20)') 'val2: ', tand(val2) end program calctand
Is there another flag to make the results match? What is the reason for such discrepancies?