1 # Check that conditions are hoisted up from the innermost loop
2 [n] -> { a[i,j,k,l] -> [i,j,0,k,l] :
3 0 <= i,j,k,l <= n and (i = 0 or j = 0 or i = n or j = n);
4 b[i,j,k,l] -> [i,j,1,k,l] :
5 0 <= i,j,k,l <= n and (i = 0 or j = 0 or i = n or j = n) }
7 { [i,j,t,k,l] -> atomic[x] }