1! { dg-do run }
2! { dg-options "-ffloat-store" }
3!
4! PR fortran/33197
5!
6! Check for Fortran 2008's ATAN(Y,X) - which is equivalent
7! to Fortran 77's ATAN2(Y,X).
8!
9integer :: i
10real, parameter :: pi4 = 2*acos(0.0)
11real, parameter :: pi8 = 2*acos(0.0d0)
12do i = 1, 10
13  if(atan(1.0,  i/10.0)  -atan2(1.0,  i/10.)    /= 0.0)   STOP 1
14  if(atan(1.0d0,i/10.0d0)-atan2(1.0d0,i/10.0d0) /= 0.0d0) STOP 2
15end do
16
17! Atan(1,1) = Pi/4
18if (abs(atan(1.0,1.0)    -pi4/4.0)   > epsilon(pi4)) STOP 3
19if (abs(atan(1.0d0,1.0d0)-pi8/4.0d0) > epsilon(pi8)) STOP 4
20
21! Atan(-1,1) = -Pi/4
22if (abs(atan(-1.0,1.0)    +pi4/4.0)   > epsilon(pi4)) STOP 5
23if (abs(atan(-1.0d0,1.0d0)+pi8/4.0d0) > epsilon(pi8)) STOP 6
24
25! Atan(1,-1) = 3/4*Pi
26if (abs(atan(1.0,-1.0)    -3.0*pi4/4.0)     > epsilon(pi4)) STOP 7
27if (abs(atan(1.0d0,-1.0d0)-3.0d0*pi8/4.0d0) > epsilon(pi8)) STOP 8
28
29! Atan(-1,-1) = -3/4*Pi
30if (abs(atan(-1.0,-1.0)    +3.0*pi4/4.0)     > epsilon(pi4)) STOP 9
31if (abs(atan(-1.0d0,-1.0d0)+3.0d0*pi8/4.0d0) > epsilon(pi8)) STOP 10
32
33! Atan(3,-5) = 2.60117315331920908301906501867... = Pi - 3/2 atan(3/5)
34if (abs(atan(3.0,-5.0)    -2.60117315331920908301906501867) > epsilon(pi4)) STOP 11
35if (abs(atan(3.0d0,-5.0d0)-2.60117315331920908301906501867d0) > epsilon(pi8)) STOP 12
36
37end
38