brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · bfe1dc1 Raw
77 lines · c
1for (int c0 = -27 * n + 2; c0 <= 1; c0 += 1)2  S1(c0 - 1);3for (int c0 = 2; c0 <= n + 29; c0 += 1) {4  if (c0 >= 3) {5    S4(c0 - c0 / 2 - 1, c0 / 2 + 1);6    if (c0 <= 4) {7      S1(c0 - 1);8    } else if (c0 + 2 >= 2 * n) {9      for (int c2 = 1; c2 < -n + c0; c2 += 1)10        S5(-n + c0, n, c2);11    } else {12      S4(c0 - c0 / 2 - 2, c0 / 2 + 2);13      for (int c2 = 1; c2 < c0 - c0 / 2 - 1; c2 += 1)14        S5(c0 - c0 / 2 - 1, c0 / 2 + 1, c2);15    }16    for (int c1 = -c0 + c0 / 2 + 3; c1 <= min(-1, n - c0); c1 += 1) {17      S4(-c1, c0 + c1);18      S6(-c1 + 2, c0 + c1 - 2);19      for (int c2 = 1; c2 <= -c1; c2 += 1)20        S5(-c1 + 1, c0 + c1 - 1, c2);21    }22    if (2 * n >= c0 + 3 && c0 >= n + 2) {23      S6(-n + c0 + 1, n - 1);24      for (int c2 = 1; c2 < -n + c0; c2 += 1)25        S5(-n + c0, n, c2);26    }27    if (c0 >= n + 3) {28      S6(-n + c0, n);29      S1(c0 - 1);30    } else if (c0 == n + 2) {31      S1(n + 1);32      S6(2, n);33    } else {34      if (c0 >= 5) {35        S1(c0 - 1);36        S6(2, c0 - 2);37      }38      S6(1, c0 - 1);39    }40  } else {41    S1(1);42  }43  if (c0 % 2 == 0)44    S3(c0 / 2);45  for (int c1 = max(1, -n + c0); c1 < (c0 + 1) / 2; c1 += 1)46    S2(c0 - c1, c1);47}48for (int c0 = n + 30; c0 <= 2 * n; c0 += 1) {49  if (2 * n >= c0 + 1) {50    S4(c0 - c0 / 2 - 1, c0 / 2 + 1);51    if (c0 + 2 >= 2 * n) {52      for (int c2 = 1; c2 < -n + c0; c2 += 1)53        S5(-n + c0, n, c2);54    } else {55      S4(c0 - c0 / 2 - 2, c0 / 2 + 2);56      for (int c2 = 1; c2 < c0 - c0 / 2 - 1; c2 += 1)57        S5(c0 - c0 / 2 - 1, c0 / 2 + 1, c2);58    }59    for (int c1 = -c0 + c0 / 2 + 3; c1 <= n - c0; c1 += 1) {60      S4(-c1, c0 + c1);61      S6(-c1 + 2, c0 + c1 - 2);62      for (int c2 = 1; c2 <= -c1; c2 += 1)63        S5(-c1 + 1, c0 + c1 - 1, c2);64    }65    if (2 * n >= c0 + 3) {66      S6(-n + c0 + 1, n - 1);67      for (int c2 = 1; c2 < -n + c0; c2 += 1)68        S5(-n + c0, n, c2);69    }70    S6(-n + c0, n);71  }72  if (c0 % 2 == 0)73    S3(c0 / 2);74  for (int c1 = -n + c0; c1 < (c0 + 1) / 2; c1 += 1)75    S2(c0 - c1, c1);76}77