1domain: "[M, N] -> { S2[i0, i1, i2] : i0 >= 1 and i0 <= M and i1 >= 2 and i1 <= -1 + N and i2 >= 2 and i2 <= -1 + N; S1[i0, i1, i2] : i0 >= 1 and i0 <= M and i1 >= 2 and i1 <= -1 + N and i2 >= 2 and i2 <= -1 + N }"
2child:
3  context: "[M, N] -> { [] : M >= 1 and N >= 1 }"
4  child:
5    schedule: "[M, N] -> [{ S1[i0, i1, i2] -> [(2i0)]; S2[i0, i1, i2] -> [(1 + 2i0)] }]"
6    options: "[M, N] -> { separate[i0] }"
7    child:
8      sequence:
9      - filter: "[M, N] -> { S1[i0, i1, i2] }"
10        child:
11          schedule: "[M, N] -> [{ S1[i0, i1, i2] -> [(i1)] }]"
12          options: "[M, N] -> { separate[i0] }"
13          child:
14            schedule: "[M, N] -> [{ S1[i0, i1, i2] -> [(i2)] }]"
15            options: "[M, N] -> { separate[i0] }"
16      - filter: "[M, N] -> { S2[i0, i1, i2] }"
17        child:
18          schedule: "[M, N] -> [{ S2[i0, i1, i2] -> [(i1)] }]"
19          options: "[M, N] -> { separate[i0] }"
20          child:
21            schedule: "[M, N] -> [{ S2[i0, i1, i2] -> [(i2)] }]"
22            options: "[M, N] -> { separate[i0] }"
23