! Program to test the scalarizer
program testarray
   implicit none
   integer, dimension (:, :), allocatable :: a, b
   integer n

   allocate(a(6, 5), b(6, 5))
   a = 0
   do n = 1, 5
      a(4, n) = n
   end do

   b(:, 5:1:-1) = a
   a(1:5, 2) = a(4, :) + 1

   ! The following expression should cause loop reordering
   a(:, 2:4) = a(:, 1:3)

   do n = 1, 5
      if (a(n, 3) .ne. (n + 1)) STOP 1
      if (b(4, n) .ne. (6 - n)) STOP 2
   end do
end program

