aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar jadep <jade.philipoom@gmail.com>2017-05-14 17:24:13 -0400
committerGravatar jadep <jade.philipoom@gmail.com>2017-05-14 17:24:20 -0400
commit5aad0d87ee19f69f5e0f413be8ebbe66d33f4d5d (patch)
treebe3e9faa80fd69362ab09c04db059ebfe8b94e13 /src
parent56a316ad7340ce6914c14e204918308463826b61 (diff)
applied micro-optimizations from donna with [transitivity] and [ring] (as per #176)
Diffstat (limited to 'src')
-rw-r--r--src/Specific/ArithmeticSynthesisTest.v29
-rw-r--r--src/Specific/IntegrationTestLadderstepDisplay.log1476
-rw-r--r--src/Specific/IntegrationTestMulDisplay.log136
-rw-r--r--src/Specific/IntegrationTestSquareDisplay.log136
4 files changed, 934 insertions, 843 deletions
diff --git a/src/Specific/ArithmeticSynthesisTest.v b/src/Specific/ArithmeticSynthesisTest.v
index bc6652df7..bed33de2e 100644
--- a/src/Specific/ArithmeticSynthesisTest.v
+++ b/src/Specific/ArithmeticSynthesisTest.v
@@ -158,8 +158,33 @@ Section Ops51.
pose proof wt_nonzero.
let x := constr:(
Positional.mul_cps (n:=sz) (m:=sz2) wt a b
- (fun ab => Positional.reduce_cps (n:=sz) (m:=sz2) wt s c ab id)) in
- solve_op_F wt x. reflexivity.
+ (fun ab => Positional.reduce_cps (n:=sz) (m:=sz2) wt s c ab id)) in
+ solve_op_F wt x.
+ transitivity (
+ (* Micro-optimized form from curve25519-donna-c64 by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)
+ let '(r4, r3, r2, r1, r0) := a in
+ let '(s4, s3, s2, s1, s0) := b in
+ let t0 := r0 * s0 in
+ let t1 := r0 * s1 + r1 * s0 in
+ let t2 := r0 * s2 + r2 * s0 + r1 * s1 in
+ let t3 := r0 * s3 + r3 * s0 + r1 * s2 + r2 * s1 in
+ let t4 := r0 * s4 + r4 * s0 + r3 * s1 + r1 * s3 + r2 * s2 in
+
+ let r4' := r4*19 in
+ let r1' := r1*19 in
+ let r2' := r2*19 in
+ let r3' := r3*19 in
+
+ let t0 := t0 + r4' * s1 + r1' * s4 + r2' * s3 + r3' * s2 in
+ let t1 := t1 + r4' * s2 + r2' * s4 + r3' * s3 in
+ let t2 := t2 + r4' * s3 + r3' * s4 in
+ let t3 := t3 + r4' * s4 in
+ (t4, t3, t2, t1, t0)
+ ).
+ Focus 2. {
+ break_match; cbv [runtime_mul runtime_add]; repeat apply (f_equal2 pair); ring.
+ } Unfocus.
+ reflexivity.
(* rough breakdown of synthesis time *)
(* 1.2s for side conditions -- should improve significantly when [chained_carries] gets a correctness lemma *)
diff --git a/src/Specific/IntegrationTestLadderstepDisplay.log b/src/Specific/IntegrationTestLadderstepDisplay.log
index 9007985cf..8c9b23488 100644
--- a/src/Specific/IntegrationTestLadderstepDisplay.log
+++ b/src/Specific/IntegrationTestLadderstepDisplay.log
@@ -18,732 +18,786 @@ let (a, b) := Interp-η
uint64_t x66 = 0xfffffffffffda + x20;
uint64_t x67 = x66 - x28;
uint128_t x68 = (uint128_t) x57 * x53;
- uint128_t x69 = (uint128_t) x56 * x54;
- uint128_t x70 = (uint128_t) x55 * x55;
+ uint128_t x69 = (uint128_t) x53 * x57;
+ uint128_t x70 = x68 + x69;
uint128_t x71 = (uint128_t) x54 * x56;
- uint128_t x72 = (uint128_t) x53 * x57;
- uint128_t x73 = x71 + x72;
- uint128_t x74 = x70 + x73;
- uint128_t x75 = x69 + x74;
- uint128_t x76 = x68 + x75;
+ uint128_t x72 = x70 + x71;
+ uint128_t x73 = (uint128_t) x56 * x54;
+ uint128_t x74 = x72 + x73;
+ uint128_t x75 = (uint128_t) x55 * x55;
+ uint128_t x76 = x74 + x75;
uint128_t x77 = (uint128_t) x57 * x54;
- uint128_t x78 = (uint128_t) x56 * x55;
- uint128_t x79 = (uint128_t) x55 * x56;
- uint128_t x80 = (uint128_t) x54 * x57;
+ uint128_t x78 = (uint128_t) x54 * x57;
+ uint128_t x79 = x77 + x78;
+ uint128_t x80 = (uint128_t) x56 * x55;
uint128_t x81 = x79 + x80;
- uint128_t x82 = x78 + x81;
- uint128_t x83 = x77 + x82;
- uint128_t x84 = (uint128_t) x53 * x53;
- uint128_t x85 = 0x13 * x84;
+ uint128_t x82 = (uint128_t) x55 * x56;
+ uint128_t x83 = x81 + x82;
+ uint64_t x84 = x53 * 0x13;
+ uint128_t x85 = (uint128_t) x84 * x53;
uint128_t x86 = x83 + x85;
uint128_t x87 = (uint128_t) x57 * x55;
- uint128_t x88 = (uint128_t) x56 * x56;
- uint128_t x89 = (uint128_t) x55 * x57;
- uint128_t x90 = x88 + x89;
- uint128_t x91 = x87 + x90;
- uint128_t x92 = (uint128_t) x54 * x53;
- uint128_t x93 = (uint128_t) x53 * x54;
- uint128_t x94 = x92 + x93;
- uint128_t x95 = 0x13 * x94;
- uint128_t x96 = x91 + x95;
- uint128_t x97 = (uint128_t) x57 * x56;
- uint128_t x98 = (uint128_t) x56 * x57;
- uint128_t x99 = x97 + x98;
- uint128_t x100 = (uint128_t) x55 * x53;
- uint128_t x101 = (uint128_t) x54 * x54;
- uint128_t x102 = (uint128_t) x53 * x55;
- uint128_t x103 = x101 + x102;
- uint128_t x104 = x100 + x103;
- uint128_t x105 = 0x13 * x104;
- uint128_t x106 = x99 + x105;
- uint128_t x107 = (uint128_t) x57 * x57;
- uint128_t x108 = (uint128_t) x56 * x53;
- uint128_t x109 = (uint128_t) x55 * x54;
- uint128_t x110 = (uint128_t) x54 * x55;
- uint128_t x111 = (uint128_t) x53 * x56;
- uint128_t x112 = x110 + x111;
- uint128_t x113 = x109 + x112;
- uint128_t x114 = x108 + x113;
- uint128_t x115 = 0x13 * x114;
- uint128_t x116 = x107 + x115;
- uint64_t x117 = (uint64_t) (x116 >> 0x33);
- uint128_t x118 = x117 + x106;
- uint64_t x119 = (uint64_t) (x118 >> 0x33);
- uint128_t x120 = x119 + x96;
- uint64_t x121 = (uint64_t) (x120 >> 0x33);
- uint128_t x122 = x121 + x86;
+ uint128_t x88 = (uint128_t) x55 * x57;
+ uint128_t x89 = x87 + x88;
+ uint128_t x90 = (uint128_t) x56 * x56;
+ uint128_t x91 = x89 + x90;
+ uint64_t x92 = x53 * 0x13;
+ uint128_t x93 = (uint128_t) x92 * x54;
+ uint128_t x94 = x91 + x93;
+ uint64_t x95 = x54 * 0x13;
+ uint128_t x96 = (uint128_t) x95 * x53;
+ uint128_t x97 = x94 + x96;
+ uint128_t x98 = (uint128_t) x57 * x56;
+ uint128_t x99 = (uint128_t) x56 * x57;
+ uint128_t x100 = x98 + x99;
+ uint64_t x101 = x53 * 0x13;
+ uint128_t x102 = (uint128_t) x101 * x55;
+ uint128_t x103 = x100 + x102;
+ uint64_t x104 = x55 * 0x13;
+ uint128_t x105 = (uint128_t) x104 * x53;
+ uint128_t x106 = x103 + x105;
+ uint64_t x107 = x54 * 0x13;
+ uint128_t x108 = (uint128_t) x107 * x54;
+ uint128_t x109 = x106 + x108;
+ uint128_t x110 = (uint128_t) x57 * x57;
+ uint64_t x111 = x53 * 0x13;
+ uint128_t x112 = (uint128_t) x111 * x56;
+ uint128_t x113 = x110 + x112;
+ uint64_t x114 = x56 * 0x13;
+ uint128_t x115 = (uint128_t) x114 * x53;
+ uint128_t x116 = x113 + x115;
+ uint64_t x117 = x55 * 0x13;
+ uint128_t x118 = (uint128_t) x117 * x54;
+ uint128_t x119 = x116 + x118;
+ uint64_t x120 = x54 * 0x13;
+ uint128_t x121 = (uint128_t) x120 * x55;
+ uint128_t x122 = x119 + x121;
uint64_t x123 = (uint64_t) (x122 >> 0x33);
- uint128_t x124 = x123 + x76;
- uint64_t x125 = (uint64_t) x116 & 0x7ffffffffffff;
- uint64_t x126 = (uint64_t) (x124 >> 0x33);
- uint64_t x127 = 0x13 * x126;
- uint64_t x128 = x125 + x127;
- uint64_t x129 = x128 >> 0x33;
- uint64_t x130 = (uint64_t) x118 & 0x7ffffffffffff;
- uint64_t x131 = x129 + x130;
- uint64_t x132 = (uint64_t) x124 & 0x7ffffffffffff;
- uint64_t x133 = (uint64_t) x122 & 0x7ffffffffffff;
- uint64_t x134 = x131 >> 0x33;
- uint64_t x135 = (uint64_t) x120 & 0x7ffffffffffff;
- uint64_t x136 = x134 + x135;
- uint64_t x137 = x131 & 0x7ffffffffffff;
- uint64_t x138 = x128 & 0x7ffffffffffff;
- uint128_t x139 = (uint128_t) x67 * x59;
- uint128_t x140 = (uint128_t) x65 * x61;
- uint128_t x141 = (uint128_t) x63 * x63;
- uint128_t x142 = (uint128_t) x61 * x65;
- uint128_t x143 = (uint128_t) x59 * x67;
- uint128_t x144 = x142 + x143;
- uint128_t x145 = x141 + x144;
- uint128_t x146 = x140 + x145;
- uint128_t x147 = x139 + x146;
- uint128_t x148 = (uint128_t) x67 * x61;
- uint128_t x149 = (uint128_t) x65 * x63;
- uint128_t x150 = (uint128_t) x63 * x65;
- uint128_t x151 = (uint128_t) x61 * x67;
- uint128_t x152 = x150 + x151;
- uint128_t x153 = x149 + x152;
- uint128_t x154 = x148 + x153;
- uint128_t x155 = (uint128_t) x59 * x59;
- uint128_t x156 = 0x13 * x155;
- uint128_t x157 = x154 + x156;
- uint128_t x158 = (uint128_t) x67 * x63;
- uint128_t x159 = (uint128_t) x65 * x65;
- uint128_t x160 = (uint128_t) x63 * x67;
- uint128_t x161 = x159 + x160;
- uint128_t x162 = x158 + x161;
- uint128_t x163 = (uint128_t) x61 * x59;
- uint128_t x164 = (uint128_t) x59 * x61;
- uint128_t x165 = x163 + x164;
- uint128_t x166 = 0x13 * x165;
- uint128_t x167 = x162 + x166;
- uint128_t x168 = (uint128_t) x67 * x65;
- uint128_t x169 = (uint128_t) x65 * x67;
- uint128_t x170 = x168 + x169;
- uint128_t x171 = (uint128_t) x63 * x59;
- uint128_t x172 = (uint128_t) x61 * x61;
- uint128_t x173 = (uint128_t) x59 * x63;
- uint128_t x174 = x172 + x173;
- uint128_t x175 = x171 + x174;
- uint128_t x176 = 0x13 * x175;
- uint128_t x177 = x170 + x176;
- uint128_t x178 = (uint128_t) x67 * x67;
- uint128_t x179 = (uint128_t) x65 * x59;
- uint128_t x180 = (uint128_t) x63 * x61;
- uint128_t x181 = (uint128_t) x61 * x63;
- uint128_t x182 = (uint128_t) x59 * x65;
- uint128_t x183 = x181 + x182;
- uint128_t x184 = x180 + x183;
- uint128_t x185 = x179 + x184;
- uint128_t x186 = 0x13 * x185;
- uint128_t x187 = x178 + x186;
- uint64_t x188 = (uint64_t) (x187 >> 0x33);
- uint128_t x189 = x188 + x177;
- uint64_t x190 = (uint64_t) (x189 >> 0x33);
- uint128_t x191 = x190 + x167;
- uint64_t x192 = (uint64_t) (x191 >> 0x33);
- uint128_t x193 = x192 + x157;
- uint64_t x194 = (uint64_t) (x193 >> 0x33);
- uint128_t x195 = x194 + x147;
- uint64_t x196 = (uint64_t) x187 & 0x7ffffffffffff;
- uint64_t x197 = (uint64_t) (x195 >> 0x33);
- uint64_t x198 = 0x13 * x197;
- uint64_t x199 = x196 + x198;
- uint64_t x200 = x199 >> 0x33;
- uint64_t x201 = (uint64_t) x189 & 0x7ffffffffffff;
- uint64_t x202 = x200 + x201;
- uint64_t x203 = (uint64_t) x195 & 0x7ffffffffffff;
- uint64_t x204 = (uint64_t) x193 & 0x7ffffffffffff;
- uint64_t x205 = x202 >> 0x33;
- uint64_t x206 = (uint64_t) x191 & 0x7ffffffffffff;
- uint64_t x207 = x205 + x206;
- uint64_t x208 = x202 & 0x7ffffffffffff;
- uint64_t x209 = x199 & 0x7ffffffffffff;
- uint128_t x210 = (uint128_t) x138 * x203;
- uint128_t x211 = (uint128_t) x137 * x204;
- uint128_t x212 = (uint128_t) x136 * x207;
- uint128_t x213 = (uint128_t) x133 * x208;
- uint128_t x214 = (uint128_t) x132 * x209;
- uint128_t x215 = x213 + x214;
- uint128_t x216 = x212 + x215;
- uint128_t x217 = x211 + x216;
- uint128_t x218 = x210 + x217;
- uint128_t x219 = (uint128_t) x138 * x204;
- uint128_t x220 = (uint128_t) x137 * x207;
- uint128_t x221 = (uint128_t) x136 * x208;
- uint128_t x222 = (uint128_t) x133 * x209;
- uint128_t x223 = x221 + x222;
- uint128_t x224 = x220 + x223;
- uint128_t x225 = x219 + x224;
- uint128_t x226 = (uint128_t) x132 * x203;
- uint128_t x227 = 0x13 * x226;
- uint128_t x228 = x225 + x227;
- uint128_t x229 = (uint128_t) x138 * x207;
- uint128_t x230 = (uint128_t) x137 * x208;
- uint128_t x231 = (uint128_t) x136 * x209;
- uint128_t x232 = x230 + x231;
- uint128_t x233 = x229 + x232;
- uint128_t x234 = (uint128_t) x133 * x203;
- uint128_t x235 = (uint128_t) x132 * x204;
- uint128_t x236 = x234 + x235;
- uint128_t x237 = 0x13 * x236;
- uint128_t x238 = x233 + x237;
- uint128_t x239 = (uint128_t) x138 * x208;
- uint128_t x240 = (uint128_t) x137 * x209;
- uint128_t x241 = x239 + x240;
- uint128_t x242 = (uint128_t) x136 * x203;
- uint128_t x243 = (uint128_t) x133 * x204;
- uint128_t x244 = (uint128_t) x132 * x207;
+ uint128_t x124 = x123 + x109;
+ uint64_t x125 = (uint64_t) (x124 >> 0x33);
+ uint128_t x126 = x125 + x97;
+ uint64_t x127 = (uint64_t) (x126 >> 0x33);
+ uint128_t x128 = x127 + x86;
+ uint64_t x129 = (uint64_t) (x128 >> 0x33);
+ uint128_t x130 = x129 + x76;
+ uint64_t x131 = (uint64_t) x122 & 0x7ffffffffffff;
+ uint64_t x132 = (uint64_t) (x130 >> 0x33);
+ uint64_t x133 = 0x13 * x132;
+ uint64_t x134 = x131 + x133;
+ uint64_t x135 = x134 >> 0x33;
+ uint64_t x136 = (uint64_t) x124 & 0x7ffffffffffff;
+ uint64_t x137 = x135 + x136;
+ uint64_t x138 = (uint64_t) x130 & 0x7ffffffffffff;
+ uint64_t x139 = (uint64_t) x128 & 0x7ffffffffffff;
+ uint64_t x140 = x137 >> 0x33;
+ uint64_t x141 = (uint64_t) x126 & 0x7ffffffffffff;
+ uint64_t x142 = x140 + x141;
+ uint64_t x143 = x137 & 0x7ffffffffffff;
+ uint64_t x144 = x134 & 0x7ffffffffffff;
+ uint128_t x145 = (uint128_t) x67 * x59;
+ uint128_t x146 = (uint128_t) x59 * x67;
+ uint128_t x147 = x145 + x146;
+ uint128_t x148 = (uint128_t) x61 * x65;
+ uint128_t x149 = x147 + x148;
+ uint128_t x150 = (uint128_t) x65 * x61;
+ uint128_t x151 = x149 + x150;
+ uint128_t x152 = (uint128_t) x63 * x63;
+ uint128_t x153 = x151 + x152;
+ uint128_t x154 = (uint128_t) x67 * x61;
+ uint128_t x155 = (uint128_t) x61 * x67;
+ uint128_t x156 = x154 + x155;
+ uint128_t x157 = (uint128_t) x65 * x63;
+ uint128_t x158 = x156 + x157;
+ uint128_t x159 = (uint128_t) x63 * x65;
+ uint128_t x160 = x158 + x159;
+ uint64_t x161 = x59 * 0x13;
+ uint128_t x162 = (uint128_t) x161 * x59;
+ uint128_t x163 = x160 + x162;
+ uint128_t x164 = (uint128_t) x67 * x63;
+ uint128_t x165 = (uint128_t) x63 * x67;
+ uint128_t x166 = x164 + x165;
+ uint128_t x167 = (uint128_t) x65 * x65;
+ uint128_t x168 = x166 + x167;
+ uint64_t x169 = x59 * 0x13;
+ uint128_t x170 = (uint128_t) x169 * x61;
+ uint128_t x171 = x168 + x170;
+ uint64_t x172 = x61 * 0x13;
+ uint128_t x173 = (uint128_t) x172 * x59;
+ uint128_t x174 = x171 + x173;
+ uint128_t x175 = (uint128_t) x67 * x65;
+ uint128_t x176 = (uint128_t) x65 * x67;
+ uint128_t x177 = x175 + x176;
+ uint64_t x178 = x59 * 0x13;
+ uint128_t x179 = (uint128_t) x178 * x63;
+ uint128_t x180 = x177 + x179;
+ uint64_t x181 = x63 * 0x13;
+ uint128_t x182 = (uint128_t) x181 * x59;
+ uint128_t x183 = x180 + x182;
+ uint64_t x184 = x61 * 0x13;
+ uint128_t x185 = (uint128_t) x184 * x61;
+ uint128_t x186 = x183 + x185;
+ uint128_t x187 = (uint128_t) x67 * x67;
+ uint64_t x188 = x59 * 0x13;
+ uint128_t x189 = (uint128_t) x188 * x65;
+ uint128_t x190 = x187 + x189;
+ uint64_t x191 = x65 * 0x13;
+ uint128_t x192 = (uint128_t) x191 * x59;
+ uint128_t x193 = x190 + x192;
+ uint64_t x194 = x63 * 0x13;
+ uint128_t x195 = (uint128_t) x194 * x61;
+ uint128_t x196 = x193 + x195;
+ uint64_t x197 = x61 * 0x13;
+ uint128_t x198 = (uint128_t) x197 * x63;
+ uint128_t x199 = x196 + x198;
+ uint64_t x200 = (uint64_t) (x199 >> 0x33);
+ uint128_t x201 = x200 + x186;
+ uint64_t x202 = (uint64_t) (x201 >> 0x33);
+ uint128_t x203 = x202 + x174;
+ uint64_t x204 = (uint64_t) (x203 >> 0x33);
+ uint128_t x205 = x204 + x163;
+ uint64_t x206 = (uint64_t) (x205 >> 0x33);
+ uint128_t x207 = x206 + x153;
+ uint64_t x208 = (uint64_t) x199 & 0x7ffffffffffff;
+ uint64_t x209 = (uint64_t) (x207 >> 0x33);
+ uint64_t x210 = 0x13 * x209;
+ uint64_t x211 = x208 + x210;
+ uint64_t x212 = x211 >> 0x33;
+ uint64_t x213 = (uint64_t) x201 & 0x7ffffffffffff;
+ uint64_t x214 = x212 + x213;
+ uint64_t x215 = (uint64_t) x207 & 0x7ffffffffffff;
+ uint64_t x216 = (uint64_t) x205 & 0x7ffffffffffff;
+ uint64_t x217 = x214 >> 0x33;
+ uint64_t x218 = (uint64_t) x203 & 0x7ffffffffffff;
+ uint64_t x219 = x217 + x218;
+ uint64_t x220 = x214 & 0x7ffffffffffff;
+ uint64_t x221 = x211 & 0x7ffffffffffff;
+ uint128_t x222 = (uint128_t) x144 * x215;
+ uint128_t x223 = (uint128_t) x138 * x221;
+ uint128_t x224 = x222 + x223;
+ uint128_t x225 = (uint128_t) x139 * x220;
+ uint128_t x226 = x224 + x225;
+ uint128_t x227 = (uint128_t) x143 * x216;
+ uint128_t x228 = x226 + x227;
+ uint128_t x229 = (uint128_t) x142 * x219;
+ uint128_t x230 = x228 + x229;
+ uint128_t x231 = (uint128_t) x144 * x216;
+ uint128_t x232 = (uint128_t) x139 * x221;
+ uint128_t x233 = x231 + x232;
+ uint128_t x234 = (uint128_t) x143 * x219;
+ uint128_t x235 = x233 + x234;
+ uint128_t x236 = (uint128_t) x142 * x220;
+ uint128_t x237 = x235 + x236;
+ uint64_t x238 = x138 * 0x13;
+ uint128_t x239 = (uint128_t) x238 * x215;
+ uint128_t x240 = x237 + x239;
+ uint128_t x241 = (uint128_t) x144 * x219;
+ uint128_t x242 = (uint128_t) x142 * x221;
+ uint128_t x243 = x241 + x242;
+ uint128_t x244 = (uint128_t) x143 * x220;
uint128_t x245 = x243 + x244;
- uint128_t x246 = x242 + x245;
- uint128_t x247 = 0x13 * x246;
- uint128_t x248 = x241 + x247;
- uint128_t x249 = (uint128_t) x138 * x209;
- uint128_t x250 = (uint128_t) x137 * x203;
- uint128_t x251 = (uint128_t) x136 * x204;
- uint128_t x252 = (uint128_t) x133 * x207;
- uint128_t x253 = (uint128_t) x132 * x208;
+ uint64_t x246 = x138 * 0x13;
+ uint128_t x247 = (uint128_t) x246 * x216;
+ uint128_t x248 = x245 + x247;
+ uint64_t x249 = x139 * 0x13;
+ uint128_t x250 = (uint128_t) x249 * x215;
+ uint128_t x251 = x248 + x250;
+ uint128_t x252 = (uint128_t) x144 * x220;
+ uint128_t x253 = (uint128_t) x143 * x221;
uint128_t x254 = x252 + x253;
- uint128_t x255 = x251 + x254;
- uint128_t x256 = x250 + x255;
- uint128_t x257 = 0x13 * x256;
- uint128_t x258 = x249 + x257;
- uint64_t x259 = (uint64_t) (x258 >> 0x33);
- uint128_t x260 = x259 + x248;
- uint64_t x261 = (uint64_t) (x260 >> 0x33);
- uint128_t x262 = x261 + x238;
- uint64_t x263 = (uint64_t) (x262 >> 0x33);
- uint128_t x264 = x263 + x228;
- uint64_t x265 = (uint64_t) (x264 >> 0x33);
- uint128_t x266 = x265 + x218;
- uint64_t x267 = (uint64_t) x258 & 0x7ffffffffffff;
- uint64_t x268 = (uint64_t) (x266 >> 0x33);
- uint64_t x269 = 0x13 * x268;
- uint64_t x270 = x267 + x269;
- uint64_t x271 = x270 >> 0x33;
- uint64_t x272 = (uint64_t) x260 & 0x7ffffffffffff;
- uint64_t x273 = x271 + x272;
- uint64_t x274 = (uint64_t) x266 & 0x7ffffffffffff;
- uint64_t x275 = (uint64_t) x264 & 0x7ffffffffffff;
- uint64_t x276 = x273 >> 0x33;
- uint64_t x277 = (uint64_t) x262 & 0x7ffffffffffff;
- uint64_t x278 = x276 + x277;
- uint64_t x279 = x273 & 0x7ffffffffffff;
- uint64_t x280 = x270 & 0x7ffffffffffff;
- uint64_t x281 = 0xffffffffffffe + x132;
- uint64_t x282 = x281 - x203;
- uint64_t x283 = 0xffffffffffffe + x133;
- uint64_t x284 = x283 - x204;
- uint64_t x285 = 0xffffffffffffe + x136;
- uint64_t x286 = x285 - x207;
- uint64_t x287 = 0xffffffffffffe + x137;
- uint64_t x288 = x287 - x208;
- uint64_t x289 = 0xfffffffffffda + x138;
- uint64_t x290 = x289 - x209;
- uint128_t x291 = (uint128_t) 0x1db41 * x282;
- uint128_t x292 = (uint128_t) 0x1db41 * x284;
- uint128_t x293 = (uint128_t) 0x1db41 * x286;
- uint128_t x294 = (uint128_t) 0x1db41 * x288;
- uint128_t x295 = (uint128_t) 0x1db41 * x290;
- uint64_t x296 = (uint64_t) (x295 >> 0x33);
- uint128_t x297 = x296 + x294;
- uint64_t x298 = (uint64_t) (x297 >> 0x33);
- uint128_t x299 = x298 + x293;
- uint64_t x300 = (uint64_t) (x299 >> 0x33);
- uint128_t x301 = x300 + x292;
- uint64_t x302 = (uint64_t) (x301 >> 0x33);
- uint128_t x303 = x302 + x291;
- uint64_t x304 = (uint64_t) x295 & 0x7ffffffffffff;
- uint64_t x305 = (uint64_t) (x303 >> 0x33);
- uint64_t x306 = 0x13 * x305;
- uint64_t x307 = x304 + x306;
- uint64_t x308 = x307 >> 0x33;
- uint64_t x309 = (uint64_t) x297 & 0x7ffffffffffff;
- uint64_t x310 = x308 + x309;
- uint64_t x311 = (uint64_t) x303 & 0x7ffffffffffff;
- uint64_t x312 = (uint64_t) x301 & 0x7ffffffffffff;
- uint64_t x313 = x310 >> 0x33;
- uint64_t x314 = (uint64_t) x299 & 0x7ffffffffffff;
- uint64_t x315 = x313 + x314;
- uint64_t x316 = x310 & 0x7ffffffffffff;
- uint64_t x317 = x307 & 0x7ffffffffffff;
- uint64_t x318 = x132 + x311;
- uint64_t x319 = x133 + x312;
- uint64_t x320 = x136 + x315;
- uint64_t x321 = x137 + x316;
- uint64_t x322 = x138 + x317;
- uint128_t x323 = (uint128_t) x290 * x318;
- uint128_t x324 = (uint128_t) x288 * x319;
- uint128_t x325 = (uint128_t) x286 * x320;
- uint128_t x326 = (uint128_t) x284 * x321;
- uint128_t x327 = (uint128_t) x282 * x322;
- uint128_t x328 = x326 + x327;
- uint128_t x329 = x325 + x328;
- uint128_t x330 = x324 + x329;
- uint128_t x331 = x323 + x330;
- uint128_t x332 = (uint128_t) x290 * x319;
- uint128_t x333 = (uint128_t) x288 * x320;
- uint128_t x334 = (uint128_t) x286 * x321;
- uint128_t x335 = (uint128_t) x284 * x322;
- uint128_t x336 = x334 + x335;
- uint128_t x337 = x333 + x336;
- uint128_t x338 = x332 + x337;
- uint128_t x339 = (uint128_t) x282 * x318;
- uint128_t x340 = 0x13 * x339;
- uint128_t x341 = x338 + x340;
- uint128_t x342 = (uint128_t) x290 * x320;
- uint128_t x343 = (uint128_t) x288 * x321;
- uint128_t x344 = (uint128_t) x286 * x322;
+ uint64_t x255 = x138 * 0x13;
+ uint128_t x256 = (uint128_t) x255 * x219;
+ uint128_t x257 = x254 + x256;
+ uint64_t x258 = x142 * 0x13;
+ uint128_t x259 = (uint128_t) x258 * x215;
+ uint128_t x260 = x257 + x259;
+ uint64_t x261 = x139 * 0x13;
+ uint128_t x262 = (uint128_t) x261 * x216;
+ uint128_t x263 = x260 + x262;
+ uint128_t x264 = (uint128_t) x144 * x221;
+ uint64_t x265 = x138 * 0x13;
+ uint128_t x266 = (uint128_t) x265 * x220;
+ uint128_t x267 = x264 + x266;
+ uint64_t x268 = x143 * 0x13;
+ uint128_t x269 = (uint128_t) x268 * x215;
+ uint128_t x270 = x267 + x269;
+ uint64_t x271 = x142 * 0x13;
+ uint128_t x272 = (uint128_t) x271 * x216;
+ uint128_t x273 = x270 + x272;
+ uint64_t x274 = x139 * 0x13;
+ uint128_t x275 = (uint128_t) x274 * x219;
+ uint128_t x276 = x273 + x275;
+ uint64_t x277 = (uint64_t) (x276 >> 0x33);
+ uint128_t x278 = x277 + x263;
+ uint64_t x279 = (uint64_t) (x278 >> 0x33);
+ uint128_t x280 = x279 + x251;
+ uint64_t x281 = (uint64_t) (x280 >> 0x33);
+ uint128_t x282 = x281 + x240;
+ uint64_t x283 = (uint64_t) (x282 >> 0x33);
+ uint128_t x284 = x283 + x230;
+ uint64_t x285 = (uint64_t) x276 & 0x7ffffffffffff;
+ uint64_t x286 = (uint64_t) (x284 >> 0x33);
+ uint64_t x287 = 0x13 * x286;
+ uint64_t x288 = x285 + x287;
+ uint64_t x289 = x288 >> 0x33;
+ uint64_t x290 = (uint64_t) x278 & 0x7ffffffffffff;
+ uint64_t x291 = x289 + x290;
+ uint64_t x292 = (uint64_t) x284 & 0x7ffffffffffff;
+ uint64_t x293 = (uint64_t) x282 & 0x7ffffffffffff;
+ uint64_t x294 = x291 >> 0x33;
+ uint64_t x295 = (uint64_t) x280 & 0x7ffffffffffff;
+ uint64_t x296 = x294 + x295;
+ uint64_t x297 = x291 & 0x7ffffffffffff;
+ uint64_t x298 = x288 & 0x7ffffffffffff;
+ uint64_t x299 = 0xffffffffffffe + x138;
+ uint64_t x300 = x299 - x215;
+ uint64_t x301 = 0xffffffffffffe + x139;
+ uint64_t x302 = x301 - x216;
+ uint64_t x303 = 0xffffffffffffe + x142;
+ uint64_t x304 = x303 - x219;
+ uint64_t x305 = 0xffffffffffffe + x143;
+ uint64_t x306 = x305 - x220;
+ uint64_t x307 = 0xfffffffffffda + x144;
+ uint64_t x308 = x307 - x221;
+ uint128_t x309 = (uint128_t) 0x1db41 * x300;
+ uint128_t x310 = (uint128_t) 0x1db41 * x302;
+ uint128_t x311 = (uint128_t) 0x1db41 * x304;
+ uint128_t x312 = (uint128_t) 0x1db41 * x306;
+ uint128_t x313 = (uint128_t) 0x1db41 * x308;
+ uint64_t x314 = (uint64_t) (x313 >> 0x33);
+ uint128_t x315 = x314 + x312;
+ uint64_t x316 = (uint64_t) (x315 >> 0x33);
+ uint128_t x317 = x316 + x311;
+ uint64_t x318 = (uint64_t) (x317 >> 0x33);
+ uint128_t x319 = x318 + x310;
+ uint64_t x320 = (uint64_t) (x319 >> 0x33);
+ uint128_t x321 = x320 + x309;
+ uint64_t x322 = (uint64_t) x313 & 0x7ffffffffffff;
+ uint64_t x323 = (uint64_t) (x321 >> 0x33);
+ uint64_t x324 = 0x13 * x323;
+ uint64_t x325 = x322 + x324;
+ uint64_t x326 = x325 >> 0x33;
+ uint64_t x327 = (uint64_t) x315 & 0x7ffffffffffff;
+ uint64_t x328 = x326 + x327;
+ uint64_t x329 = (uint64_t) x321 & 0x7ffffffffffff;
+ uint64_t x330 = (uint64_t) x319 & 0x7ffffffffffff;
+ uint64_t x331 = x328 >> 0x33;
+ uint64_t x332 = (uint64_t) x317 & 0x7ffffffffffff;
+ uint64_t x333 = x331 + x332;
+ uint64_t x334 = x328 & 0x7ffffffffffff;
+ uint64_t x335 = x325 & 0x7ffffffffffff;
+ uint64_t x336 = x138 + x329;
+ uint64_t x337 = x139 + x330;
+ uint64_t x338 = x142 + x333;
+ uint64_t x339 = x143 + x334;
+ uint64_t x340 = x144 + x335;
+ uint128_t x341 = (uint128_t) x308 * x336;
+ uint128_t x342 = (uint128_t) x300 * x340;
+ uint128_t x343 = x341 + x342;
+ uint128_t x344 = (uint128_t) x302 * x339;
uint128_t x345 = x343 + x344;
- uint128_t x346 = x342 + x345;
- uint128_t x347 = (uint128_t) x284 * x318;
- uint128_t x348 = (uint128_t) x282 * x319;
+ uint128_t x346 = (uint128_t) x306 * x337;
+ uint128_t x347 = x345 + x346;
+ uint128_t x348 = (uint128_t) x304 * x338;
uint128_t x349 = x347 + x348;
- uint128_t x350 = 0x13 * x349;
- uint128_t x351 = x346 + x350;
- uint128_t x352 = (uint128_t) x290 * x321;
- uint128_t x353 = (uint128_t) x288 * x322;
+ uint128_t x350 = (uint128_t) x308 * x337;
+ uint128_t x351 = (uint128_t) x302 * x340;
+ uint128_t x352 = x350 + x351;
+ uint128_t x353 = (uint128_t) x306 * x338;
uint128_t x354 = x352 + x353;
- uint128_t x355 = (uint128_t) x286 * x318;
- uint128_t x356 = (uint128_t) x284 * x319;
- uint128_t x357 = (uint128_t) x282 * x320;
- uint128_t x358 = x356 + x357;
- uint128_t x359 = x355 + x358;
- uint128_t x360 = 0x13 * x359;
- uint128_t x361 = x354 + x360;
- uint128_t x362 = (uint128_t) x290 * x322;
- uint128_t x363 = (uint128_t) x288 * x318;
- uint128_t x364 = (uint128_t) x286 * x319;
- uint128_t x365 = (uint128_t) x284 * x320;
- uint128_t x366 = (uint128_t) x282 * x321;
- uint128_t x367 = x365 + x366;
- uint128_t x368 = x364 + x367;
- uint128_t x369 = x363 + x368;
- uint128_t x370 = 0x13 * x369;
- uint128_t x371 = x362 + x370;
- uint64_t x372 = (uint64_t) (x371 >> 0x33);
- uint128_t x373 = x372 + x361;
- uint64_t x374 = (uint64_t) (x373 >> 0x33);
- uint128_t x375 = x374 + x351;
- uint64_t x376 = (uint64_t) (x375 >> 0x33);
- uint128_t x377 = x376 + x341;
- uint64_t x378 = (uint64_t) (x377 >> 0x33);
- uint128_t x379 = x378 + x331;
- uint64_t x380 = (uint64_t) x371 & 0x7ffffffffffff;
- uint64_t x381 = (uint64_t) (x379 >> 0x33);
- uint64_t x382 = 0x13 * x381;
- uint64_t x383 = x380 + x382;
- uint64_t x384 = x383 >> 0x33;
- uint64_t x385 = (uint64_t) x373 & 0x7ffffffffffff;
- uint64_t x386 = x384 + x385;
- uint64_t x387 = (uint64_t) x379 & 0x7ffffffffffff;
- uint64_t x388 = (uint64_t) x377 & 0x7ffffffffffff;
- uint64_t x389 = x386 >> 0x33;
- uint64_t x390 = (uint64_t) x375 & 0x7ffffffffffff;
- uint64_t x391 = x389 + x390;
- uint64_t x392 = x386 & 0x7ffffffffffff;
- uint64_t x393 = x383 & 0x7ffffffffffff;
- uint64_t x394 = x43 + x51;
- uint64_t x395 = x44 + x52;
- uint64_t x396 = x42 + x50;
- uint64_t x397 = x40 + x48;
- uint64_t x398 = x38 + x46;
- uint64_t x399 = 0xffffffffffffe + x43;
- uint64_t x400 = x399 - x51;
- uint64_t x401 = 0xffffffffffffe + x44;
- uint64_t x402 = x401 - x52;
- uint64_t x403 = 0xffffffffffffe + x42;
- uint64_t x404 = x403 - x50;
- uint64_t x405 = 0xffffffffffffe + x40;
- uint64_t x406 = x405 - x48;
- uint64_t x407 = 0xfffffffffffda + x38;
- uint64_t x408 = x407 - x46;
- uint128_t x409 = (uint128_t) x398 * x59;
- uint128_t x410 = (uint128_t) x397 * x61;
- uint128_t x411 = (uint128_t) x396 * x63;
- uint128_t x412 = (uint128_t) x395 * x65;
- uint128_t x413 = (uint128_t) x394 * x67;
- uint128_t x414 = x412 + x413;
- uint128_t x415 = x411 + x414;
- uint128_t x416 = x410 + x415;
- uint128_t x417 = x409 + x416;
- uint128_t x418 = (uint128_t) x398 * x61;
- uint128_t x419 = (uint128_t) x397 * x63;
- uint128_t x420 = (uint128_t) x396 * x65;
- uint128_t x421 = (uint128_t) x395 * x67;
- uint128_t x422 = x420 + x421;
- uint128_t x423 = x419 + x422;
- uint128_t x424 = x418 + x423;
- uint128_t x425 = (uint128_t) x394 * x59;
- uint128_t x426 = 0x13 * x425;
- uint128_t x427 = x424 + x426;
- uint128_t x428 = (uint128_t) x398 * x63;
- uint128_t x429 = (uint128_t) x397 * x65;
- uint128_t x430 = (uint128_t) x396 * x67;
- uint128_t x431 = x429 + x430;
- uint128_t x432 = x428 + x431;
- uint128_t x433 = (uint128_t) x395 * x59;
- uint128_t x434 = (uint128_t) x394 * x61;
+ uint128_t x355 = (uint128_t) x304 * x339;
+ uint128_t x356 = x354 + x355;
+ uint64_t x357 = x300 * 0x13;
+ uint128_t x358 = (uint128_t) x357 * x336;
+ uint128_t x359 = x356 + x358;
+ uint128_t x360 = (uint128_t) x308 * x338;
+ uint128_t x361 = (uint128_t) x304 * x340;
+ uint128_t x362 = x360 + x361;
+ uint128_t x363 = (uint128_t) x306 * x339;
+ uint128_t x364 = x362 + x363;
+ uint64_t x365 = x300 * 0x13;
+ uint128_t x366 = (uint128_t) x365 * x337;
+ uint128_t x367 = x364 + x366;
+ uint64_t x368 = x302 * 0x13;
+ uint128_t x369 = (uint128_t) x368 * x336;
+ uint128_t x370 = x367 + x369;
+ uint128_t x371 = (uint128_t) x308 * x339;
+ uint128_t x372 = (uint128_t) x306 * x340;
+ uint128_t x373 = x371 + x372;
+ uint64_t x374 = x300 * 0x13;
+ uint128_t x375 = (uint128_t) x374 * x338;
+ uint128_t x376 = x373 + x375;
+ uint64_t x377 = x304 * 0x13;
+ uint128_t x378 = (uint128_t) x377 * x336;
+ uint128_t x379 = x376 + x378;
+ uint64_t x380 = x302 * 0x13;
+ uint128_t x381 = (uint128_t) x380 * x337;
+ uint128_t x382 = x379 + x381;
+ uint128_t x383 = (uint128_t) x308 * x340;
+ uint64_t x384 = x300 * 0x13;
+ uint128_t x385 = (uint128_t) x384 * x339;
+ uint128_t x386 = x383 + x385;
+ uint64_t x387 = x306 * 0x13;
+ uint128_t x388 = (uint128_t) x387 * x336;
+ uint128_t x389 = x386 + x388;
+ uint64_t x390 = x304 * 0x13;
+ uint128_t x391 = (uint128_t) x390 * x337;
+ uint128_t x392 = x389 + x391;
+ uint64_t x393 = x302 * 0x13;
+ uint128_t x394 = (uint128_t) x393 * x338;
+ uint128_t x395 = x392 + x394;
+ uint64_t x396 = (uint64_t) (x395 >> 0x33);
+ uint128_t x397 = x396 + x382;
+ uint64_t x398 = (uint64_t) (x397 >> 0x33);
+ uint128_t x399 = x398 + x370;
+ uint64_t x400 = (uint64_t) (x399 >> 0x33);
+ uint128_t x401 = x400 + x359;
+ uint64_t x402 = (uint64_t) (x401 >> 0x33);
+ uint128_t x403 = x402 + x349;
+ uint64_t x404 = (uint64_t) x395 & 0x7ffffffffffff;
+ uint64_t x405 = (uint64_t) (x403 >> 0x33);
+ uint64_t x406 = 0x13 * x405;
+ uint64_t x407 = x404 + x406;
+ uint64_t x408 = x407 >> 0x33;
+ uint64_t x409 = (uint64_t) x397 & 0x7ffffffffffff;
+ uint64_t x410 = x408 + x409;
+ uint64_t x411 = (uint64_t) x403 & 0x7ffffffffffff;
+ uint64_t x412 = (uint64_t) x401 & 0x7ffffffffffff;
+ uint64_t x413 = x410 >> 0x33;
+ uint64_t x414 = (uint64_t) x399 & 0x7ffffffffffff;
+ uint64_t x415 = x413 + x414;
+ uint64_t x416 = x410 & 0x7ffffffffffff;
+ uint64_t x417 = x407 & 0x7ffffffffffff;
+ uint64_t x418 = x43 + x51;
+ uint64_t x419 = x44 + x52;
+ uint64_t x420 = x42 + x50;
+ uint64_t x421 = x40 + x48;
+ uint64_t x422 = x38 + x46;
+ uint64_t x423 = 0xffffffffffffe + x43;
+ uint64_t x424 = x423 - x51;
+ uint64_t x425 = 0xffffffffffffe + x44;
+ uint64_t x426 = x425 - x52;
+ uint64_t x427 = 0xffffffffffffe + x42;
+ uint64_t x428 = x427 - x50;
+ uint64_t x429 = 0xffffffffffffe + x40;
+ uint64_t x430 = x429 - x48;
+ uint64_t x431 = 0xfffffffffffda + x38;
+ uint64_t x432 = x431 - x46;
+ uint128_t x433 = (uint128_t) x422 * x59;
+ uint128_t x434 = (uint128_t) x418 * x67;
uint128_t x435 = x433 + x434;
- uint128_t x436 = 0x13 * x435;
- uint128_t x437 = x432 + x436;
- uint128_t x438 = (uint128_t) x398 * x65;
- uint128_t x439 = (uint128_t) x397 * x67;
- uint128_t x440 = x438 + x439;
- uint128_t x441 = (uint128_t) x396 * x59;
- uint128_t x442 = (uint128_t) x395 * x61;
- uint128_t x443 = (uint128_t) x394 * x63;
+ uint128_t x436 = (uint128_t) x419 * x65;
+ uint128_t x437 = x435 + x436;
+ uint128_t x438 = (uint128_t) x421 * x61;
+ uint128_t x439 = x437 + x438;
+ uint128_t x440 = (uint128_t) x420 * x63;
+ uint128_t x441 = x439 + x440;
+ uint128_t x442 = (uint128_t) x422 * x61;
+ uint128_t x443 = (uint128_t) x419 * x67;
uint128_t x444 = x442 + x443;
- uint128_t x445 = x441 + x444;
- uint128_t x446 = 0x13 * x445;
- uint128_t x447 = x440 + x446;
- uint128_t x448 = (uint128_t) x398 * x67;
- uint128_t x449 = (uint128_t) x397 * x59;
- uint128_t x450 = (uint128_t) x396 * x61;
- uint128_t x451 = (uint128_t) x395 * x63;
- uint128_t x452 = (uint128_t) x394 * x65;
- uint128_t x453 = x451 + x452;
- uint128_t x454 = x450 + x453;
- uint128_t x455 = x449 + x454;
- uint128_t x456 = 0x13 * x455;
- uint128_t x457 = x448 + x456;
- uint64_t x458 = (uint64_t) (x457 >> 0x33);
- uint128_t x459 = x458 + x447;
- uint64_t x460 = (uint64_t) (x459 >> 0x33);
- uint128_t x461 = x460 + x437;
- uint64_t x462 = (uint64_t) (x461 >> 0x33);
- uint128_t x463 = x462 + x427;
- uint64_t x464 = (uint64_t) (x463 >> 0x33);
- uint128_t x465 = x464 + x417;
- uint64_t x466 = (uint64_t) x457 & 0x7ffffffffffff;
- uint64_t x467 = (uint64_t) (x465 >> 0x33);
- uint64_t x468 = 0x13 * x467;
- uint64_t x469 = x466 + x468;
- uint64_t x470 = x469 >> 0x33;
- uint64_t x471 = (uint64_t) x459 & 0x7ffffffffffff;
- uint64_t x472 = x470 + x471;
- uint64_t x473 = (uint64_t) x465 & 0x7ffffffffffff;
- uint64_t x474 = (uint64_t) x463 & 0x7ffffffffffff;
- uint64_t x475 = x472 >> 0x33;
- uint64_t x476 = (uint64_t) x461 & 0x7ffffffffffff;
- uint64_t x477 = x475 + x476;
- uint64_t x478 = x472 & 0x7ffffffffffff;
- uint64_t x479 = x469 & 0x7ffffffffffff;
- uint128_t x480 = (uint128_t) x408 * x53;
- uint128_t x481 = (uint128_t) x406 * x54;
- uint128_t x482 = (uint128_t) x404 * x55;
- uint128_t x483 = (uint128_t) x402 * x56;
- uint128_t x484 = (uint128_t) x400 * x57;
- uint128_t x485 = x483 + x484;
- uint128_t x486 = x482 + x485;
- uint128_t x487 = x481 + x486;
- uint128_t x488 = x480 + x487;
- uint128_t x489 = (uint128_t) x408 * x54;
- uint128_t x490 = (uint128_t) x406 * x55;
- uint128_t x491 = (uint128_t) x404 * x56;
- uint128_t x492 = (uint128_t) x402 * x57;
- uint128_t x493 = x491 + x492;
- uint128_t x494 = x490 + x493;
- uint128_t x495 = x489 + x494;
- uint128_t x496 = (uint128_t) x400 * x53;
- uint128_t x497 = 0x13 * x496;
- uint128_t x498 = x495 + x497;
- uint128_t x499 = (uint128_t) x408 * x55;
- uint128_t x500 = (uint128_t) x406 * x56;
- uint128_t x501 = (uint128_t) x404 * x57;
- uint128_t x502 = x500 + x501;
- uint128_t x503 = x499 + x502;
- uint128_t x504 = (uint128_t) x402 * x53;
- uint128_t x505 = (uint128_t) x400 * x54;
- uint128_t x506 = x504 + x505;
- uint128_t x507 = 0x13 * x506;
- uint128_t x508 = x503 + x507;
- uint128_t x509 = (uint128_t) x408 * x56;
- uint128_t x510 = (uint128_t) x406 * x57;
- uint128_t x511 = x509 + x510;
- uint128_t x512 = (uint128_t) x404 * x53;
- uint128_t x513 = (uint128_t) x402 * x54;
- uint128_t x514 = (uint128_t) x400 * x55;
- uint128_t x515 = x513 + x514;
- uint128_t x516 = x512 + x515;
- uint128_t x517 = 0x13 * x516;
- uint128_t x518 = x511 + x517;
- uint128_t x519 = (uint128_t) x408 * x57;
- uint128_t x520 = (uint128_t) x406 * x53;
- uint128_t x521 = (uint128_t) x404 * x54;
- uint128_t x522 = (uint128_t) x402 * x55;
- uint128_t x523 = (uint128_t) x400 * x56;
- uint128_t x524 = x522 + x523;
- uint128_t x525 = x521 + x524;
- uint128_t x526 = x520 + x525;
- uint128_t x527 = 0x13 * x526;
- uint128_t x528 = x519 + x527;
- uint64_t x529 = (uint64_t) (x528 >> 0x33);
- uint128_t x530 = x529 + x518;
- uint64_t x531 = (uint64_t) (x530 >> 0x33);
- uint128_t x532 = x531 + x508;
- uint64_t x533 = (uint64_t) (x532 >> 0x33);
- uint128_t x534 = x533 + x498;
- uint64_t x535 = (uint64_t) (x534 >> 0x33);
- uint128_t x536 = x535 + x488;
- uint64_t x537 = (uint64_t) x528 & 0x7ffffffffffff;
- uint64_t x538 = (uint64_t) (x536 >> 0x33);
- uint64_t x539 = 0x13 * x538;
- uint64_t x540 = x537 + x539;
- uint64_t x541 = x540 >> 0x33;
- uint64_t x542 = (uint64_t) x530 & 0x7ffffffffffff;
- uint64_t x543 = x541 + x542;
- uint64_t x544 = (uint64_t) x536 & 0x7ffffffffffff;
- uint64_t x545 = (uint64_t) x534 & 0x7ffffffffffff;
- uint64_t x546 = x543 >> 0x33;
- uint64_t x547 = (uint64_t) x532 & 0x7ffffffffffff;
- uint64_t x548 = x546 + x547;
- uint64_t x549 = x543 & 0x7ffffffffffff;
- uint64_t x550 = x540 & 0x7ffffffffffff;
- uint64_t x551 = x544 + x473;
- uint64_t x552 = x545 + x474;
- uint64_t x553 = x548 + x477;
- uint64_t x554 = x549 + x478;
- uint64_t x555 = x550 + x479;
- uint64_t x556 = x544 + x473;
- uint64_t x557 = x545 + x474;
- uint64_t x558 = x548 + x477;
- uint64_t x559 = x549 + x478;
- uint64_t x560 = x550 + x479;
- uint128_t x561 = (uint128_t) x555 * x556;
- uint128_t x562 = (uint128_t) x554 * x557;
- uint128_t x563 = (uint128_t) x553 * x558;
- uint128_t x564 = (uint128_t) x552 * x559;
- uint128_t x565 = (uint128_t) x551 * x560;
- uint128_t x566 = x564 + x565;
- uint128_t x567 = x563 + x566;
- uint128_t x568 = x562 + x567;
- uint128_t x569 = x561 + x568;
- uint128_t x570 = (uint128_t) x555 * x557;
- uint128_t x571 = (uint128_t) x554 * x558;
- uint128_t x572 = (uint128_t) x553 * x559;
- uint128_t x573 = (uint128_t) x552 * x560;
- uint128_t x574 = x572 + x573;
- uint128_t x575 = x571 + x574;
- uint128_t x576 = x570 + x575;
- uint128_t x577 = (uint128_t) x551 * x556;
- uint128_t x578 = 0x13 * x577;
- uint128_t x579 = x576 + x578;
- uint128_t x580 = (uint128_t) x555 * x558;
- uint128_t x581 = (uint128_t) x554 * x559;
- uint128_t x582 = (uint128_t) x553 * x560;
- uint128_t x583 = x581 + x582;
- uint128_t x584 = x580 + x583;
- uint128_t x585 = (uint128_t) x552 * x556;
- uint128_t x586 = (uint128_t) x551 * x557;
- uint128_t x587 = x585 + x586;
- uint128_t x588 = 0x13 * x587;
- uint128_t x589 = x584 + x588;
- uint128_t x590 = (uint128_t) x555 * x559;
- uint128_t x591 = (uint128_t) x554 * x560;
- uint128_t x592 = x590 + x591;
- uint128_t x593 = (uint128_t) x553 * x556;
- uint128_t x594 = (uint128_t) x552 * x557;
- uint128_t x595 = (uint128_t) x551 * x558;
- uint128_t x596 = x594 + x595;
- uint128_t x597 = x593 + x596;
- uint128_t x598 = 0x13 * x597;
- uint128_t x599 = x592 + x598;
- uint128_t x600 = (uint128_t) x555 * x560;
- uint128_t x601 = (uint128_t) x554 * x556;
- uint128_t x602 = (uint128_t) x553 * x557;
- uint128_t x603 = (uint128_t) x552 * x558;
- uint128_t x604 = (uint128_t) x551 * x559;
+ uint128_t x445 = (uint128_t) x421 * x63;
+ uint128_t x446 = x444 + x445;
+ uint128_t x447 = (uint128_t) x420 * x65;
+ uint128_t x448 = x446 + x447;
+ uint64_t x449 = x418 * 0x13;
+ uint128_t x450 = (uint128_t) x449 * x59;
+ uint128_t x451 = x448 + x450;
+ uint128_t x452 = (uint128_t) x422 * x63;
+ uint128_t x453 = (uint128_t) x420 * x67;
+ uint128_t x454 = x452 + x453;
+ uint128_t x455 = (uint128_t) x421 * x65;
+ uint128_t x456 = x454 + x455;
+ uint64_t x457 = x418 * 0x13;
+ uint128_t x458 = (uint128_t) x457 * x61;
+ uint128_t x459 = x456 + x458;
+ uint64_t x460 = x419 * 0x13;
+ uint128_t x461 = (uint128_t) x460 * x59;
+ uint128_t x462 = x459 + x461;
+ uint128_t x463 = (uint128_t) x422 * x65;
+ uint128_t x464 = (uint128_t) x421 * x67;
+ uint128_t x465 = x463 + x464;
+ uint64_t x466 = x418 * 0x13;
+ uint128_t x467 = (uint128_t) x466 * x63;
+ uint128_t x468 = x465 + x467;
+ uint64_t x469 = x420 * 0x13;
+ uint128_t x470 = (uint128_t) x469 * x59;
+ uint128_t x471 = x468 + x470;
+ uint64_t x472 = x419 * 0x13;
+ uint128_t x473 = (uint128_t) x472 * x61;
+ uint128_t x474 = x471 + x473;
+ uint128_t x475 = (uint128_t) x422 * x67;
+ uint64_t x476 = x418 * 0x13;
+ uint128_t x477 = (uint128_t) x476 * x65;
+ uint128_t x478 = x475 + x477;
+ uint64_t x479 = x421 * 0x13;
+ uint128_t x480 = (uint128_t) x479 * x59;
+ uint128_t x481 = x478 + x480;
+ uint64_t x482 = x420 * 0x13;
+ uint128_t x483 = (uint128_t) x482 * x61;
+ uint128_t x484 = x481 + x483;
+ uint64_t x485 = x419 * 0x13;
+ uint128_t x486 = (uint128_t) x485 * x63;
+ uint128_t x487 = x484 + x486;
+ uint64_t x488 = (uint64_t) (x487 >> 0x33);
+ uint128_t x489 = x488 + x474;
+ uint64_t x490 = (uint64_t) (x489 >> 0x33);
+ uint128_t x491 = x490 + x462;
+ uint64_t x492 = (uint64_t) (x491 >> 0x33);
+ uint128_t x493 = x492 + x451;
+ uint64_t x494 = (uint64_t) (x493 >> 0x33);
+ uint128_t x495 = x494 + x441;
+ uint64_t x496 = (uint64_t) x487 & 0x7ffffffffffff;
+ uint64_t x497 = (uint64_t) (x495 >> 0x33);
+ uint64_t x498 = 0x13 * x497;
+ uint64_t x499 = x496 + x498;
+ uint64_t x500 = x499 >> 0x33;
+ uint64_t x501 = (uint64_t) x489 & 0x7ffffffffffff;
+ uint64_t x502 = x500 + x501;
+ uint64_t x503 = (uint64_t) x495 & 0x7ffffffffffff;
+ uint64_t x504 = (uint64_t) x493 & 0x7ffffffffffff;
+ uint64_t x505 = x502 >> 0x33;
+ uint64_t x506 = (uint64_t) x491 & 0x7ffffffffffff;
+ uint64_t x507 = x505 + x506;
+ uint64_t x508 = x502 & 0x7ffffffffffff;
+ uint64_t x509 = x499 & 0x7ffffffffffff;
+ uint128_t x510 = (uint128_t) x432 * x53;
+ uint128_t x511 = (uint128_t) x424 * x57;
+ uint128_t x512 = x510 + x511;
+ uint128_t x513 = (uint128_t) x426 * x56;
+ uint128_t x514 = x512 + x513;
+ uint128_t x515 = (uint128_t) x430 * x54;
+ uint128_t x516 = x514 + x515;
+ uint128_t x517 = (uint128_t) x428 * x55;
+ uint128_t x518 = x516 + x517;
+ uint128_t x519 = (uint128_t) x432 * x54;
+ uint128_t x520 = (uint128_t) x426 * x57;
+ uint128_t x521 = x519 + x520;
+ uint128_t x522 = (uint128_t) x430 * x55;
+ uint128_t x523 = x521 + x522;
+ uint128_t x524 = (uint128_t) x428 * x56;
+ uint128_t x525 = x523 + x524;
+ uint64_t x526 = x424 * 0x13;
+ uint128_t x527 = (uint128_t) x526 * x53;
+ uint128_t x528 = x525 + x527;
+ uint128_t x529 = (uint128_t) x432 * x55;
+ uint128_t x530 = (uint128_t) x428 * x57;
+ uint128_t x531 = x529 + x530;
+ uint128_t x532 = (uint128_t) x430 * x56;
+ uint128_t x533 = x531 + x532;
+ uint64_t x534 = x424 * 0x13;
+ uint128_t x535 = (uint128_t) x534 * x54;
+ uint128_t x536 = x533 + x535;
+ uint64_t x537 = x426 * 0x13;
+ uint128_t x538 = (uint128_t) x537 * x53;
+ uint128_t x539 = x536 + x538;
+ uint128_t x540 = (uint128_t) x432 * x56;
+ uint128_t x541 = (uint128_t) x430 * x57;
+ uint128_t x542 = x540 + x541;
+ uint64_t x543 = x424 * 0x13;
+ uint128_t x544 = (uint128_t) x543 * x55;
+ uint128_t x545 = x542 + x544;
+ uint64_t x546 = x428 * 0x13;
+ uint128_t x547 = (uint128_t) x546 * x53;
+ uint128_t x548 = x545 + x547;
+ uint64_t x549 = x426 * 0x13;
+ uint128_t x550 = (uint128_t) x549 * x54;
+ uint128_t x551 = x548 + x550;
+ uint128_t x552 = (uint128_t) x432 * x57;
+ uint64_t x553 = x424 * 0x13;
+ uint128_t x554 = (uint128_t) x553 * x56;
+ uint128_t x555 = x552 + x554;
+ uint64_t x556 = x430 * 0x13;
+ uint128_t x557 = (uint128_t) x556 * x53;
+ uint128_t x558 = x555 + x557;
+ uint64_t x559 = x428 * 0x13;
+ uint128_t x560 = (uint128_t) x559 * x54;
+ uint128_t x561 = x558 + x560;
+ uint64_t x562 = x426 * 0x13;
+ uint128_t x563 = (uint128_t) x562 * x55;
+ uint128_t x564 = x561 + x563;
+ uint64_t x565 = (uint64_t) (x564 >> 0x33);
+ uint128_t x566 = x565 + x551;
+ uint64_t x567 = (uint64_t) (x566 >> 0x33);
+ uint128_t x568 = x567 + x539;
+ uint64_t x569 = (uint64_t) (x568 >> 0x33);
+ uint128_t x570 = x569 + x528;
+ uint64_t x571 = (uint64_t) (x570 >> 0x33);
+ uint128_t x572 = x571 + x518;
+ uint64_t x573 = (uint64_t) x564 & 0x7ffffffffffff;
+ uint64_t x574 = (uint64_t) (x572 >> 0x33);
+ uint64_t x575 = 0x13 * x574;
+ uint64_t x576 = x573 + x575;
+ uint64_t x577 = x576 >> 0x33;
+ uint64_t x578 = (uint64_t) x566 & 0x7ffffffffffff;
+ uint64_t x579 = x577 + x578;
+ uint64_t x580 = (uint64_t) x572 & 0x7ffffffffffff;
+ uint64_t x581 = (uint64_t) x570 & 0x7ffffffffffff;
+ uint64_t x582 = x579 >> 0x33;
+ uint64_t x583 = (uint64_t) x568 & 0x7ffffffffffff;
+ uint64_t x584 = x582 + x583;
+ uint64_t x585 = x579 & 0x7ffffffffffff;
+ uint64_t x586 = x576 & 0x7ffffffffffff;
+ uint64_t x587 = x580 + x503;
+ uint64_t x588 = x581 + x504;
+ uint64_t x589 = x584 + x507;
+ uint64_t x590 = x585 + x508;
+ uint64_t x591 = x586 + x509;
+ uint64_t x592 = x580 + x503;
+ uint64_t x593 = x581 + x504;
+ uint64_t x594 = x584 + x507;
+ uint64_t x595 = x585 + x508;
+ uint64_t x596 = x586 + x509;
+ uint128_t x597 = (uint128_t) x591 * x592;
+ uint128_t x598 = (uint128_t) x587 * x596;
+ uint128_t x599 = x597 + x598;
+ uint128_t x600 = (uint128_t) x588 * x595;
+ uint128_t x601 = x599 + x600;
+ uint128_t x602 = (uint128_t) x590 * x593;
+ uint128_t x603 = x601 + x602;
+ uint128_t x604 = (uint128_t) x589 * x594;
uint128_t x605 = x603 + x604;
- uint128_t x606 = x602 + x605;
- uint128_t x607 = x601 + x606;
- uint128_t x608 = 0x13 * x607;
- uint128_t x609 = x600 + x608;
- uint64_t x610 = (uint64_t) (x609 >> 0x33);
- uint128_t x611 = x610 + x599;
- uint64_t x612 = (uint64_t) (x611 >> 0x33);
- uint128_t x613 = x612 + x589;
- uint64_t x614 = (uint64_t) (x613 >> 0x33);
- uint128_t x615 = x614 + x579;
- uint64_t x616 = (uint64_t) (x615 >> 0x33);
- uint128_t x617 = x616 + x569;
- uint64_t x618 = (uint64_t) x609 & 0x7ffffffffffff;
- uint64_t x619 = (uint64_t) (x617 >> 0x33);
- uint64_t x620 = 0x13 * x619;
- uint64_t x621 = x618 + x620;
- uint64_t x622 = x621 >> 0x33;
- uint64_t x623 = (uint64_t) x611 & 0x7ffffffffffff;
- uint64_t x624 = x622 + x623;
- uint64_t x625 = (uint64_t) x617 & 0x7ffffffffffff;
- uint64_t x626 = (uint64_t) x615 & 0x7ffffffffffff;
- uint64_t x627 = x624 >> 0x33;
- uint64_t x628 = (uint64_t) x613 & 0x7ffffffffffff;
- uint64_t x629 = x627 + x628;
- uint64_t x630 = x624 & 0x7ffffffffffff;
- uint64_t x631 = x621 & 0x7ffffffffffff;
- uint64_t x632 = 0xffffffffffffe + x544;
- uint64_t x633 = x632 - x473;
- uint64_t x634 = 0xffffffffffffe + x545;
- uint64_t x635 = x634 - x474;
- uint64_t x636 = 0xffffffffffffe + x548;
- uint64_t x637 = x636 - x477;
- uint64_t x638 = 0xffffffffffffe + x549;
- uint64_t x639 = x638 - x478;
- uint64_t x640 = 0xfffffffffffda + x550;
- uint64_t x641 = x640 - x479;
- uint64_t x642 = 0xffffffffffffe + x544;
- uint64_t x643 = x642 - x473;
- uint64_t x644 = 0xffffffffffffe + x545;
- uint64_t x645 = x644 - x474;
- uint64_t x646 = 0xffffffffffffe + x548;
- uint64_t x647 = x646 - x477;
- uint64_t x648 = 0xffffffffffffe + x549;
- uint64_t x649 = x648 - x478;
- uint64_t x650 = 0xfffffffffffda + x550;
- uint64_t x651 = x650 - x479;
- uint128_t x652 = (uint128_t) x641 * x643;
- uint128_t x653 = (uint128_t) x639 * x645;
- uint128_t x654 = (uint128_t) x637 * x647;
- uint128_t x655 = (uint128_t) x635 * x649;
- uint128_t x656 = (uint128_t) x633 * x651;
- uint128_t x657 = x655 + x656;
- uint128_t x658 = x654 + x657;
- uint128_t x659 = x653 + x658;
- uint128_t x660 = x652 + x659;
- uint128_t x661 = (uint128_t) x641 * x645;
- uint128_t x662 = (uint128_t) x639 * x647;
- uint128_t x663 = (uint128_t) x637 * x649;
- uint128_t x664 = (uint128_t) x635 * x651;
- uint128_t x665 = x663 + x664;
- uint128_t x666 = x662 + x665;
- uint128_t x667 = x661 + x666;
- uint128_t x668 = (uint128_t) x633 * x643;
- uint128_t x669 = 0x13 * x668;
- uint128_t x670 = x667 + x669;
- uint128_t x671 = (uint128_t) x641 * x647;
- uint128_t x672 = (uint128_t) x639 * x649;
- uint128_t x673 = (uint128_t) x637 * x651;
- uint128_t x674 = x672 + x673;
- uint128_t x675 = x671 + x674;
- uint128_t x676 = (uint128_t) x635 * x643;
- uint128_t x677 = (uint128_t) x633 * x645;
- uint128_t x678 = x676 + x677;
- uint128_t x679 = 0x13 * x678;
- uint128_t x680 = x675 + x679;
- uint128_t x681 = (uint128_t) x641 * x649;
- uint128_t x682 = (uint128_t) x639 * x651;
- uint128_t x683 = x681 + x682;
- uint128_t x684 = (uint128_t) x637 * x643;
- uint128_t x685 = (uint128_t) x635 * x645;
- uint128_t x686 = (uint128_t) x633 * x647;
- uint128_t x687 = x685 + x686;
- uint128_t x688 = x684 + x687;
- uint128_t x689 = 0x13 * x688;
- uint128_t x690 = x683 + x689;
- uint128_t x691 = (uint128_t) x641 * x651;
- uint128_t x692 = (uint128_t) x639 * x643;
- uint128_t x693 = (uint128_t) x637 * x645;
- uint128_t x694 = (uint128_t) x635 * x647;
- uint128_t x695 = (uint128_t) x633 * x649;
+ uint128_t x606 = (uint128_t) x591 * x593;
+ uint128_t x607 = (uint128_t) x588 * x596;
+ uint128_t x608 = x606 + x607;
+ uint128_t x609 = (uint128_t) x590 * x594;
+ uint128_t x610 = x608 + x609;
+ uint128_t x611 = (uint128_t) x589 * x595;
+ uint128_t x612 = x610 + x611;
+ uint64_t x613 = x587 * 0x13;
+ uint128_t x614 = (uint128_t) x613 * x592;
+ uint128_t x615 = x612 + x614;
+ uint128_t x616 = (uint128_t) x591 * x594;
+ uint128_t x617 = (uint128_t) x589 * x596;
+ uint128_t x618 = x616 + x617;
+ uint128_t x619 = (uint128_t) x590 * x595;
+ uint128_t x620 = x618 + x619;
+ uint64_t x621 = x587 * 0x13;
+ uint128_t x622 = (uint128_t) x621 * x593;
+ uint128_t x623 = x620 + x622;
+ uint64_t x624 = x588 * 0x13;
+ uint128_t x625 = (uint128_t) x624 * x592;
+ uint128_t x626 = x623 + x625;
+ uint128_t x627 = (uint128_t) x591 * x595;
+ uint128_t x628 = (uint128_t) x590 * x596;
+ uint128_t x629 = x627 + x628;
+ uint64_t x630 = x587 * 0x13;
+ uint128_t x631 = (uint128_t) x630 * x594;
+ uint128_t x632 = x629 + x631;
+ uint64_t x633 = x589 * 0x13;
+ uint128_t x634 = (uint128_t) x633 * x592;
+ uint128_t x635 = x632 + x634;
+ uint64_t x636 = x588 * 0x13;
+ uint128_t x637 = (uint128_t) x636 * x593;
+ uint128_t x638 = x635 + x637;
+ uint128_t x639 = (uint128_t) x591 * x596;
+ uint64_t x640 = x587 * 0x13;
+ uint128_t x641 = (uint128_t) x640 * x595;
+ uint128_t x642 = x639 + x641;
+ uint64_t x643 = x590 * 0x13;
+ uint128_t x644 = (uint128_t) x643 * x592;
+ uint128_t x645 = x642 + x644;
+ uint64_t x646 = x589 * 0x13;
+ uint128_t x647 = (uint128_t) x646 * x593;
+ uint128_t x648 = x645 + x647;
+ uint64_t x649 = x588 * 0x13;
+ uint128_t x650 = (uint128_t) x649 * x594;
+ uint128_t x651 = x648 + x650;
+ uint64_t x652 = (uint64_t) (x651 >> 0x33);
+ uint128_t x653 = x652 + x638;
+ uint64_t x654 = (uint64_t) (x653 >> 0x33);
+ uint128_t x655 = x654 + x626;
+ uint64_t x656 = (uint64_t) (x655 >> 0x33);
+ uint128_t x657 = x656 + x615;
+ uint64_t x658 = (uint64_t) (x657 >> 0x33);
+ uint128_t x659 = x658 + x605;
+ uint64_t x660 = (uint64_t) x651 & 0x7ffffffffffff;
+ uint64_t x661 = (uint64_t) (x659 >> 0x33);
+ uint64_t x662 = 0x13 * x661;
+ uint64_t x663 = x660 + x662;
+ uint64_t x664 = x663 >> 0x33;
+ uint64_t x665 = (uint64_t) x653 & 0x7ffffffffffff;
+ uint64_t x666 = x664 + x665;
+ uint64_t x667 = (uint64_t) x659 & 0x7ffffffffffff;
+ uint64_t x668 = (uint64_t) x657 & 0x7ffffffffffff;
+ uint64_t x669 = x666 >> 0x33;
+ uint64_t x670 = (uint64_t) x655 & 0x7ffffffffffff;
+ uint64_t x671 = x669 + x670;
+ uint64_t x672 = x666 & 0x7ffffffffffff;
+ uint64_t x673 = x663 & 0x7ffffffffffff;
+ uint64_t x674 = 0xffffffffffffe + x580;
+ uint64_t x675 = x674 - x503;
+ uint64_t x676 = 0xffffffffffffe + x581;
+ uint64_t x677 = x676 - x504;
+ uint64_t x678 = 0xffffffffffffe + x584;
+ uint64_t x679 = x678 - x507;
+ uint64_t x680 = 0xffffffffffffe + x585;
+ uint64_t x681 = x680 - x508;
+ uint64_t x682 = 0xfffffffffffda + x586;
+ uint64_t x683 = x682 - x509;
+ uint64_t x684 = 0xffffffffffffe + x580;
+ uint64_t x685 = x684 - x503;
+ uint64_t x686 = 0xffffffffffffe + x581;
+ uint64_t x687 = x686 - x504;
+ uint64_t x688 = 0xffffffffffffe + x584;
+ uint64_t x689 = x688 - x507;
+ uint64_t x690 = 0xffffffffffffe + x585;
+ uint64_t x691 = x690 - x508;
+ uint64_t x692 = 0xfffffffffffda + x586;
+ uint64_t x693 = x692 - x509;
+ uint128_t x694 = (uint128_t) x683 * x685;
+ uint128_t x695 = (uint128_t) x675 * x693;
uint128_t x696 = x694 + x695;
- uint128_t x697 = x693 + x696;
- uint128_t x698 = x692 + x697;
- uint128_t x699 = 0x13 * x698;
- uint128_t x700 = x691 + x699;
- uint64_t x701 = (uint64_t) (x700 >> 0x33);
- uint128_t x702 = x701 + x690;
- uint64_t x703 = (uint64_t) (x702 >> 0x33);
- uint128_t x704 = x703 + x680;
- uint64_t x705 = (uint64_t) (x704 >> 0x33);
- uint128_t x706 = x705 + x670;
- uint64_t x707 = (uint64_t) (x706 >> 0x33);
- uint128_t x708 = x707 + x660;
- uint64_t x709 = (uint64_t) x700 & 0x7ffffffffffff;
- uint64_t x710 = (uint64_t) (x708 >> 0x33);
- uint64_t x711 = 0x13 * x710;
- uint64_t x712 = x709 + x711;
- uint64_t x713 = x712 >> 0x33;
- uint64_t x714 = (uint64_t) x702 & 0x7ffffffffffff;
- uint64_t x715 = x713 + x714;
- uint64_t x716 = (uint64_t) x708 & 0x7ffffffffffff;
- uint64_t x717 = (uint64_t) x706 & 0x7ffffffffffff;
- uint64_t x718 = x715 >> 0x33;
- uint64_t x719 = (uint64_t) x704 & 0x7ffffffffffff;
- uint64_t x720 = x718 + x719;
- uint64_t x721 = x715 & 0x7ffffffffffff;
- uint64_t x722 = x712 & 0x7ffffffffffff;
- uint128_t x723 = (uint128_t) x10 * x716;
- uint128_t x724 = (uint128_t) x12 * x717;
- uint128_t x725 = (uint128_t) x14 * x720;
- uint128_t x726 = (uint128_t) x16 * x721;
- uint128_t x727 = (uint128_t) x15 * x722;
- uint128_t x728 = x726 + x727;
- uint128_t x729 = x725 + x728;
- uint128_t x730 = x724 + x729;
- uint128_t x731 = x723 + x730;
- uint128_t x732 = (uint128_t) x10 * x717;
- uint128_t x733 = (uint128_t) x12 * x720;
- uint128_t x734 = (uint128_t) x14 * x721;
- uint128_t x735 = (uint128_t) x16 * x722;
- uint128_t x736 = x734 + x735;
- uint128_t x737 = x733 + x736;
- uint128_t x738 = x732 + x737;
- uint128_t x739 = (uint128_t) x15 * x716;
- uint128_t x740 = 0x13 * x739;
- uint128_t x741 = x738 + x740;
- uint128_t x742 = (uint128_t) x10 * x720;
- uint128_t x743 = (uint128_t) x12 * x721;
- uint128_t x744 = (uint128_t) x14 * x722;
- uint128_t x745 = x743 + x744;
- uint128_t x746 = x742 + x745;
- uint128_t x747 = (uint128_t) x16 * x716;
- uint128_t x748 = (uint128_t) x15 * x717;
- uint128_t x749 = x747 + x748;
- uint128_t x750 = 0x13 * x749;
- uint128_t x751 = x746 + x750;
- uint128_t x752 = (uint128_t) x10 * x721;
- uint128_t x753 = (uint128_t) x12 * x722;
- uint128_t x754 = x752 + x753;
- uint128_t x755 = (uint128_t) x14 * x716;
- uint128_t x756 = (uint128_t) x16 * x717;
- uint128_t x757 = (uint128_t) x15 * x720;
- uint128_t x758 = x756 + x757;
- uint128_t x759 = x755 + x758;
- uint128_t x760 = 0x13 * x759;
- uint128_t x761 = x754 + x760;
- uint128_t x762 = (uint128_t) x10 * x722;
- uint128_t x763 = (uint128_t) x12 * x716;
- uint128_t x764 = (uint128_t) x14 * x717;
- uint128_t x765 = (uint128_t) x16 * x720;
- uint128_t x766 = (uint128_t) x15 * x721;
- uint128_t x767 = x765 + x766;
- uint128_t x768 = x764 + x767;
- uint128_t x769 = x763 + x768;
- uint128_t x770 = 0x13 * x769;
- uint128_t x771 = x762 + x770;
- uint64_t x772 = (uint64_t) (x771 >> 0x33);
- uint128_t x773 = x772 + x761;
- uint64_t x774 = (uint64_t) (x773 >> 0x33);
- uint128_t x775 = x774 + x751;
- uint64_t x776 = (uint64_t) (x775 >> 0x33);
- uint128_t x777 = x776 + x741;
- uint64_t x778 = (uint64_t) (x777 >> 0x33);
- uint128_t x779 = x778 + x731;
- uint64_t x780 = (uint64_t) x771 & 0x7ffffffffffff;
- uint64_t x781 = (uint64_t) (x779 >> 0x33);
- uint64_t x782 = 0x13 * x781;
- uint64_t x783 = x780 + x782;
- uint64_t x784 = x783 >> 0x33;
- uint64_t x785 = (uint64_t) x773 & 0x7ffffffffffff;
- uint64_t x786 = x784 + x785;
- uint64_t x787 = (uint64_t) x779 & 0x7ffffffffffff;
- uint64_t x788 = (uint64_t) x777 & 0x7ffffffffffff;
- uint64_t x789 = x786 >> 0x33;
- uint64_t x790 = (uint64_t) x775 & 0x7ffffffffffff;
- uint64_t x791 = x789 + x790;
- uint64_t x792 = x786 & 0x7ffffffffffff;
- uint64_t x793 = x783 & 0x7ffffffffffff;
- (Return x274, Return x275, Return x278, Return x279, Return x280, (Return x387, Return x388, Return x391, Return x392, Return x393), (Return x625, Return x626, Return x629, Return x630, Return x631, (Return x787, Return x788, Return x791, Return x792, Return x793))))
+ uint128_t x697 = (uint128_t) x677 * x691;
+ uint128_t x698 = x696 + x697;
+ uint128_t x699 = (uint128_t) x681 * x687;
+ uint128_t x700 = x698 + x699;
+ uint128_t x701 = (uint128_t) x679 * x689;
+ uint128_t x702 = x700 + x701;
+ uint128_t x703 = (uint128_t) x683 * x687;
+ uint128_t x704 = (uint128_t) x677 * x693;
+ uint128_t x705 = x703 + x704;
+ uint128_t x706 = (uint128_t) x681 * x689;
+ uint128_t x707 = x705 + x706;
+ uint128_t x708 = (uint128_t) x679 * x691;
+ uint128_t x709 = x707 + x708;
+ uint64_t x710 = x675 * 0x13;
+ uint128_t x711 = (uint128_t) x710 * x685;
+ uint128_t x712 = x709 + x711;
+ uint128_t x713 = (uint128_t) x683 * x689;
+ uint128_t x714 = (uint128_t) x679 * x693;
+ uint128_t x715 = x713 + x714;
+ uint128_t x716 = (uint128_t) x681 * x691;
+ uint128_t x717 = x715 + x716;
+ uint64_t x718 = x675 * 0x13;
+ uint128_t x719 = (uint128_t) x718 * x687;
+ uint128_t x720 = x717 + x719;
+ uint64_t x721 = x677 * 0x13;
+ uint128_t x722 = (uint128_t) x721 * x685;
+ uint128_t x723 = x720 + x722;
+ uint128_t x724 = (uint128_t) x683 * x691;
+ uint128_t x725 = (uint128_t) x681 * x693;
+ uint128_t x726 = x724 + x725;
+ uint64_t x727 = x675 * 0x13;
+ uint128_t x728 = (uint128_t) x727 * x689;
+ uint128_t x729 = x726 + x728;
+ uint64_t x730 = x679 * 0x13;
+ uint128_t x731 = (uint128_t) x730 * x685;
+ uint128_t x732 = x729 + x731;
+ uint64_t x733 = x677 * 0x13;
+ uint128_t x734 = (uint128_t) x733 * x687;
+ uint128_t x735 = x732 + x734;
+ uint128_t x736 = (uint128_t) x683 * x693;
+ uint64_t x737 = x675 * 0x13;
+ uint128_t x738 = (uint128_t) x737 * x691;
+ uint128_t x739 = x736 + x738;
+ uint64_t x740 = x681 * 0x13;
+ uint128_t x741 = (uint128_t) x740 * x685;
+ uint128_t x742 = x739 + x741;
+ uint64_t x743 = x679 * 0x13;
+ uint128_t x744 = (uint128_t) x743 * x687;
+ uint128_t x745 = x742 + x744;
+ uint64_t x746 = x677 * 0x13;
+ uint128_t x747 = (uint128_t) x746 * x689;
+ uint128_t x748 = x745 + x747;
+ uint64_t x749 = (uint64_t) (x748 >> 0x33);
+ uint128_t x750 = x749 + x735;
+ uint64_t x751 = (uint64_t) (x750 >> 0x33);
+ uint128_t x752 = x751 + x723;
+ uint64_t x753 = (uint64_t) (x752 >> 0x33);
+ uint128_t x754 = x753 + x712;
+ uint64_t x755 = (uint64_t) (x754 >> 0x33);
+ uint128_t x756 = x755 + x702;
+ uint64_t x757 = (uint64_t) x748 & 0x7ffffffffffff;
+ uint64_t x758 = (uint64_t) (x756 >> 0x33);
+ uint64_t x759 = 0x13 * x758;
+ uint64_t x760 = x757 + x759;
+ uint64_t x761 = x760 >> 0x33;
+ uint64_t x762 = (uint64_t) x750 & 0x7ffffffffffff;
+ uint64_t x763 = x761 + x762;
+ uint64_t x764 = (uint64_t) x756 & 0x7ffffffffffff;
+ uint64_t x765 = (uint64_t) x754 & 0x7ffffffffffff;
+ uint64_t x766 = x763 >> 0x33;
+ uint64_t x767 = (uint64_t) x752 & 0x7ffffffffffff;
+ uint64_t x768 = x766 + x767;
+ uint64_t x769 = x763 & 0x7ffffffffffff;
+ uint64_t x770 = x760 & 0x7ffffffffffff;
+ uint128_t x771 = (uint128_t) x10 * x764;
+ uint128_t x772 = (uint128_t) x15 * x770;
+ uint128_t x773 = x771 + x772;
+ uint128_t x774 = (uint128_t) x16 * x769;
+ uint128_t x775 = x773 + x774;
+ uint128_t x776 = (uint128_t) x12 * x765;
+ uint128_t x777 = x775 + x776;
+ uint128_t x778 = (uint128_t) x14 * x768;
+ uint128_t x779 = x777 + x778;
+ uint128_t x780 = (uint128_t) x10 * x765;
+ uint128_t x781 = (uint128_t) x16 * x770;
+ uint128_t x782 = x780 + x781;
+ uint128_t x783 = (uint128_t) x12 * x768;
+ uint128_t x784 = x782 + x783;
+ uint128_t x785 = (uint128_t) x14 * x769;
+ uint128_t x786 = x784 + x785;
+ uint64_t x787 = x15 * 0x13;
+ uint128_t x788 = (uint128_t) x787 * x764;
+ uint128_t x789 = x786 + x788;
+ uint128_t x790 = (uint128_t) x10 * x768;
+ uint128_t x791 = (uint128_t) x14 * x770;
+ uint128_t x792 = x790 + x791;
+ uint128_t x793 = (uint128_t) x12 * x769;
+ uint128_t x794 = x792 + x793;
+ uint64_t x795 = x15 * 0x13;
+ uint128_t x796 = (uint128_t) x795 * x765;
+ uint128_t x797 = x794 + x796;
+ uint64_t x798 = x16 * 0x13;
+ uint128_t x799 = (uint128_t) x798 * x764;
+ uint128_t x800 = x797 + x799;
+ uint128_t x801 = (uint128_t) x10 * x769;
+ uint128_t x802 = (uint128_t) x12 * x770;
+ uint128_t x803 = x801 + x802;
+ uint64_t x804 = x15 * 0x13;
+ uint128_t x805 = (uint128_t) x804 * x768;
+ uint128_t x806 = x803 + x805;
+ uint64_t x807 = x14 * 0x13;
+ uint128_t x808 = (uint128_t) x807 * x764;
+ uint128_t x809 = x806 + x808;
+ uint64_t x810 = x16 * 0x13;
+ uint128_t x811 = (uint128_t) x810 * x765;
+ uint128_t x812 = x809 + x811;
+ uint128_t x813 = (uint128_t) x10 * x770;
+ uint64_t x814 = x15 * 0x13;
+ uint128_t x815 = (uint128_t) x814 * x769;
+ uint128_t x816 = x813 + x815;
+ uint64_t x817 = x12 * 0x13;
+ uint128_t x818 = (uint128_t) x817 * x764;
+ uint128_t x819 = x816 + x818;
+ uint64_t x820 = x14 * 0x13;
+ uint128_t x821 = (uint128_t) x820 * x765;
+ uint128_t x822 = x819 + x821;
+ uint64_t x823 = x16 * 0x13;
+ uint128_t x824 = (uint128_t) x823 * x768;
+ uint128_t x825 = x822 + x824;
+ uint64_t x826 = (uint64_t) (x825 >> 0x33);
+ uint128_t x827 = x826 + x812;
+ uint64_t x828 = (uint64_t) (x827 >> 0x33);
+ uint128_t x829 = x828 + x800;
+ uint64_t x830 = (uint64_t) (x829 >> 0x33);
+ uint128_t x831 = x830 + x789;
+ uint64_t x832 = (uint64_t) (x831 >> 0x33);
+ uint128_t x833 = x832 + x779;
+ uint64_t x834 = (uint64_t) x825 & 0x7ffffffffffff;
+ uint64_t x835 = (uint64_t) (x833 >> 0x33);
+ uint64_t x836 = 0x13 * x835;
+ uint64_t x837 = x834 + x836;
+ uint64_t x838 = x837 >> 0x33;
+ uint64_t x839 = (uint64_t) x827 & 0x7ffffffffffff;
+ uint64_t x840 = x838 + x839;
+ uint64_t x841 = (uint64_t) x833 & 0x7ffffffffffff;
+ uint64_t x842 = (uint64_t) x831 & 0x7ffffffffffff;
+ uint64_t x843 = x840 >> 0x33;
+ uint64_t x844 = (uint64_t) x829 & 0x7ffffffffffff;
+ uint64_t x845 = x843 + x844;
+ uint64_t x846 = x840 & 0x7ffffffffffff;
+ uint64_t x847 = x837 & 0x7ffffffffffff;
+ (Return x292, Return x293, Return x296, Return x297, Return x298, (Return x411, Return x412, Return x415, Return x416, Return x417), (Return x667, Return x668, Return x671, Return x672, Return x673, (Return x841, Return x842, Return x845, Return x846, Return x847))))
(x, (x0, x1), (x2, x3))%core in
(let (a0, b0) := a in
(a0, b0), let (a0, b0) := b in
diff --git a/src/Specific/IntegrationTestMulDisplay.log b/src/Specific/IntegrationTestMulDisplay.log
index 864cbd444..8d6d2af78 100644
--- a/src/Specific/IntegrationTestMulDisplay.log
+++ b/src/Specific/IntegrationTestMulDisplay.log
@@ -3,76 +3,82 @@ Interp-η
(λ var : Syntax.base_type → Type,
λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
uint128_t x20 = (uint128_t) x5 * x18;
- uint128_t x21 = (uint128_t) x7 * x19;
- uint128_t x22 = (uint128_t) x9 * x17;
+ uint128_t x21 = (uint128_t) x10 * x13;
+ uint128_t x22 = x20 + x21;
uint128_t x23 = (uint128_t) x11 * x15;
- uint128_t x24 = (uint128_t) x10 * x13;
- uint128_t x25 = x23 + x24;
- uint128_t x26 = x22 + x25;
- uint128_t x27 = x21 + x26;
- uint128_t x28 = x20 + x27;
+ uint128_t x24 = x22 + x23;
+ uint128_t x25 = (uint128_t) x7 * x19;
+ uint128_t x26 = x24 + x25;
+ uint128_t x27 = (uint128_t) x9 * x17;
+ uint128_t x28 = x26 + x27;
uint128_t x29 = (uint128_t) x5 * x19;
- uint128_t x30 = (uint128_t) x7 * x17;
- uint128_t x31 = (uint128_t) x9 * x15;
- uint128_t x32 = (uint128_t) x11 * x13;
+ uint128_t x30 = (uint128_t) x11 * x13;
+ uint128_t x31 = x29 + x30;
+ uint128_t x32 = (uint128_t) x7 * x17;
uint128_t x33 = x31 + x32;
- uint128_t x34 = x30 + x33;
- uint128_t x35 = x29 + x34;
- uint128_t x36 = (uint128_t) x10 * x18;
- uint128_t x37 = 0x13 * x36;
+ uint128_t x34 = (uint128_t) x9 * x15;
+ uint128_t x35 = x33 + x34;
+ uint64_t x36 = x10 * 0x13;
+ uint128_t x37 = (uint128_t) x36 * x18;
uint128_t x38 = x35 + x37;
uint128_t x39 = (uint128_t) x5 * x17;
- uint128_t x40 = (uint128_t) x7 * x15;
- uint128_t x41 = (uint128_t) x9 * x13;
- uint128_t x42 = x40 + x41;
- uint128_t x43 = x39 + x42;
- uint128_t x44 = (uint128_t) x11 * x18;
- uint128_t x45 = (uint128_t) x10 * x19;
- uint128_t x46 = x44 + x45;
- uint128_t x47 = 0x13 * x46;
- uint128_t x48 = x43 + x47;
- uint128_t x49 = (uint128_t) x5 * x15;
- uint128_t x50 = (uint128_t) x7 * x13;
- uint128_t x51 = x49 + x50;
- uint128_t x52 = (uint128_t) x9 * x18;
- uint128_t x53 = (uint128_t) x11 * x19;
- uint128_t x54 = (uint128_t) x10 * x17;
- uint128_t x55 = x53 + x54;
- uint128_t x56 = x52 + x55;
- uint128_t x57 = 0x13 * x56;
- uint128_t x58 = x51 + x57;
- uint128_t x59 = (uint128_t) x5 * x13;
- uint128_t x60 = (uint128_t) x7 * x18;
- uint128_t x61 = (uint128_t) x9 * x19;
- uint128_t x62 = (uint128_t) x11 * x17;
- uint128_t x63 = (uint128_t) x10 * x15;
- uint128_t x64 = x62 + x63;
- uint128_t x65 = x61 + x64;
- uint128_t x66 = x60 + x65;
- uint128_t x67 = 0x13 * x66;
- uint128_t x68 = x59 + x67;
- uint64_t x69 = (uint64_t) (x68 >> 0x33);
- uint128_t x70 = x69 + x58;
- uint64_t x71 = (uint64_t) (x70 >> 0x33);
- uint128_t x72 = x71 + x48;
- uint64_t x73 = (uint64_t) (x72 >> 0x33);
- uint128_t x74 = x73 + x38;
+ uint128_t x40 = (uint128_t) x9 * x13;
+ uint128_t x41 = x39 + x40;
+ uint128_t x42 = (uint128_t) x7 * x15;
+ uint128_t x43 = x41 + x42;
+ uint64_t x44 = x10 * 0x13;
+ uint128_t x45 = (uint128_t) x44 * x19;
+ uint128_t x46 = x43 + x45;
+ uint64_t x47 = x11 * 0x13;
+ uint128_t x48 = (uint128_t) x47 * x18;
+ uint128_t x49 = x46 + x48;
+ uint128_t x50 = (uint128_t) x5 * x15;
+ uint128_t x51 = (uint128_t) x7 * x13;
+ uint128_t x52 = x50 + x51;
+ uint64_t x53 = x10 * 0x13;
+ uint128_t x54 = (uint128_t) x53 * x17;
+ uint128_t x55 = x52 + x54;
+ uint64_t x56 = x9 * 0x13;
+ uint128_t x57 = (uint128_t) x56 * x18;
+ uint128_t x58 = x55 + x57;
+ uint64_t x59 = x11 * 0x13;
+ uint128_t x60 = (uint128_t) x59 * x19;
+ uint128_t x61 = x58 + x60;
+ uint128_t x62 = (uint128_t) x5 * x13;
+ uint64_t x63 = x10 * 0x13;
+ uint128_t x64 = (uint128_t) x63 * x15;
+ uint128_t x65 = x62 + x64;
+ uint64_t x66 = x7 * 0x13;
+ uint128_t x67 = (uint128_t) x66 * x18;
+ uint128_t x68 = x65 + x67;
+ uint64_t x69 = x9 * 0x13;
+ uint128_t x70 = (uint128_t) x69 * x19;
+ uint128_t x71 = x68 + x70;
+ uint64_t x72 = x11 * 0x13;
+ uint128_t x73 = (uint128_t) x72 * x17;
+ uint128_t x74 = x71 + x73;
uint64_t x75 = (uint64_t) (x74 >> 0x33);
- uint128_t x76 = x75 + x28;
- uint64_t x77 = (uint64_t) x68 & 0x7ffffffffffff;
- uint64_t x78 = (uint64_t) (x76 >> 0x33);
- uint64_t x79 = 0x13 * x78;
- uint64_t x80 = x77 + x79;
- uint64_t x81 = x80 >> 0x33;
- uint64_t x82 = (uint64_t) x70 & 0x7ffffffffffff;
- uint64_t x83 = x81 + x82;
- uint64_t x84 = (uint64_t) x76 & 0x7ffffffffffff;
- uint64_t x85 = (uint64_t) x74 & 0x7ffffffffffff;
- uint64_t x86 = x83 >> 0x33;
- uint64_t x87 = (uint64_t) x72 & 0x7ffffffffffff;
- uint64_t x88 = x86 + x87;
- uint64_t x89 = x83 & 0x7ffffffffffff;
- uint64_t x90 = x80 & 0x7ffffffffffff;
- (Return x84, Return x85, Return x88, Return x89, Return x90))
+ uint128_t x76 = x75 + x61;
+ uint64_t x77 = (uint64_t) (x76 >> 0x33);
+ uint128_t x78 = x77 + x49;
+ uint64_t x79 = (uint64_t) (x78 >> 0x33);
+ uint128_t x80 = x79 + x38;
+ uint64_t x81 = (uint64_t) (x80 >> 0x33);
+ uint128_t x82 = x81 + x28;
+ uint64_t x83 = (uint64_t) x74 & 0x7ffffffffffff;
+ uint64_t x84 = (uint64_t) (x82 >> 0x33);
+ uint64_t x85 = 0x13 * x84;
+ uint64_t x86 = x83 + x85;
+ uint64_t x87 = x86 >> 0x33;
+ uint64_t x88 = (uint64_t) x76 & 0x7ffffffffffff;
+ uint64_t x89 = x87 + x88;
+ uint64_t x90 = (uint64_t) x82 & 0x7ffffffffffff;
+ uint64_t x91 = (uint64_t) x80 & 0x7ffffffffffff;
+ uint64_t x92 = x89 >> 0x33;
+ uint64_t x93 = (uint64_t) x78 & 0x7ffffffffffff;
+ uint64_t x94 = x92 + x93;
+ uint64_t x95 = x89 & 0x7ffffffffffff;
+ uint64_t x96 = x86 & 0x7ffffffffffff;
+ (Return x90, Return x91, Return x94, Return x95, Return x96))
(x, x0)%core
: word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/IntegrationTestSquareDisplay.log b/src/Specific/IntegrationTestSquareDisplay.log
index a5c11a0d9..e5d1ac785 100644
--- a/src/Specific/IntegrationTestSquareDisplay.log
+++ b/src/Specific/IntegrationTestSquareDisplay.log
@@ -3,76 +3,82 @@ Interp-η
(λ var : Syntax.base_type → Type,
λ '(x7, x8, x6, x4, x2)%core,
uint128_t x9 = (uint128_t) x2 * x7;
- uint128_t x10 = (uint128_t) x4 * x8;
- uint128_t x11 = (uint128_t) x6 * x6;
+ uint128_t x10 = (uint128_t) x7 * x2;
+ uint128_t x11 = x9 + x10;
uint128_t x12 = (uint128_t) x8 * x4;
- uint128_t x13 = (uint128_t) x7 * x2;
- uint128_t x14 = x12 + x13;
- uint128_t x15 = x11 + x14;
- uint128_t x16 = x10 + x15;
- uint128_t x17 = x9 + x16;
+ uint128_t x13 = x11 + x12;
+ uint128_t x14 = (uint128_t) x4 * x8;
+ uint128_t x15 = x13 + x14;
+ uint128_t x16 = (uint128_t) x6 * x6;
+ uint128_t x17 = x15 + x16;
uint128_t x18 = (uint128_t) x2 * x8;
- uint128_t x19 = (uint128_t) x4 * x6;
- uint128_t x20 = (uint128_t) x6 * x4;
- uint128_t x21 = (uint128_t) x8 * x2;
+ uint128_t x19 = (uint128_t) x8 * x2;
+ uint128_t x20 = x18 + x19;
+ uint128_t x21 = (uint128_t) x4 * x6;
uint128_t x22 = x20 + x21;
- uint128_t x23 = x19 + x22;
- uint128_t x24 = x18 + x23;
- uint128_t x25 = (uint128_t) x7 * x7;
- uint128_t x26 = 0x13 * x25;
+ uint128_t x23 = (uint128_t) x6 * x4;
+ uint128_t x24 = x22 + x23;
+ uint64_t x25 = x7 * 0x13;
+ uint128_t x26 = (uint128_t) x25 * x7;
uint128_t x27 = x24 + x26;
uint128_t x28 = (uint128_t) x2 * x6;
- uint128_t x29 = (uint128_t) x4 * x4;
- uint128_t x30 = (uint128_t) x6 * x2;
- uint128_t x31 = x29 + x30;
- uint128_t x32 = x28 + x31;
- uint128_t x33 = (uint128_t) x8 * x7;
- uint128_t x34 = (uint128_t) x7 * x8;
- uint128_t x35 = x33 + x34;
- uint128_t x36 = 0x13 * x35;
- uint128_t x37 = x32 + x36;
- uint128_t x38 = (uint128_t) x2 * x4;
- uint128_t x39 = (uint128_t) x4 * x2;
- uint128_t x40 = x38 + x39;
- uint128_t x41 = (uint128_t) x6 * x7;
- uint128_t x42 = (uint128_t) x8 * x8;
- uint128_t x43 = (uint128_t) x7 * x6;
- uint128_t x44 = x42 + x43;
- uint128_t x45 = x41 + x44;
- uint128_t x46 = 0x13 * x45;
- uint128_t x47 = x40 + x46;
- uint128_t x48 = (uint128_t) x2 * x2;
- uint128_t x49 = (uint128_t) x4 * x7;
- uint128_t x50 = (uint128_t) x6 * x8;
- uint128_t x51 = (uint128_t) x8 * x6;
- uint128_t x52 = (uint128_t) x7 * x4;
- uint128_t x53 = x51 + x52;
- uint128_t x54 = x50 + x53;
- uint128_t x55 = x49 + x54;
- uint128_t x56 = 0x13 * x55;
- uint128_t x57 = x48 + x56;
- uint64_t x58 = (uint64_t) (x57 >> 0x33);
- uint128_t x59 = x58 + x47;
- uint64_t x60 = (uint64_t) (x59 >> 0x33);
- uint128_t x61 = x60 + x37;
- uint64_t x62 = (uint64_t) (x61 >> 0x33);
- uint128_t x63 = x62 + x27;
+ uint128_t x29 = (uint128_t) x6 * x2;
+ uint128_t x30 = x28 + x29;
+ uint128_t x31 = (uint128_t) x4 * x4;
+ uint128_t x32 = x30 + x31;
+ uint64_t x33 = x7 * 0x13;
+ uint128_t x34 = (uint128_t) x33 * x8;
+ uint128_t x35 = x32 + x34;
+ uint64_t x36 = x8 * 0x13;
+ uint128_t x37 = (uint128_t) x36 * x7;
+ uint128_t x38 = x35 + x37;
+ uint128_t x39 = (uint128_t) x2 * x4;
+ uint128_t x40 = (uint128_t) x4 * x2;
+ uint128_t x41 = x39 + x40;
+ uint64_t x42 = x7 * 0x13;
+ uint128_t x43 = (uint128_t) x42 * x6;
+ uint128_t x44 = x41 + x43;
+ uint64_t x45 = x6 * 0x13;
+ uint128_t x46 = (uint128_t) x45 * x7;
+ uint128_t x47 = x44 + x46;
+ uint64_t x48 = x8 * 0x13;
+ uint128_t x49 = (uint128_t) x48 * x8;
+ uint128_t x50 = x47 + x49;
+ uint128_t x51 = (uint128_t) x2 * x2;
+ uint64_t x52 = x7 * 0x13;
+ uint128_t x53 = (uint128_t) x52 * x4;
+ uint128_t x54 = x51 + x53;
+ uint64_t x55 = x4 * 0x13;
+ uint128_t x56 = (uint128_t) x55 * x7;
+ uint128_t x57 = x54 + x56;
+ uint64_t x58 = x6 * 0x13;
+ uint128_t x59 = (uint128_t) x58 * x8;
+ uint128_t x60 = x57 + x59;
+ uint64_t x61 = x8 * 0x13;
+ uint128_t x62 = (uint128_t) x61 * x6;
+ uint128_t x63 = x60 + x62;
uint64_t x64 = (uint64_t) (x63 >> 0x33);
- uint128_t x65 = x64 + x17;
- uint64_t x66 = (uint64_t) x57 & 0x7ffffffffffff;
- uint64_t x67 = (uint64_t) (x65 >> 0x33);
- uint64_t x68 = 0x13 * x67;
- uint64_t x69 = x66 + x68;
- uint64_t x70 = x69 >> 0x33;
- uint64_t x71 = (uint64_t) x59 & 0x7ffffffffffff;
- uint64_t x72 = x70 + x71;
- uint64_t x73 = (uint64_t) x65 & 0x7ffffffffffff;
- uint64_t x74 = (uint64_t) x63 & 0x7ffffffffffff;
- uint64_t x75 = x72 >> 0x33;
- uint64_t x76 = (uint64_t) x61 & 0x7ffffffffffff;
- uint64_t x77 = x75 + x76;
- uint64_t x78 = x72 & 0x7ffffffffffff;
- uint64_t x79 = x69 & 0x7ffffffffffff;
- (Return x73, Return x74, Return x77, Return x78, Return x79))
+ uint128_t x65 = x64 + x50;
+ uint64_t x66 = (uint64_t) (x65 >> 0x33);
+ uint128_t x67 = x66 + x38;
+ uint64_t x68 = (uint64_t) (x67 >> 0x33);
+ uint128_t x69 = x68 + x27;
+ uint64_t x70 = (uint64_t) (x69 >> 0x33);
+ uint128_t x71 = x70 + x17;
+ uint64_t x72 = (uint64_t) x63 & 0x7ffffffffffff;
+ uint64_t x73 = (uint64_t) (x71 >> 0x33);
+ uint64_t x74 = 0x13 * x73;
+ uint64_t x75 = x72 + x74;
+ uint64_t x76 = x75 >> 0x33;
+ uint64_t x77 = (uint64_t) x65 & 0x7ffffffffffff;
+ uint64_t x78 = x76 + x77;
+ uint64_t x79 = (uint64_t) x71 & 0x7ffffffffffff;
+ uint64_t x80 = (uint64_t) x69 & 0x7ffffffffffff;
+ uint64_t x81 = x78 >> 0x33;
+ uint64_t x82 = (uint64_t) x67 & 0x7ffffffffffff;
+ uint64_t x83 = x81 + x82;
+ uint64_t x84 = x78 & 0x7ffffffffffff;
+ uint64_t x85 = x75 & 0x7ffffffffffff;
+ (Return x79, Return x80, Return x83, Return x84, Return x85))
x
: word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)