! { dg-do compile }
! { dg-options "-O1 -fno-signed-zeros -fno-trapping-math -fdump-tree-optimized" }
! Fortran defaults to associative by default,
! with -fno-signed-zeros -fno-trapping-math this should optimize away all additions
SUBROUTINE S1(a)
 REAL :: a
 a=1+a-1
END SUBROUTINE S1
! { dg-final { scan-tree-dump-times " \\\+ " 0 "optimized" } }
! { dg-final { cleanup-tree-dump "optimized" } }
