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