1! PR tree-optimization/51058 2! { dg-do compile } 3subroutine pr51058(n, u, v, w, z) 4 double precision :: x(3,-2:16384), y(3,-2:16384), b, u, v, w, z 5 integer :: i, n 6 common /c/ x, y 7 do i = 1, n 8 b = u * int(x(1,i)) + sign(z,x(1,i)) 9 x(1,i) = x(1,i) - b 10 y(1,i) = y(1,i) - b 11 b = v * int(x(2,i)) + sign(z,x(2,i)) 12 x(2,i) = x(2,i) - b 13 y(2,i) = y(2,i) - b 14 b = w * int(x(3,i)) + sign(z,x(3,i)) 15 x(3,i) = x(3,i) - b 16 y(3,i) = y(3,i) - b 17 end do 18end subroutine 19 20