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