1 for (int c0
= 0; c0
<= 1; c0
+= 1) {
2 for (int c1
= 0; c1
< length
- 1; c1
+= 32) {
3 for (int c2
= c1
; c2
< length
; c2
+= 32) {
5 for (int c3
= 0; c3
<= min(length
, 2 * c2
- 32); c3
+= 32)
6 for (int c5
= 0; c5
<= min(31, length
- c2
- 1); c5
+= 1)
7 for (int c6
= max(-c3
+ 1, 0); c6
<= min(31, length
- c3
); c6
+= 1)
8 S_0(c0
, c2
+ c5
, c3
+ c6
- 1);
9 for (int c3
= max(2 * c1
, 2 * c2
); c3
<= min(2 * c2
+ 62, 2 * length
- 2); c3
+= 32)
10 for (int c4
= 0; c4
<= min(min(length
- c1
- 2, (c3
/ 2) - c1
+ 14), 31); c4
+= 1) {
11 if (c4
== 0 && c3
== 0 && c2
== 0 && c1
== 0) {
12 for (int c6
= 1; c6
<= min(31, length
); c6
+= 1)
14 } else if (c4
== 0 && c3
== 2 * c2
+ 32 && c1
== 0)
15 for (int c5
= 0; c5
<= 15; c5
+= 1)
16 for (int c6
= 0; c6
<= min(31, length
- 2 * c2
- 32); c6
+= 1)
17 S_0(c0
, c2
+ c5
, 2 * c2
+ c6
+ 31);
18 for (int c5
= max((c3
/ 2) - c2
, c1
- c2
+ c4
+ 1); c5
<= min((c3
/ 2) - c2
+ 15, length
- c2
- 1); c5
+= 1) {
19 if (c4
== 0 && c1
== 0)
20 for (int c6
= max(-c3
+ 1, 0); c6
<= min(2 * c2
- c3
+ 2 * c5
- 1, length
- c3
); c6
+= 1)
21 S_0(c0
, c2
+ c5
, c3
+ c6
- 1);
22 S_3(c0
, c1
+ c4
, c2
+ c5
);
23 if (c4
== 0 && c1
== 0 && length
>= 2 * c2
+ 2 * c5
)
24 S_0(c0
, c2
+ c5
, 2 * c2
+ 2 * c5
- 1);
25 if (c4
== 0 && c1
== 0)
26 for (int c6
= 2 * c2
- c3
+ 2 * c5
+ 1; c6
<= min(length
- c3
, 31); c6
+= 1)
27 S_0(c0
, c2
+ c5
, c3
+ c6
- 1);
29 if (c4
== 0 && c1
== 0 && c3
+ 30 >= 2 * length
)
31 if (c4
== 0 && c3
== 2 * c2
&& c1
== 0)
32 for (int c5
= 16; c5
<= min(length
- c2
- 1, 31); c5
+= 1)
33 for (int c6
= max(0, -2 * c2
+ 1); c6
<= min(31, length
- 2 * c2
); c6
+= 1)
34 S_0(c0
, c2
+ c5
, 2 * c2
+ c6
- 1);
36 if ((length
+ 16) % 32 == 0 && c2
+ 16 == length
&& c1
== 0)
39 for (int c3
= 2 * c2
+ 64; c3
<= length
; c3
+= 32)
40 for (int c5
= 0; c5
<= 31; c5
+= 1)
41 for (int c6
= 0; c6
<= min(31, length
- c3
); c6
+= 1)
42 S_0(c0
, c2
+ c5
, c3
+ c6
- 1);
44 if (length
% 32 == 0 && c1
== 0)
48 for (int c5
= 0; c5
<= length
; c5
+= 1) {