https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98201
--- Comment #3 from dpozar at ecs dot umass.edu ---
Thomas,
compile time works fine; runtime not so good.
dave
Output below:
Runtime
Argument SquareRoot
SR squared
(-.1000E+02 0.1000E+00) (0.1581E-01 0.3163E+01) (-.1001E+02 0.1000E+00)
(-.1000E+03 0.1000E+00) (0.5167E-02 0.9676E+01) (-.9362E+02 0.1000E+00)
(-.1000E+04 0.1000E+00) (0.0000E+00 Infinity) ( -Infinity NaN)
(-.1000E+05 0.1000E+00) (0.0000E+00 Infinity) ( -Infinity NaN)
(-.1000E+06 0.1000E+00) (0.0000E+00 Infinity) ( -Infinity NaN)
(-.1000E+07 0.1000E+00) (0.0000E+00 Infinity) ( -Infinity NaN)
(-.1000E+08 0.1000E+00) (0.0000E+00 Infinity) ( -Infinity NaN)
(-.1000E+09 0.1000E+00) (0.0000E+00 Infinity) ( -Infinity NaN)
(-.1000E+10 0.1000E+00) (0.0000E+00 Infinity) ( -Infinity NaN)
Compile-time
(-.1000E+02 0.1000E+01) (0.1579E+00 0.3166E+01) (-.1000E+02 0.1000E+01)
(-.1000E+03 0.1000E+01) (0.5000E-01 0.1000E+02) (-.1000E+03 0.1000E+01)
(-.1000E+04 0.1000E+01) (0.1581E-01 0.3162E+02) (-.1000E+04 0.1000E+01)
(-.1000E+05 0.1000E+01) (0.5000E-02 0.1000E+03) (-.1000E+05 0.1000E+01)
(-.1000E+06 0.1000E+01) (0.1581E-02 0.3162E+03) (-.1000E+06 0.1000E+01)
(-.1000E+07 0.1000E+01) (0.5000E-03 0.1000E+04) (-.1000E+07 0.1000E+01)
(-.1000E+08 0.1000E+01) (0.1581E-03 0.3162E+04) (-.1000E+08 0.1000E+01)
(-.1000E+09 0.1000E+01) (0.5000E-04 0.1000E+05) (-.1000E+09 0.1000E+01)
(-.1000E+10 0.1000E+01) (0.1581E-04 0.3162E+05) (-.1000E+10 0.1000E+01)
Process returned 0 (0x0) execution time : 0.060 s
Press any key to continue.
________________________________
From: tkoenig at gcc dot gnu.org <[email protected]>
Sent: Tuesday, December 8, 2020 10:34 AM
To: David Pozar <[email protected]>
Subject: [Bug fortran/98201] CSQRT function gives bad resuts at runtime
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98201
Thomas Koenig <tkoenig at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |mingw
CC| |tkoenig at gcc dot gnu.org
--- Comment #1 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
Here is a slight extension of your program, which also
checks the compile-time simplification. Can you tell me
what it does?
program main
implicit none
integer :: i,n
complex z, sq
complex, parameter, dimension(9) :: zp = [(-10.**i+(0.,1.),i=1,9)]
complex, parameter, dimension(9) :: sqp = sqrt(zp)
write (*,*) "Runtime"
write (*,*) " Argument SquareRoot SR
squared"
do n=1,9
z=-10.**n+(0.,.1)
sq=csqrt(z)
write(*,1) z, sq, sq*sq
end do
write (*,*) "Compile-time"
do n=1,9
write (*,1) zp(n), sqp(n), sqp(n)**2
end do
1 format(3("(",e10.4,2x,e10.4,")",3x))
end
On my Linux box, it prints
Runtime
Argument SquareRoot SR squared
(-.1000E+02 0.1000E+00) (0.1581E-01 0.3162E+01) (-.1000E+02 0.1000E+00)
(-.1000E+03 0.1000E+00) (0.5000E-02 0.1000E+02) (-.1000E+03 0.1000E+00)
(-.1000E+04 0.1000E+00) (0.1581E-02 0.3162E+02) (-.1000E+04 0.1000E+00)
(-.1000E+05 0.1000E+00) (0.5000E-03 0.1000E+03) (-.1000E+05 0.1000E+00)
(-.1000E+06 0.1000E+00) (0.1581E-03 0.3162E+03) (-.1000E+06 0.1000E+00)
(-.1000E+07 0.1000E+00) (0.5000E-04 0.1000E+04) (-.1000E+07 0.1000E+00)
(-.1000E+08 0.1000E+00) (0.1581E-04 0.3162E+04) (-.1000E+08 0.1000E+00)
(-.1000E+09 0.1000E+00) (0.5000E-05 0.1000E+05) (-.1000E+09 0.1000E+00)
(-.1000E+10 0.1000E+00) (0.1581E-05 0.3162E+05) (-.1000E+10 0.1000E+00)
Compile-time
(-.1000E+02 0.1000E+01) (0.1579E+00 0.3166E+01) (-.1000E+02 0.1000E+01)
(-.1000E+03 0.1000E+01) (0.5000E-01 0.1000E+02) (-.1000E+03 0.1000E+01)
(-.1000E+04 0.1000E+01) (0.1581E-01 0.3162E+02) (-.1000E+04 0.1000E+01)
(-.1000E+05 0.1000E+01) (0.5000E-02 0.1000E+03) (-.1000E+05 0.1000E+01)
(-.1000E+06 0.1000E+01) (0.1581E-02 0.3162E+03) (-.1000E+06 0.1000E+01)
(-.1000E+07 0.1000E+01) (0.5000E-03 0.1000E+04) (-.1000E+07 0.1000E+01)
(-.1000E+08 0.1000E+01) (0.1581E-03 0.3162E+04) (-.1000E+08 0.1000E+01)
(-.1000E+09 0.1000E+01) (0.5000E-04 0.1000E+05) (-.1000E+09 0.1000E+01)
(-.1000E+10 0.1000E+01) (0.1581E-04 0.3162E+05) (-.1000E+10 0.1000E+01)
so there is a slight difference in one value, but nothing as
completely wrong as what you show.
What is the output of that program on your system?
And what is the output of "gfortran -v" ?
--
You are receiving this mail because:
You reported the bug.