1 {
2   for (int c0 = 0; c0 < n - 31; c0 += 32)
3     for (int c1 = 0; c1 <= n; c1 += 32) {
4       if (n >= c1 + 32) {
5         for (int c2 = 0; c2 <= 31; c2 += 1)
6           for (int c3 = 0; c3 <= 31; c3 += 1)
7             S_1(c0 + c2, c1 + c3);
8       } else {
9         for (int c2 = 0; c2 <= 31; c2 += 1) {
10           for (int c3 = 0; c3 < n - c1; c3 += 1)
11             S_1(c0 + c2, c1 + c3);
12           S_2(c0 + c2);
13         }
14       }
15     }
16   for (int c1 = 0; c1 < n; c1 += 32) {
17     if (n >= c1 + 32) {
18       for (int c2 = 0; c2 < (n + 32) % 32; c2 += 1)
19         for (int c3 = 0; c3 <= 31; c3 += 1)
20           S_1(-((n + 32) % 32) + n + c2, c1 + c3);
21     } else {
22       for (int c2 = 0; c2 < n - c1; c2 += 1) {
23         for (int c3 = 0; c3 < n - c1; c3 += 1)
24           S_1(c1 + c2, c1 + c3);
25         S_2(c1 + c2);
26       }
27     }
28   }
29 }
30