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