1 domain: "[M, N] -> { S2[i0, i1] : i0 >= 1 and i0 <= M and i1 >= 1 and i1 <= N; S1[i0, i1, i2] : i0 >= 1 and i0 <= M and i1 <= N and i2 >= 1 and i2 <= -1 + i1 }"
3 context: "[M, N] -> { [] }"
5 schedule: "[M, N] -> [{ S2[i0, i1] -> [(i0)]; S1[i0, i1, i2] -> [(i0)] }]"
6 options: "[M, N] -> { separate[i0] }"
8 schedule: "[M, N] -> [{ S2[i0, i1] -> [(-1 + 2i1)]; S1[i0, i1, i2] -> [(i1 + i2)] }]"
9 options: "[M, N] -> { separate[i0] }"
12 - filter: "[M, N] -> { S1[i0, i1, i2] }"
14 schedule: "[M, N] -> [{ S1[i0, i1, i2] -> [(i2)] }]"
15 options: "[M, N] -> { separate[i0] }"
16 - filter: "[M, N] -> { S2[i0, i1] }"