aboutsummaryrefslogtreecommitdiff
path: root/src/Specific
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-06-17 16:35:52 -0400
committerGravatar Jason Gross <jgross@mit.edu>2017-06-17 16:35:52 -0400
commit09dd4b006f0a25f7d49d6e49798386fda650cf09 (patch)
tree696dab43db8fb13845066cbb60815530e17a1639 /src/Specific
parentcbaeb861dda777cfb035593bb625b4397d6e5ef3 (diff)
Make display
Diffstat (limited to 'src/Specific')
-rw-r--r--src/Specific/IntegrationTestMontgomeryP256Display.log315
1 files changed, 178 insertions, 137 deletions
diff --git a/src/Specific/IntegrationTestMontgomeryP256Display.log b/src/Specific/IntegrationTestMontgomeryP256Display.log
index 6689cdec4..51345990f 100644
--- a/src/Specific/IntegrationTestMontgomeryP256Display.log
+++ b/src/Specific/IntegrationTestMontgomeryP256Display.log
@@ -2,10 +2,18 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x5, Return x11);
- uint64_t x20, uint64_t x21 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x5, Return x13);
- uint64_t x23, uint64_t x24 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x5, Return x15);
- uint64_t x26, uint64_t x27 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x5, Return x14);
+ uint128_t x16 = (uint128_t) x5 * x11;
+ uint64_t x17 = (uint64_t) x16 & 0xffffffffffffffffL;
+ uint64_t x18 = (uint64_t) (x16 >> 0x40);
+ uint128_t x19 = (uint128_t) x5 * x13;
+ uint64_t x20 = (uint64_t) x19 & 0xffffffffffffffffL;
+ uint64_t x21 = (uint64_t) (x19 >> 0x40);
+ uint128_t x22 = (uint128_t) x5 * x15;
+ uint64_t x23 = (uint64_t) x22 & 0xffffffffffffffffL;
+ uint64_t x24 = (uint64_t) (x22 >> 0x40);
+ uint128_t x25 = (uint128_t) x5 * x14;
+ uint64_t x26 = (uint64_t) x25 & 0xffffffffffffffffL;
+ uint64_t x27 = (uint64_t) (x25 >> 0x40);
uint64_t x29, bool x30 = addcarryx_u64(0x0, 0x0, x17);
uint64_t x32, bool x33 = addcarryx_u64(x30, x18, x20);
uint64_t x35, bool x36 = addcarryx_u64(x33, x21, x23);
@@ -19,138 +27,171 @@ Interp-η
uint64_t x55, bool x56 = addcarryx_u64(x53, 0x0, x35);
uint64_t x58, bool x59 = addcarryx_u64(x56, 0x0, x45);
uint64_t x61, bool x62 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 7) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x59, 0x0, Return x47);
- uint64_t x64, bool _ = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x49, 0x1);
- uint64_t x67, uint64_t x68 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x64, 0xffffffffffffffffL);
- uint64_t x70, uint64_t x71 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x64, 0xffffffff);
- bool x73, bool x74 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0)) (Return x64, 0x0);
- uint64_t x76, uint64_t x77 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x64, 0xffffffff00000001L);
- bool x79, bool x80 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0)) (Return x64, 0x0);
- uint64_t x82, bool x83 = addcarryx_u64(0x0, 0x0, x67);
- uint64_t x85, bool x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, bool x89 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x86, Return x71, Return x73);
- uint64_t x91, bool x92 = addcarryx_u64(x89, x74, x76);
- bool x94, bool x95 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0)) (0x0, Return x79, (bool) 0x10000000000000000L * x80);
- uint64_t x97, bool x98 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (0x0, Return x77, Return x94);
- bool x99 = x95 + x98;
- uint64_t x101, bool x102 = addcarryx_u64(0x0, x92, x97);
- bool x103 = x99 + x102;
- uint64_t _, bool x106 = addcarryx_u64(0x0, x49, x82);
- uint64_t x108, bool x109 = addcarryx_u64(x106, x52, x85);
- uint64_t x111, bool x112 = addcarryx_u64(x109, x55, x88);
- uint64_t x114, bool x115 = addcarryx_u64(x112, x58, x91);
- uint64_t x117, bool x118 = addcarryx_u64(x115, x61, x101);
- uint64_t x120, bool _ = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x118, Return x62, Return x103);
- uint64_t x123, uint64_t x124 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x7, Return x11);
- uint64_t x126, uint64_t x127 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x7, Return x13);
- uint64_t x129, uint64_t x130 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x7, Return x15);
- uint64_t x132, uint64_t x133 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x7, Return x14);
- uint64_t x135, bool x136 = addcarryx_u64(0x0, 0x0, x123);
- uint64_t x138, bool x139 = addcarryx_u64(x136, x124, x126);
- uint64_t x141, bool x142 = addcarryx_u64(x139, x127, x129);
- uint64_t x144, uint64_t x145 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 7) (Syntax.TWord 6) (Syntax.TWord 6)) (0x0, Return x132, 0x10000000000000000L * x133);
- uint64_t x147, bool x148 = addcarryx_u64(0x0, x130, x144);
- uint64_t x149 = x145 + x148;
- uint64_t x151, bool x152 = addcarryx_u64(0x0, x142, x147);
- uint128_t x153 = (uint128_t) x149 + x152;
- uint64_t x155, bool x156 = addcarryx_u64(0x0, x108, x135);
- uint64_t x158, bool x159 = addcarryx_u64(x156, x111, x138);
- uint64_t x161, bool x162 = addcarryx_u64(x159, x114, x141);
- uint64_t x164, bool x165 = addcarryx_u64(x162, x117, x151);
- uint64_t x167, bool x168 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 7) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x165, Return x120, Return x153);
- uint64_t x170, bool _ = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x155, 0x1);
- uint64_t x173, uint64_t x174 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x170, 0xffffffffffffffffL);
- uint64_t x176, uint64_t x177 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x170, 0xffffffff);
- bool x179, bool x180 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0)) (Return x170, 0x0);
- uint64_t x182, uint64_t x183 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x170, 0xffffffff00000001L);
- bool x185, bool x186 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0)) (Return x170, 0x0);
- uint64_t x188, bool x189 = addcarryx_u64(0x0, 0x0, x173);
- uint64_t x191, bool x192 = addcarryx_u64(x189, x174, x176);
- uint64_t x194, bool x195 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x192, Return x177, Return x179);
- uint64_t x197, bool x198 = addcarryx_u64(x195, x180, x182);
- bool x200, bool x201 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0)) (0x0, Return x185, (bool) 0x10000000000000000L * x186);
- uint64_t x203, bool x204 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (0x0, Return x183, Return x200);
- bool x205 = x201 + x204;
- uint64_t x207, bool x208 = addcarryx_u64(0x0, x198, x203);
- bool x209 = x205 + x208;
- uint64_t _, bool x212 = addcarryx_u64(0x0, x155, x188);
- uint64_t x214, bool x215 = addcarryx_u64(x212, x158, x191);
- uint64_t x217, bool x218 = addcarryx_u64(x215, x161, x194);
- uint64_t x220, bool x221 = addcarryx_u64(x218, x164, x197);
- uint64_t x223, bool x224 = addcarryx_u64(x221, x167, x207);
- uint64_t x226, bool _ = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x224, Return x168, Return x209);
- uint64_t x229, uint64_t x230 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x9, Return x11);
- uint64_t x232, uint64_t x233 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x9, Return x13);
- uint64_t x235, uint64_t x236 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x9, Return x15);
- uint64_t x238, uint64_t x239 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x9, Return x14);
- uint64_t x241, bool x242 = addcarryx_u64(0x0, 0x0, x229);
- uint64_t x244, bool x245 = addcarryx_u64(x242, x230, x232);
- uint64_t x247, bool x248 = addcarryx_u64(x245, x233, x235);
- uint64_t x250, uint64_t x251 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 7) (Syntax.TWord 6) (Syntax.TWord 6)) (0x0, Return x238, 0x10000000000000000L * x239);
- uint64_t x253, bool x254 = addcarryx_u64(0x0, x236, x250);
- uint64_t x255 = x251 + x254;
- uint64_t x257, bool x258 = addcarryx_u64(0x0, x248, x253);
- uint128_t x259 = (uint128_t) x255 + x258;
- uint64_t x261, bool x262 = addcarryx_u64(0x0, x214, x241);
- uint64_t x264, bool x265 = addcarryx_u64(x262, x217, x244);
- uint64_t x267, bool x268 = addcarryx_u64(x265, x220, x247);
- uint64_t x270, bool x271 = addcarryx_u64(x268, x223, x257);
- uint64_t x273, bool x274 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 7) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x271, Return x226, Return x259);
- uint64_t x276, bool _ = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x261, 0x1);
- uint64_t x279, uint64_t x280 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x276, 0xffffffffffffffffL);
- uint64_t x282, uint64_t x283 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x276, 0xffffffff);
- bool x285, bool x286 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0)) (Return x276, 0x0);
- uint64_t x288, uint64_t x289 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x276, 0xffffffff00000001L);
- bool x291, bool x292 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0)) (Return x276, 0x0);
- uint64_t x294, bool x295 = addcarryx_u64(0x0, 0x0, x279);
- uint64_t x297, bool x298 = addcarryx_u64(x295, x280, x282);
- uint64_t x300, bool x301 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x298, Return x283, Return x285);
- uint64_t x303, bool x304 = addcarryx_u64(x301, x286, x288);
- bool x306, bool x307 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0)) (0x0, Return x291, (bool) 0x10000000000000000L * x292);
- uint64_t x309, bool x310 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (0x0, Return x289, Return x306);
- bool x311 = x307 + x310;
- uint64_t x313, bool x314 = addcarryx_u64(0x0, x304, x309);
- bool x315 = x311 + x314;
- uint64_t _, bool x318 = addcarryx_u64(0x0, x261, x294);
- uint64_t x320, bool x321 = addcarryx_u64(x318, x264, x297);
- uint64_t x323, bool x324 = addcarryx_u64(x321, x267, x300);
- uint64_t x326, bool x327 = addcarryx_u64(x324, x270, x303);
- uint64_t x329, bool x330 = addcarryx_u64(x327, x273, x313);
- uint64_t x332, bool _ = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x330, Return x274, Return x315);
- uint64_t x335, uint64_t x336 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x8, Return x11);
- uint64_t x338, uint64_t x339 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x8, Return x13);
- uint64_t x341, uint64_t x342 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x8, Return x15);
- uint64_t x344, uint64_t x345 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x8, Return x14);
- uint64_t x347, bool x348 = addcarryx_u64(0x0, 0x0, x335);
- uint64_t x350, bool x351 = addcarryx_u64(x348, x336, x338);
- uint64_t x353, bool x354 = addcarryx_u64(x351, x339, x341);
- uint64_t x356, uint64_t x357 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 7) (Syntax.TWord 6) (Syntax.TWord 6)) (0x0, Return x344, 0x10000000000000000L * x345);
- uint64_t x359, bool x360 = addcarryx_u64(0x0, x342, x356);
- uint64_t x361 = x357 + x360;
- uint64_t x363, bool x364 = addcarryx_u64(0x0, x354, x359);
- uint128_t x365 = (uint128_t) x361 + x364;
- uint64_t x367, bool x368 = addcarryx_u64(0x0, x320, x347);
- uint64_t x370, bool x371 = addcarryx_u64(x368, x323, x350);
- uint64_t x373, bool x374 = addcarryx_u64(x371, x326, x353);
- uint64_t x376, bool x377 = addcarryx_u64(x374, x329, x363);
- uint64_t x379, bool _ = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 7) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x377, Return x332, Return x365);
- uint64_t x382, bool _ = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x367, 0x1);
- uint64_t x385, uint64_t x386 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x382, 0xffffffffffffffffL);
- uint64_t x388, uint64_t x389 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x382, 0xffffffff);
- bool x391, bool x392 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0)) (Return x382, 0x0);
- uint64_t x394, uint64_t x395 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6)) (Return x382, 0xffffffff00000001L);
- bool x397, bool x398 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0)) (Return x382, 0x0);
- uint64_t x400, bool x401 = addcarryx_u64(0x0, 0x0, x385);
- uint64_t x403, bool x404 = addcarryx_u64(x401, x386, x388);
- uint64_t x406, bool x407 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x404, Return x389, Return x391);
- uint64_t x409, bool x410 = addcarryx_u64(x407, x392, x394);
- bool x412, bool _ = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0)) (0x0, Return x397, (bool) 0x10000000000000000L * x398);
- uint64_t x415, bool _ = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (0x0, Return x395, Return x412);
- uint64_t x418, bool _ = addcarryx_u64(0x0, x410, x415);
- uint64_t _, bool x422 = addcarryx_u64(0x0, x367, x400);
- uint64_t x424, bool x425 = addcarryx_u64(x422, x370, x403);
- uint64_t x427, bool x428 = addcarryx_u64(x425, x373, x406);
- uint64_t x430, bool x431 = addcarryx_u64(x428, x376, x409);
- uint64_t x433, bool _ = addcarryx_u64(x431, x379, x418);
- (Return x433, Return x430, Return x427, Return x424))
+ uint64_t x63 = x49 & 0xffffffffffffffffL;
+ uint128_t x64 = (uint128_t) x63 * 0xffffffffffffffffL;
+ uint64_t x65 = (uint64_t) x64 & 0xffffffffffffffffL;
+ uint64_t x66 = (uint64_t) (x64 >> 0x40);
+ uint128_t x67 = (uint128_t) x63 * 0xffffffff;
+ uint64_t x68 = (uint64_t) x67 & 0xffffffffffffffffL;
+ uint64_t x69 = (uint64_t) (x67 >> 0x40);
+ uint128_t x70 = (uint128_t) x63 * 0xffffffff00000001L;
+ uint64_t x71 = (uint64_t) x70 & 0xffffffffffffffffL;
+ uint64_t x72 = (uint64_t) (x70 >> 0x40);
+ uint64_t x74, bool x75 = addcarryx_u64(0x0, 0x0, x65);
+ uint64_t x77, bool x78 = addcarryx_u64(x75, x66, x68);
+ uint64_t x80, bool x81 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x78, Return x69, 0x0);
+ uint64_t x83, bool x84 = addcarryx_u64(x81, 0x0, x71);
+ uint64_t x86, bool x87 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x72, 0x0, 0x0);
+ uint64_t x89, bool x90 = addcarryx_u64(0x0, x84, x86);
+ bool x91 = x87 + x90;
+ uint64_t _, bool x94 = addcarryx_u64(0x0, x49, x74);
+ uint64_t x96, bool x97 = addcarryx_u64(x94, x52, x77);
+ uint64_t x99, bool x100 = addcarryx_u64(x97, x55, x80);
+ uint64_t x102, bool x103 = addcarryx_u64(x100, x58, x83);
+ uint64_t x105, bool x106 = addcarryx_u64(x103, x61, x89);
+ uint64_t x108, bool _ = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x106, Return x62, Return x91);
+ uint128_t x110 = (uint128_t) x7 * x11;
+ uint64_t x111 = (uint64_t) x110 & 0xffffffffffffffffL;
+ uint64_t x112 = (uint64_t) (x110 >> 0x40);
+ uint128_t x113 = (uint128_t) x7 * x13;
+ uint64_t x114 = (uint64_t) x113 & 0xffffffffffffffffL;
+ uint64_t x115 = (uint64_t) (x113 >> 0x40);
+ uint128_t x116 = (uint128_t) x7 * x15;
+ uint64_t x117 = (uint64_t) x116 & 0xffffffffffffffffL;
+ uint64_t x118 = (uint64_t) (x116 >> 0x40);
+ uint128_t x119 = (uint128_t) x7 * x14;
+ uint64_t x120 = (uint64_t) x119 & 0xffffffffffffffffL;
+ uint64_t x121 = (uint64_t) (x119 >> 0x40);
+ uint64_t x123, bool x124 = addcarryx_u64(0x0, 0x0, x111);
+ uint64_t x126, bool x127 = addcarryx_u64(x124, x112, x114);
+ uint64_t x129, bool x130 = addcarryx_u64(x127, x115, x117);
+ uint64_t x132, uint64_t x133 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 7) (Syntax.TWord 6) (Syntax.TWord 6)) (0x0, Return x120, 0x10000000000000000L * x121);
+ uint64_t x135, bool x136 = addcarryx_u64(0x0, x118, x132);
+ uint64_t x137 = x133 + x136;
+ uint64_t x139, bool x140 = addcarryx_u64(0x0, x130, x135);
+ uint128_t x141 = (uint128_t) x137 + x140;
+ uint64_t x143, bool x144 = addcarryx_u64(0x0, x96, x123);
+ uint64_t x146, bool x147 = addcarryx_u64(x144, x99, x126);
+ uint64_t x149, bool x150 = addcarryx_u64(x147, x102, x129);
+ uint64_t x152, bool x153 = addcarryx_u64(x150, x105, x139);
+ uint64_t x155, bool x156 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 7) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x153, Return x108, Return x141);
+ uint64_t x157 = x143 & 0xffffffffffffffffL;
+ uint128_t x158 = (uint128_t) x157 * 0xffffffffffffffffL;
+ uint64_t x159 = (uint64_t) x158 & 0xffffffffffffffffL;
+ uint64_t x160 = (uint64_t) (x158 >> 0x40);
+ uint128_t x161 = (uint128_t) x157 * 0xffffffff;
+ uint64_t x162 = (uint64_t) x161 & 0xffffffffffffffffL;
+ uint64_t x163 = (uint64_t) (x161 >> 0x40);
+ uint128_t x164 = (uint128_t) x157 * 0xffffffff00000001L;
+ uint64_t x165 = (uint64_t) x164 & 0xffffffffffffffffL;
+ uint64_t x166 = (uint64_t) (x164 >> 0x40);
+ uint64_t x168, bool x169 = addcarryx_u64(0x0, 0x0, x159);
+ uint64_t x171, bool x172 = addcarryx_u64(x169, x160, x162);
+ uint64_t x174, bool x175 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x172, Return x163, 0x0);
+ uint64_t x177, bool x178 = addcarryx_u64(x175, 0x0, x165);
+ uint64_t x180, bool x181 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x166, 0x0, 0x0);
+ uint64_t x183, bool x184 = addcarryx_u64(0x0, x178, x180);
+ bool x185 = x181 + x184;
+ uint64_t _, bool x188 = addcarryx_u64(0x0, x143, x168);
+ uint64_t x190, bool x191 = addcarryx_u64(x188, x146, x171);
+ uint64_t x193, bool x194 = addcarryx_u64(x191, x149, x174);
+ uint64_t x196, bool x197 = addcarryx_u64(x194, x152, x177);
+ uint64_t x199, bool x200 = addcarryx_u64(x197, x155, x183);
+ uint64_t x202, bool _ = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x200, Return x156, Return x185);
+ uint128_t x204 = (uint128_t) x9 * x11;
+ uint64_t x205 = (uint64_t) x204 & 0xffffffffffffffffL;
+ uint64_t x206 = (uint64_t) (x204 >> 0x40);
+ uint128_t x207 = (uint128_t) x9 * x13;
+ uint64_t x208 = (uint64_t) x207 & 0xffffffffffffffffL;
+ uint64_t x209 = (uint64_t) (x207 >> 0x40);
+ uint128_t x210 = (uint128_t) x9 * x15;
+ uint64_t x211 = (uint64_t) x210 & 0xffffffffffffffffL;
+ uint64_t x212 = (uint64_t) (x210 >> 0x40);
+ uint128_t x213 = (uint128_t) x9 * x14;
+ uint64_t x214 = (uint64_t) x213 & 0xffffffffffffffffL;
+ uint64_t x215 = (uint64_t) (x213 >> 0x40);
+ uint64_t x217, bool x218 = addcarryx_u64(0x0, 0x0, x205);
+ uint64_t x220, bool x221 = addcarryx_u64(x218, x206, x208);
+ uint64_t x223, bool x224 = addcarryx_u64(x221, x209, x211);
+ uint64_t x226, uint64_t x227 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 7) (Syntax.TWord 6) (Syntax.TWord 6)) (0x0, Return x214, 0x10000000000000000L * x215);
+ uint64_t x229, bool x230 = addcarryx_u64(0x0, x212, x226);
+ uint64_t x231 = x227 + x230;
+ uint64_t x233, bool x234 = addcarryx_u64(0x0, x224, x229);
+ uint128_t x235 = (uint128_t) x231 + x234;
+ uint64_t x237, bool x238 = addcarryx_u64(0x0, x190, x217);
+ uint64_t x240, bool x241 = addcarryx_u64(x238, x193, x220);
+ uint64_t x243, bool x244 = addcarryx_u64(x241, x196, x223);
+ uint64_t x246, bool x247 = addcarryx_u64(x244, x199, x233);
+ uint64_t x249, bool x250 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 7) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x247, Return x202, Return x235);
+ uint64_t x251 = x237 & 0xffffffffffffffffL;
+ uint128_t x252 = (uint128_t) x251 * 0xffffffffffffffffL;
+ uint64_t x253 = (uint64_t) x252 & 0xffffffffffffffffL;
+ uint64_t x254 = (uint64_t) (x252 >> 0x40);
+ uint128_t x255 = (uint128_t) x251 * 0xffffffff;
+ uint64_t x256 = (uint64_t) x255 & 0xffffffffffffffffL;
+ uint64_t x257 = (uint64_t) (x255 >> 0x40);
+ uint128_t x258 = (uint128_t) x251 * 0xffffffff00000001L;
+ uint64_t x259 = (uint64_t) x258 & 0xffffffffffffffffL;
+ uint64_t x260 = (uint64_t) (x258 >> 0x40);
+ uint64_t x262, bool x263 = addcarryx_u64(0x0, 0x0, x253);
+ uint64_t x265, bool x266 = addcarryx_u64(x263, x254, x256);
+ uint64_t x268, bool x269 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x266, Return x257, 0x0);
+ uint64_t x271, bool x272 = addcarryx_u64(x269, 0x0, x259);
+ uint64_t x274, bool x275 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x260, 0x0, 0x0);
+ uint64_t x277, bool x278 = addcarryx_u64(0x0, x272, x274);
+ bool x279 = x275 + x278;
+ uint64_t _, bool x282 = addcarryx_u64(0x0, x237, x262);
+ uint64_t x284, bool x285 = addcarryx_u64(x282, x240, x265);
+ uint64_t x287, bool x288 = addcarryx_u64(x285, x243, x268);
+ uint64_t x290, bool x291 = addcarryx_u64(x288, x246, x271);
+ uint64_t x293, bool x294 = addcarryx_u64(x291, x249, x277);
+ uint64_t x296, bool _ = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x294, Return x250, Return x279);
+ uint128_t x298 = (uint128_t) x8 * x11;
+ uint64_t x299 = (uint64_t) x298 & 0xffffffffffffffffL;
+ uint64_t x300 = (uint64_t) (x298 >> 0x40);
+ uint128_t x301 = (uint128_t) x8 * x13;
+ uint64_t x302 = (uint64_t) x301 & 0xffffffffffffffffL;
+ uint64_t x303 = (uint64_t) (x301 >> 0x40);
+ uint128_t x304 = (uint128_t) x8 * x15;
+ uint64_t x305 = (uint64_t) x304 & 0xffffffffffffffffL;
+ uint64_t x306 = (uint64_t) (x304 >> 0x40);
+ uint128_t x307 = (uint128_t) x8 * x14;
+ uint64_t x308 = (uint64_t) x307 & 0xffffffffffffffffL;
+ uint64_t x309 = (uint64_t) (x307 >> 0x40);
+ uint64_t x311, bool x312 = addcarryx_u64(0x0, 0x0, x299);
+ uint64_t x314, bool x315 = addcarryx_u64(x312, x300, x302);
+ uint64_t x317, bool x318 = addcarryx_u64(x315, x303, x305);
+ uint64_t x320, uint64_t x321 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 7) (Syntax.TWord 6) (Syntax.TWord 6)) (0x0, Return x308, 0x10000000000000000L * x309);
+ uint64_t x323, bool x324 = addcarryx_u64(0x0, x306, x320);
+ uint64_t x325 = x321 + x324;
+ uint64_t x327, bool x328 = addcarryx_u64(0x0, x318, x323);
+ uint128_t x329 = (uint128_t) x325 + x328;
+ uint64_t x331, bool x332 = addcarryx_u64(0x0, x284, x311);
+ uint64_t x334, bool x335 = addcarryx_u64(x332, x287, x314);
+ uint64_t x337, bool x338 = addcarryx_u64(x335, x290, x317);
+ uint64_t x340, bool x341 = addcarryx_u64(x338, x293, x327);
+ uint64_t x343, bool _ = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 7) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x341, Return x296, Return x329);
+ uint64_t x345 = x331 & 0xffffffffffffffffL;
+ uint128_t x346 = (uint128_t) x345 * 0xffffffffffffffffL;
+ uint64_t x347 = (uint64_t) x346 & 0xffffffffffffffffL;
+ uint64_t x348 = (uint64_t) (x346 >> 0x40);
+ uint128_t x349 = (uint128_t) x345 * 0xffffffff;
+ uint64_t x350 = (uint64_t) x349 & 0xffffffffffffffffL;
+ uint64_t x351 = (uint64_t) (x349 >> 0x40);
+ uint128_t x352 = (uint128_t) x345 * 0xffffffff00000001L;
+ uint64_t x353 = (uint64_t) x352 & 0xffffffffffffffffL;
+ uint64_t x354 = (uint64_t) (x352 >> 0x40);
+ uint64_t x356, bool x357 = addcarryx_u64(0x0, 0x0, x347);
+ uint64_t x359, bool x360 = addcarryx_u64(x357, x348, x350);
+ uint64_t x362, bool x363 = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x360, Return x351, 0x0);
+ uint64_t x365, bool x366 = addcarryx_u64(x363, 0x0, x353);
+ uint64_t x368, bool _ = Op (Syntax.AddWithGetCarry 64 (Syntax.TWord 6) (Syntax.TWord 0) (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x354, 0x0, 0x0);
+ uint64_t x371, bool _ = addcarryx_u64(0x0, x366, x368);
+ uint64_t _, bool x375 = addcarryx_u64(0x0, x331, x356);
+ uint64_t x377, bool x378 = addcarryx_u64(x375, x334, x359);
+ uint64_t x380, bool x381 = addcarryx_u64(x378, x337, x362);
+ uint64_t x383, bool x384 = addcarryx_u64(x381, x340, x365);
+ uint64_t x386, bool _ = addcarryx_u64(x384, x343, x371);
+ (Return x386, Return x383, Return x380, Return x377))
(x, x0)%core
: word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)