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