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