anchor.diff:          integer, intent(in) :: n, m
           integer, intent(out), dimension(m) :: orders
           real(sp), intent(in) :: h
  -        real(sp), intent(out), dimension(2 * m - 1, n) :: blocks
  +        real(sp), intent(out), dimension(n, 2 * m - 1) :: blocks
   
           if (m == 3) then
               call make_laplacian_2d_o3(n, h, blocks, orders)
  
positive.code:         integer, intent(in) :: n
          integer, intent(out), dimension(m) :: orders
          real(sp), intent(in) :: h
          real(sp), intent(out), dimension(2 * m - 1, n) :: blocks
  
          real(sp) :: dx2
          real(sp), dimension(1) :: left3, left2, left1, right1, right2, right3
  
negative.code:         right2 = left2
          right3 = left3
  
          call make_banded_matrix(n, 1, left3, blocks(:, 1:1))
          call make_banded_matrix(n, 1, left2, blocks(:, 2:2))
          call make_banded_matrix(n, 1, left1, blocks(:, 3:3))
          call make_banded_matrix(n, m, middle, blocks(:, 4:10))
          call make_banded_matrix(n, 1, right1, blocks(:, 11:11))
          call make_banded_matrix(n, 1, right2, blocks(:, 12:12))
          call make_banded_matrix(n, 1, right3, blocks(:, 13:13))
  
          orders = (/ 0, 0, 0, 3, 0, 0, 0 /)
      end subroutine make_laplacian_2d_o7
  