AST generation: remove redundant constraints before determining loop bounds
[isl.git] / test_inputs / codegen / redundant.c
blob6ac7d2dd8e23196c1c7e9ce4f7e854d54d9f5bae
1 for (int c0 = 0; c0 <= 2; c0 += 1)
2 for (int c1 = max(0, -2 * c0 + b0 / 2); c1 <= 1; c1 += 1) {
3 if (b0 >= 1 && 4 * c0 + c1 >= 1)
4 for (int c2 = 1; c2 <= 2; c2 += 1) {
5 if (c2 == 2) {
6 for (int c3 = 1; c3 <= 14; c3 += 1)
7 write(c0, c1, 8 * b0 - 3, c3);
8 } else if (c1 == 1) {
9 for (int c3 = 1; c3 <= 14; c3 += 1)
10 write(c0, 1, 8 * b0 - 4, c3);
11 } else
12 for (int c3 = 1; c3 <= 14; c3 += 1)
13 write(c0, 0, 8 * b0 - 4, c3);
15 for (int c2 = max(max(3, -8 * b0 + 6), 8 * c0 - 12); c2 <= min(min(7, -8 * b0 + 17), 8 * c0 + 6); c2 += 1)
16 if (c1 >= -2 * ((8 * c0 - 2 * c1 - c2 + 8) / 4) + 1 && -2 * ((8 * c0 - 2 * c1 - c2 + 8) / 4) + 9 >= c1 && (8 * c0 - 2 * c1 - c2 + 8) % 4 <= 2 && ((8 * c0 - 2 * c1 - c2 + 8) % 4) + 2 * c2 <= 14)
17 for (int c3 = 1; c3 <= 14; c3 += 1)
18 write(c0, c1, 8 * b0 + c2 - 5, c3);