modula2: Simplify REAL/LONGREAL/SHORTREAL node creation.
[official-gcc.git] / gcc / testsuite / gfortran.dg / pr25623-2.f90
blobc7a4fe0c30e915e1b40d4c81c6f9da243d608fce
1 ! { dg-do compile }
2 ! { dg-options "-fdump-tree-optimized-blocks-details -O3" }
4 SUBROUTINE S42(a,b,c,N)
5 IMPLICIT NONE
6 integer :: N
7 real*8 :: a(N),b(N),c(N),tmp,tmp2,tmp4
8 real*8, parameter :: p=1.0D0/3.0D0
9 integer :: i
10 c=0.0D0
11 DO i=1,N
12 tmp=a(i)**p ! could even be done with a cube root
13 tmp2=tmp*tmp
14 tmp4=tmp2*tmp2
15 b(i)=b(i)+tmp4
16 c(i)=c(i)+tmp2
17 ENDDO
18 END SUBROUTINE
19 ! { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } }