]> zoso.dev Git - libnemo.git/commitdiff
Replace last if statements with select.
authorChris Duncan <chris@zoso.dev>
Thu, 9 Jan 2025 21:58:44 +0000 (13:58 -0800)
committerChris Duncan <chris@zoso.dev>
Thu, 9 Jan 2025 21:58:44 +0000 (13:58 -0800)
src/lib/nano-pow/shaders/gpu-compute.ts

index 510c3cc9c76aec6a094be97c65f89a4c950d6c14..739339fd2b034708318a2b44d0c07d63fcc55e6f 100644 (file)
@@ -292,9 +292,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -330,9 +328,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -353,9 +349,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -378,9 +372,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -393,9 +385,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -418,9 +408,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -464,9 +452,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -502,9 +488,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -525,9 +509,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -550,9 +532,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -565,9 +545,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -590,9 +568,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -613,9 +589,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -638,9 +612,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -653,9 +625,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -678,9 +648,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -701,9 +669,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -726,9 +692,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -741,9 +705,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -766,9 +728,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -973,9 +933,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -1011,9 +969,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -1034,9 +990,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -1059,9 +1013,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -1074,9 +1026,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -1099,9 +1049,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -1142,9 +1090,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -1180,9 +1126,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -1203,9 +1147,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -1225,9 +1167,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -1240,9 +1180,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -1262,9 +1200,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -1285,9 +1221,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -1310,9 +1244,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -1325,9 +1257,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -1350,9 +1280,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -1373,9 +1301,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -1398,9 +1324,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -1413,18 +1337,14 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
        // a = a + m[sigma[r][2*i+1]]
        o0 = v6 + m6;
        o1 = v7 + m7;
-       if (v6 > 0xFFFFFFFFu - m6) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -1437,9 +1357,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -1644,9 +1562,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -1679,9 +1595,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -1702,9 +1616,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -1727,9 +1639,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -1742,9 +1652,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -1767,9 +1675,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -1813,9 +1719,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -1851,9 +1755,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -1874,9 +1776,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -1896,9 +1796,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -1911,9 +1809,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -1936,9 +1832,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -1959,9 +1853,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -1984,9 +1876,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -1999,9 +1889,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -2021,9 +1909,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -2044,9 +1930,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -2069,9 +1953,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -2084,18 +1966,14 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
        // a = a + m[sigma[r][2*i+1]]
        o0 = v6 + m8;
        o1 = v7 + m9;
-       if (v6 > 0xFFFFFFFFu - m8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -2108,9 +1986,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -2312,9 +2188,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -2350,9 +2224,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -2373,9 +2245,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -2398,9 +2268,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -2413,9 +2281,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -2438,9 +2304,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -2481,9 +2345,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -2519,9 +2381,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -2542,9 +2402,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -2567,9 +2425,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -2582,9 +2438,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -2607,9 +2461,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -2630,9 +2482,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -2652,9 +2502,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -2667,9 +2515,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -2689,9 +2535,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -2712,9 +2556,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -2737,9 +2579,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -2752,9 +2592,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -2777,9 +2615,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -2981,9 +2817,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -3016,9 +2850,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -3039,9 +2871,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -3064,9 +2894,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -3079,9 +2907,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -3104,9 +2930,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -3150,9 +2974,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -3185,9 +3007,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -3208,9 +3028,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -3233,9 +3051,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -3248,9 +3064,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -3273,9 +3087,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -3296,9 +3108,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -3321,9 +3131,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -3336,9 +3144,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -3361,9 +3167,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -3384,18 +3188,14 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
        // a = a + m[sigma[r][2*i+0]]
        o0 = v6 + m6;
        o1 = v7 + m7;
-       if (v6 > 0xFFFFFFFFu - m6) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -3408,9 +3208,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -3423,9 +3221,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -3448,9 +3244,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -3652,9 +3446,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -3690,9 +3482,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -3713,9 +3503,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -3738,9 +3526,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -3753,18 +3539,14 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
        // a = a + m[sigma[r][2*i+1]]
        o0 = v6 + m6;
        o1 = v7 + m7;
-       if (v6 > 0xFFFFFFFFu - m6) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -3777,9 +3559,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -3820,9 +3600,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -3858,9 +3636,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -3881,9 +3657,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -3906,9 +3680,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -3921,9 +3693,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -3946,9 +3716,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -3969,9 +3737,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -3994,9 +3760,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -4009,9 +3773,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -4034,9 +3796,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -4057,18 +3817,14 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
        // a = a + m[sigma[r][2*i+0]]
        o0 = v6 + m2;
        o1 = v7 + m3;
-       if (v6 > 0xFFFFFFFFu - m2) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -4081,9 +3837,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -4096,9 +3850,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -4121,9 +3873,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -4328,9 +4078,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -4366,9 +4114,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -4389,18 +4135,14 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
        // a = a + m[sigma[r][2*i+0]]
        o0 = v6 + m8;
        o1 = v7 + m9;
-       if (v6 > 0xFFFFFFFFu - m8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -4413,9 +4155,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -4428,9 +4168,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -4453,9 +4191,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -4496,9 +4232,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -4534,9 +4268,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -4557,9 +4289,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -4582,9 +4312,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -4597,9 +4325,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -4619,9 +4345,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -4642,9 +4366,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -4667,9 +4389,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -4682,9 +4402,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -4704,9 +4422,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -4727,9 +4443,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -4752,9 +4466,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -4767,9 +4479,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -4792,9 +4502,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -5002,9 +4710,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -5037,9 +4743,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -5060,18 +4764,14 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
        // a = a + m[sigma[r][2*i+0]]
        o0 = v6 + m6;
        o1 = v7 + m7;
-       if (v6 > 0xFFFFFFFFu - m6) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -5084,9 +4784,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -5099,9 +4797,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -5124,9 +4820,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -5170,9 +4864,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -5205,9 +4897,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -5228,9 +4918,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -5253,9 +4941,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -5268,9 +4954,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -5290,9 +4974,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -5313,9 +4995,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -5338,9 +5018,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -5353,9 +5031,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -5378,9 +5054,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -5401,18 +5075,14 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
        // a = a + m[sigma[r][2*i+0]]
        o0 = v6 + m4;
        o1 = v7 + m5;
-       if (v6 > 0xFFFFFFFFu - m4) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -5425,9 +5095,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -5440,9 +5108,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -5465,9 +5131,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -5675,9 +5339,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -5710,9 +5372,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -5733,18 +5393,14 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
        // a = a + m[sigma[r][2*i+0]]
        o0 = v6 + m0;
        o1 = v7 + m1;
-       if (v6 > 0xFFFFFFFFu - m0) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -5757,9 +5413,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -5772,9 +5426,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -5797,9 +5449,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -5843,9 +5493,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -5878,9 +5526,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -5901,9 +5547,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -5926,9 +5570,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -5941,9 +5583,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -5966,9 +5606,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -5989,9 +5627,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -6011,9 +5647,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -6026,9 +5660,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -6048,9 +5680,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -6071,9 +5701,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -6096,9 +5724,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -6111,9 +5737,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -6136,9 +5760,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -6340,9 +5962,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -6378,9 +5998,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -6401,18 +6019,14 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
        // a = a + m[sigma[r][2*i+0]]
        o0 = v6 + m2;
        o1 = v7 + m3;
-       if (v6 > 0xFFFFFFFFu - m2) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -6425,9 +6039,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -6440,9 +6052,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -6465,9 +6075,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -6511,9 +6119,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -6549,9 +6155,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -6572,9 +6176,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -6597,9 +6199,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -6612,9 +6212,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -6637,9 +6235,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -6660,9 +6256,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -6682,9 +6276,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -6697,9 +6289,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -6722,9 +6312,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -6745,9 +6333,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -6770,9 +6356,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -6785,18 +6369,14 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
        // a = a + m[sigma[r][2*i+1]]
        o0 = v6 + m0;
        o1 = v7 + m1;
-       if (v6 > 0xFFFFFFFFu - m0) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -6809,9 +6389,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -7004,9 +6582,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -7042,9 +6618,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -7065,9 +6639,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -7090,9 +6662,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -7105,9 +6675,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -7130,9 +6698,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -7176,9 +6742,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -7214,9 +6778,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -7237,9 +6799,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -7262,9 +6822,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -7277,9 +6835,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -7302,9 +6858,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -7325,9 +6879,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -7350,9 +6902,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -7365,9 +6915,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -7390,9 +6938,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -7413,9 +6959,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -7438,9 +6982,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -7453,9 +6995,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -7478,9 +7018,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -7685,9 +7223,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -7723,9 +7259,7 @@ fn main(
        // c = c + d
        o0 = v20 + v28;
        o1 = v21 + v29;
-       if (v20 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -7746,9 +7280,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -7771,9 +7303,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -7786,9 +7316,7 @@ fn main(
        // a = a + b
        o0 = v6 + v14;
        o1 = v7 + v15;
-       if (v6 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -7811,9 +7339,7 @@ fn main(
        // c = c + d
        o0 = v22 + v30;
        o1 = v23 + v31;
-       if (v22 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -7854,9 +7380,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -7892,9 +7416,7 @@ fn main(
        // c = c + d
        o0 = v20 + v30;
        o1 = v21 + v31;
-       if (v20 > 0xFFFFFFFFu - v30) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v20);
        v20 = o0;
        v21 = o1;
 
@@ -7915,9 +7437,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -7937,9 +7457,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -7952,9 +7470,7 @@ fn main(
        // a = a + b
        o0 = v2 + v12;
        o1 = v3 + v13;
-       if (v2 > 0xFFFFFFFFu - v12) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v2);
        v2 = o0;
        v3 = o1;
 
@@ -7974,9 +7490,7 @@ fn main(
        // c = c + d
        o0 = v22 + v24;
        o1 = v23 + v25;
-       if (v22 > 0xFFFFFFFFu - v24) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v22);
        v22 = o0;
        v23 = o1;
 
@@ -7997,9 +7511,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -8022,9 +7534,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -8037,9 +7547,7 @@ fn main(
        // a = a + b
        o0 = v4 + v14;
        o1 = v5 + v15;
-       if (v4 > 0xFFFFFFFFu - v14) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v4);
        v4 = o0;
        v5 = o1;
 
@@ -8062,9 +7570,7 @@ fn main(
        // c = c + d
        o0 = v16 + v26;
        o1 = v17 + v27;
-       if (v16 > 0xFFFFFFFFu - v26) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v16);
        v16 = o0;
        v17 = o1;
 
@@ -8085,9 +7591,7 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -8110,9 +7614,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;
 
@@ -8125,18 +7627,14 @@ fn main(
        // a = a + b
        o0 = v6 + v8;
        o1 = v7 + v9;
-       if (v6 > 0xFFFFFFFFu - v8) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
        // a = a + m[sigma[r][2*i+1]]
        o0 = v6 + m6;
        o1 = v7 + m7;
-       if (v6 > 0xFFFFFFFFu - m6) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v6);
        v6 = o0;
        v7 = o1;
 
@@ -8149,9 +7647,7 @@ fn main(
        // c = c + d
        o0 = v18 + v28;
        o1 = v19 + v29;
-       if (v18 > 0xFFFFFFFFu - v28) {
-               o1 = o1 + 1u;
-       }
+       o1 = o1 + select(0u, 1u, o0 < v18);
        v18 = o0;
        v19 = o1;