diff options
author | Jason Gross <jgross@mit.edu> | 2017-10-29 17:43:06 -0400 |
---|---|---|
committer | Jason Gross <jgross@mit.edu> | 2017-10-29 17:43:06 -0400 |
commit | 223e4cce592ff5bce35463b13b084c91028c6bd9 (patch) | |
tree | 423dbd1253559f67f3a7c59d882c9bb4d8d74ab7 /src | |
parent | 4ebf0031d039f3ef68eb1a121b75c044d6ae1206 (diff) |
Update display logs
Diffstat (limited to 'src')
188 files changed, 8835 insertions, 2103 deletions
diff --git a/src/Specific/NISTP256/AMD128/fenzDisplay.log b/src/Specific/NISTP256/AMD128/fenzDisplay.log index 53c690df8..db2b799ea 100644 --- a/src/Specific/NISTP256/AMD128/fenzDisplay.log +++ b/src/Specific/NISTP256/AMD128/fenzDisplay.log @@ -5,4 +5,16 @@ Interp-η uint128_t x3 = (x2 | x1); return x3) x - : word128 * word128 → ReturnType uint128_t + : word128 * word128 → ReturnType (Tbase match (if match match (let (lower, _) := Synthesis.P.bound1 in + lower) with + | 0%Z => Eq + | Z.pos _ => Lt + | Z.neg _ => Gt + end with + | Eq => true + | Lt => true + | Gt => false + end then Some 7 else None) with + | Some lgsz => Syntax.TWord lgsz + | None => Syntax.TZ + end) diff --git a/src/Specific/NISTP256/AMD64/fenzDisplay.log b/src/Specific/NISTP256/AMD64/fenzDisplay.log index 65afbc2d6..241c31016 100644 --- a/src/Specific/NISTP256/AMD64/fenzDisplay.log +++ b/src/Specific/NISTP256/AMD64/fenzDisplay.log @@ -7,4 +7,16 @@ Interp-η uint64_t x9 = (x2 | x8); return x9) x - : word64 * word64 * word64 * word64 → ReturnType uint64_t + : word64 * word64 * word64 * word64 → ReturnType (Tbase match (if match match (let (lower, _) := Synthesis.P.bound1 in + lower) with + | 0%Z => Eq + | Z.pos _ => Lt + | Z.neg _ => Gt + end with + | Eq => true + | Lt => true + | Gt => false + end then Some 6 else None) with + | Some lgsz => Syntax.TWord lgsz + | None => Syntax.TZ + end) diff --git a/src/Specific/X25519/C32/femulDisplay.log b/src/Specific/X25519/C32/femulDisplay.log index 1650f4c9d..7564ec007 100644 --- a/src/Specific/X25519/C32/femulDisplay.log +++ b/src/Specific/X25519/C32/femulDisplay.log @@ -66,18 +66,18 @@ Interp-η uint64_t x101 = (x100 >> 0x19); uint32_t x102 = ((uint32_t)x100 & 0x1ffffff); uint64_t x103 = (x101 + x67); - uint64_t x104 = (x103 >> 0x1a); + uint32_t x104 = (uint32_t) (x103 >> 0x1a); uint32_t x105 = ((uint32_t)x103 & 0x3ffffff); uint64_t x106 = (x104 + x64); - uint64_t x107 = (x106 >> 0x19); + uint32_t x107 = (uint32_t) (x106 >> 0x19); uint32_t x108 = ((uint32_t)x106 & 0x1ffffff); uint64_t x109 = (x107 + x61); - uint64_t x110 = (x109 >> 0x1a); + uint32_t x110 = (uint32_t) (x109 >> 0x1a); uint32_t x111 = ((uint32_t)x109 & 0x3ffffff); uint64_t x112 = (x110 + x49); - uint64_t x113 = (x112 >> 0x19); + uint32_t x113 = (uint32_t) (x112 >> 0x19); uint32_t x114 = ((uint32_t)x112 & 0x1ffffff); - uint64_t x115 = (x87 + (0x13 * x113)); + uint64_t x115 = (x87 + ((uint64_t)0x13 * x113)); uint32_t x116 = (uint32_t) (x115 >> 0x1a); uint32_t x117 = ((uint32_t)x115 & 0x3ffffff); uint32_t x118 = (x116 + x90); diff --git a/src/Specific/X25519/C32/fesquareDisplay.log b/src/Specific/X25519/C32/fesquareDisplay.log index 06c5bc75f..dc270a356 100644 --- a/src/Specific/X25519/C32/fesquareDisplay.log +++ b/src/Specific/X25519/C32/fesquareDisplay.log @@ -66,18 +66,18 @@ Interp-η uint64_t x80 = (x79 >> 0x19); uint32_t x81 = ((uint32_t)x79 & 0x1ffffff); uint64_t x82 = (x80 + x46); - uint64_t x83 = (x82 >> 0x1a); + uint32_t x83 = (uint32_t) (x82 >> 0x1a); uint32_t x84 = ((uint32_t)x82 & 0x3ffffff); uint64_t x85 = (x83 + x43); - uint64_t x86 = (x85 >> 0x19); + uint32_t x86 = (uint32_t) (x85 >> 0x19); uint32_t x87 = ((uint32_t)x85 & 0x1ffffff); uint64_t x88 = (x86 + x40); - uint64_t x89 = (x88 >> 0x1a); + uint32_t x89 = (uint32_t) (x88 >> 0x1a); uint32_t x90 = ((uint32_t)x88 & 0x3ffffff); uint64_t x91 = (x89 + x28); - uint64_t x92 = (x91 >> 0x19); + uint32_t x92 = (uint32_t) (x91 >> 0x19); uint32_t x93 = ((uint32_t)x91 & 0x1ffffff); - uint64_t x94 = (x66 + (0x13 * x92)); + uint64_t x94 = (x66 + ((uint64_t)0x13 * x92)); uint32_t x95 = (uint32_t) (x94 >> 0x1a); uint32_t x96 = ((uint32_t)x94 & 0x3ffffff); uint32_t x97 = (x95 + x69); diff --git a/src/Specific/montgomery32_2e192m2e64m1/femulDisplay.log b/src/Specific/montgomery32_2e192m2e64m1/femulDisplay.log index 6b1b95464..1948ab491 100644 --- a/src/Specific/montgomery32_2e192m2e64m1/femulDisplay.log +++ b/src/Specific/montgomery32_2e192m2e64m1/femulDisplay.log @@ -16,7 +16,7 @@ Interp-η uint32_t x58, uint8_t _ = addcarryx_u32(0x0, x56, x41); uint32_t x61, uint32_t x62 = mulx_u32(x25, 0xffffffff); uint32_t x64, uint32_t x65 = mulx_u32(x25, 0xffffffff); - uint32_t x67, uint32_t x68 = mulx_u32(x25, Const 4294967294); + uint32_t x67, uint32_t x68 = mulx_u32(x25, 0xfffffffe); uint32_t x70, uint32_t x71 = mulx_u32(x25, 0xffffffff); uint32_t x73, uint32_t x74 = mulx_u32(x25, 0xffffffff); uint32_t x76, uint32_t x77 = mulx_u32(x25, 0xffffffff); @@ -54,7 +54,7 @@ Interp-η uint32_t x172, uint8_t x173 = addcarryx_u32(x170, x116, x151); uint32_t x175, uint32_t x176 = mulx_u32(x154, 0xffffffff); uint32_t x178, uint32_t x179 = mulx_u32(x154, 0xffffffff); - uint32_t x181, uint32_t x182 = mulx_u32(x154, Const 4294967294); + uint32_t x181, uint32_t x182 = mulx_u32(x154, 0xfffffffe); uint32_t x184, uint32_t x185 = mulx_u32(x154, 0xffffffff); uint32_t x187, uint32_t x188 = mulx_u32(x154, 0xffffffff); uint32_t x190, uint32_t x191 = mulx_u32(x154, 0xffffffff); @@ -71,7 +71,7 @@ Interp-η uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x166, x202); uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x169, x205); uint32_t x229, uint8_t x230 = addcarryx_u32(x227, x172, x208); - uint8_t x231 = x230 + x173; + uint8_t x231 = (x230 + x173); uint32_t x233, uint32_t x234 = mulx_u32(x9, x15); uint32_t x236, uint32_t x237 = mulx_u32(x9, x17); uint32_t x239, uint32_t x240 = mulx_u32(x9, x19); @@ -93,7 +93,7 @@ Interp-η uint32_t x287, uint8_t x288 = addcarryx_u32(x285, x231, x266); uint32_t x290, uint32_t x291 = mulx_u32(x269, 0xffffffff); uint32_t x293, uint32_t x294 = mulx_u32(x269, 0xffffffff); - uint32_t x296, uint32_t x297 = mulx_u32(x269, Const 4294967294); + uint32_t x296, uint32_t x297 = mulx_u32(x269, 0xfffffffe); uint32_t x299, uint32_t x300 = mulx_u32(x269, 0xffffffff); uint32_t x302, uint32_t x303 = mulx_u32(x269, 0xffffffff); uint32_t x305, uint32_t x306 = mulx_u32(x269, 0xffffffff); @@ -110,7 +110,7 @@ Interp-η uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x281, x317); uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x284, x320); uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x287, x323); - uint8_t x346 = x345 + x288; + uint8_t x346 = (x345 + x288); uint32_t x348, uint32_t x349 = mulx_u32(x11, x15); uint32_t x351, uint32_t x352 = mulx_u32(x11, x17); uint32_t x354, uint32_t x355 = mulx_u32(x11, x19); @@ -132,7 +132,7 @@ Interp-η uint32_t x402, uint8_t x403 = addcarryx_u32(x400, x346, x381); uint32_t x405, uint32_t x406 = mulx_u32(x384, 0xffffffff); uint32_t x408, uint32_t x409 = mulx_u32(x384, 0xffffffff); - uint32_t x411, uint32_t x412 = mulx_u32(x384, Const 4294967294); + uint32_t x411, uint32_t x412 = mulx_u32(x384, 0xfffffffe); uint32_t x414, uint32_t x415 = mulx_u32(x384, 0xffffffff); uint32_t x417, uint32_t x418 = mulx_u32(x384, 0xffffffff); uint32_t x420, uint32_t x421 = mulx_u32(x384, 0xffffffff); @@ -149,7 +149,7 @@ Interp-η uint32_t x453, uint8_t x454 = addcarryx_u32(x451, x396, x432); uint32_t x456, uint8_t x457 = addcarryx_u32(x454, x399, x435); uint32_t x459, uint8_t x460 = addcarryx_u32(x457, x402, x438); - uint8_t x461 = x460 + x403; + uint8_t x461 = (x460 + x403); uint32_t x463, uint32_t x464 = mulx_u32(x13, x15); uint32_t x466, uint32_t x467 = mulx_u32(x13, x17); uint32_t x469, uint32_t x470 = mulx_u32(x13, x19); @@ -171,7 +171,7 @@ Interp-η uint32_t x517, uint8_t x518 = addcarryx_u32(x515, x461, x496); uint32_t x520, uint32_t x521 = mulx_u32(x499, 0xffffffff); uint32_t x523, uint32_t x524 = mulx_u32(x499, 0xffffffff); - uint32_t x526, uint32_t x527 = mulx_u32(x499, Const 4294967294); + uint32_t x526, uint32_t x527 = mulx_u32(x499, 0xfffffffe); uint32_t x529, uint32_t x530 = mulx_u32(x499, 0xffffffff); uint32_t x532, uint32_t x533 = mulx_u32(x499, 0xffffffff); uint32_t x535, uint32_t x536 = mulx_u32(x499, 0xffffffff); @@ -188,7 +188,7 @@ Interp-η uint32_t x568, uint8_t x569 = addcarryx_u32(x566, x511, x547); uint32_t x571, uint8_t x572 = addcarryx_u32(x569, x514, x550); uint32_t x574, uint8_t x575 = addcarryx_u32(x572, x517, x553); - uint8_t x576 = x575 + x518; + uint8_t x576 = (x575 + x518); uint32_t x578, uint32_t x579 = mulx_u32(x12, x15); uint32_t x581, uint32_t x582 = mulx_u32(x12, x17); uint32_t x584, uint32_t x585 = mulx_u32(x12, x19); @@ -210,7 +210,7 @@ Interp-η uint32_t x632, uint8_t x633 = addcarryx_u32(x630, x576, x611); uint32_t x635, uint32_t x636 = mulx_u32(x614, 0xffffffff); uint32_t x638, uint32_t x639 = mulx_u32(x614, 0xffffffff); - uint32_t x641, uint32_t x642 = mulx_u32(x614, Const 4294967294); + uint32_t x641, uint32_t x642 = mulx_u32(x614, 0xfffffffe); uint32_t x644, uint32_t x645 = mulx_u32(x614, 0xffffffff); uint32_t x647, uint32_t x648 = mulx_u32(x614, 0xffffffff); uint32_t x650, uint32_t x651 = mulx_u32(x614, 0xffffffff); @@ -227,10 +227,10 @@ Interp-η uint32_t x683, uint8_t x684 = addcarryx_u32(x681, x626, x662); uint32_t x686, uint8_t x687 = addcarryx_u32(x684, x629, x665); uint32_t x689, uint8_t x690 = addcarryx_u32(x687, x632, x668); - uint8_t x691 = x690 + x633; + uint8_t x691 = (x690 + x633); uint32_t x693, uint8_t x694 = subborrow_u32(0x0, x674, 0xffffffff); uint32_t x696, uint8_t x697 = subborrow_u32(x694, x677, 0xffffffff); - uint32_t x699, uint8_t x700 = subborrow_u32(x697, x680, Const 4294967294); + uint32_t x699, uint8_t x700 = subborrow_u32(x697, x680, 0xfffffffe); uint32_t x702, uint8_t x703 = subborrow_u32(x700, x683, 0xffffffff); uint32_t x705, uint8_t x706 = subborrow_u32(x703, x686, 0xffffffff); uint32_t x708, uint8_t x709 = subborrow_u32(x706, x689, 0xffffffff); diff --git a/src/Specific/montgomery32_2e205m45x2e198m1/feaddDisplay.log b/src/Specific/montgomery32_2e205m45x2e198m1/feaddDisplay.log new file mode 100644 index 000000000..5d0bc9380 --- /dev/null +++ b/src/Specific/montgomery32_2e205m45x2e198m1/feaddDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x5, x17); + uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x7, x19); + uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x9, x21); + uint32_t x38, uint8_t x39 = addcarryx_u32(x36, x11, x23); + uint32_t x41, uint8_t x42 = addcarryx_u32(x39, x13, x25); + uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x15, x27); + uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x14, x26); + uint32_t x50, uint8_t x51 = subborrow_u32(0x0, x29, 0xffffffff); + uint32_t x53, uint8_t x54 = subborrow_u32(x51, x32, 0xffffffff); + uint32_t x56, uint8_t x57 = subborrow_u32(x54, x35, 0xffffffff); + uint32_t x59, uint8_t x60 = subborrow_u32(x57, x38, 0xffffffff); + uint32_t x62, uint8_t x63 = subborrow_u32(x60, x41, 0xffffffff); + uint32_t x65, uint8_t x66 = subborrow_u32(x63, x44, 0xffffffff); + uint32_t x68, uint8_t x69 = subborrow_u32(x66, x47, 0x14bf); + uint32_t _, uint8_t x72 = subborrow_u32(x69, x48, 0x0); + uint32_t x73 = cmovznz(x72, x68, x47); + uint32_t x74 = cmovznz(x72, x65, x44); + uint32_t x75 = cmovznz(x72, x62, x41); + uint32_t x76 = cmovznz(x72, x59, x38); + uint32_t x77 = cmovznz(x72, x56, x35); + uint32_t x78 = cmovznz(x72, x53, x32); + uint32_t x79 = cmovznz(x72, x50, x29); + return (x73, x74, x75, x76, x77, x78, x79)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e205m45x2e198m1/femulDisplay.log b/src/Specific/montgomery32_2e205m45x2e198m1/femulDisplay.log new file mode 100644 index 000000000..22a0be41c --- /dev/null +++ b/src/Specific/montgomery32_2e205m45x2e198m1/femulDisplay.log @@ -0,0 +1,328 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint32_t x29, uint32_t x30 = mulx_u32(x5, x17); + uint32_t x32, uint32_t x33 = mulx_u32(x5, x19); + uint32_t x35, uint32_t x36 = mulx_u32(x5, x21); + uint32_t x38, uint32_t x39 = mulx_u32(x5, x23); + uint32_t x41, uint32_t x42 = mulx_u32(x5, x25); + uint32_t x44, uint32_t x45 = mulx_u32(x5, x27); + uint32_t x47, uint32_t x48 = mulx_u32(x5, x26); + uint32_t x50, uint8_t x51 = addcarryx_u32(0x0, x30, x32); + uint32_t x53, uint8_t x54 = addcarryx_u32(x51, x33, x35); + uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x36, x38); + uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x39, x41); + uint32_t x62, uint8_t x63 = addcarryx_u32(x60, x42, x44); + uint32_t x65, uint8_t x66 = addcarryx_u32(x63, x45, x47); + uint32_t x68, uint8_t _ = addcarryx_u32(0x0, x66, x48); + uint32_t x71, uint32_t x72 = mulx_u32(x29, 0xffffffff); + uint32_t x74, uint32_t x75 = mulx_u32(x29, 0xffffffff); + uint32_t x77, uint32_t x78 = mulx_u32(x29, 0xffffffff); + uint32_t x80, uint32_t x81 = mulx_u32(x29, 0xffffffff); + uint32_t x83, uint32_t x84 = mulx_u32(x29, 0xffffffff); + uint32_t x86, uint32_t x87 = mulx_u32(x29, 0xffffffff); + uint32_t x89, uint32_t x90 = mulx_u32(x29, 0x14bf); + uint32_t x92, uint8_t x93 = addcarryx_u32(0x0, x72, x74); + uint32_t x95, uint8_t x96 = addcarryx_u32(x93, x75, x77); + uint32_t x98, uint8_t x99 = addcarryx_u32(x96, x78, x80); + uint32_t x101, uint8_t x102 = addcarryx_u32(x99, x81, x83); + uint32_t x104, uint8_t x105 = addcarryx_u32(x102, x84, x86); + uint32_t x107, uint8_t x108 = addcarryx_u32(x105, x87, x89); + uint32_t x110, uint8_t _ = addcarryx_u32(0x0, x108, x90); + uint32_t _, uint8_t x114 = addcarryx_u32(0x0, x29, x71); + uint32_t x116, uint8_t x117 = addcarryx_u32(x114, x50, x92); + uint32_t x119, uint8_t x120 = addcarryx_u32(x117, x53, x95); + uint32_t x122, uint8_t x123 = addcarryx_u32(x120, x56, x98); + uint32_t x125, uint8_t x126 = addcarryx_u32(x123, x59, x101); + uint32_t x128, uint8_t x129 = addcarryx_u32(x126, x62, x104); + uint32_t x131, uint8_t x132 = addcarryx_u32(x129, x65, x107); + uint32_t x134, uint8_t x135 = addcarryx_u32(x132, x68, x110); + uint32_t x137, uint32_t x138 = mulx_u32(x7, x17); + uint32_t x140, uint32_t x141 = mulx_u32(x7, x19); + uint32_t x143, uint32_t x144 = mulx_u32(x7, x21); + uint32_t x146, uint32_t x147 = mulx_u32(x7, x23); + uint32_t x149, uint32_t x150 = mulx_u32(x7, x25); + uint32_t x152, uint32_t x153 = mulx_u32(x7, x27); + uint32_t x155, uint32_t x156 = mulx_u32(x7, x26); + uint32_t x158, uint8_t x159 = addcarryx_u32(0x0, x138, x140); + uint32_t x161, uint8_t x162 = addcarryx_u32(x159, x141, x143); + uint32_t x164, uint8_t x165 = addcarryx_u32(x162, x144, x146); + uint32_t x167, uint8_t x168 = addcarryx_u32(x165, x147, x149); + uint32_t x170, uint8_t x171 = addcarryx_u32(x168, x150, x152); + uint32_t x173, uint8_t x174 = addcarryx_u32(x171, x153, x155); + uint32_t x176, uint8_t _ = addcarryx_u32(0x0, x174, x156); + uint32_t x179, uint8_t x180 = addcarryx_u32(0x0, x116, x137); + uint32_t x182, uint8_t x183 = addcarryx_u32(x180, x119, x158); + uint32_t x185, uint8_t x186 = addcarryx_u32(x183, x122, x161); + uint32_t x188, uint8_t x189 = addcarryx_u32(x186, x125, x164); + uint32_t x191, uint8_t x192 = addcarryx_u32(x189, x128, x167); + uint32_t x194, uint8_t x195 = addcarryx_u32(x192, x131, x170); + uint32_t x197, uint8_t x198 = addcarryx_u32(x195, x134, x173); + uint32_t x200, uint8_t x201 = addcarryx_u32(x198, x135, x176); + uint32_t x203, uint32_t x204 = mulx_u32(x179, 0xffffffff); + uint32_t x206, uint32_t x207 = mulx_u32(x179, 0xffffffff); + uint32_t x209, uint32_t x210 = mulx_u32(x179, 0xffffffff); + uint32_t x212, uint32_t x213 = mulx_u32(x179, 0xffffffff); + uint32_t x215, uint32_t x216 = mulx_u32(x179, 0xffffffff); + uint32_t x218, uint32_t x219 = mulx_u32(x179, 0xffffffff); + uint32_t x221, uint32_t x222 = mulx_u32(x179, 0x14bf); + uint32_t x224, uint8_t x225 = addcarryx_u32(0x0, x204, x206); + uint32_t x227, uint8_t x228 = addcarryx_u32(x225, x207, x209); + uint32_t x230, uint8_t x231 = addcarryx_u32(x228, x210, x212); + uint32_t x233, uint8_t x234 = addcarryx_u32(x231, x213, x215); + uint32_t x236, uint8_t x237 = addcarryx_u32(x234, x216, x218); + uint32_t x239, uint8_t x240 = addcarryx_u32(x237, x219, x221); + uint32_t x242, uint8_t _ = addcarryx_u32(0x0, x240, x222); + uint32_t _, uint8_t x246 = addcarryx_u32(0x0, x179, x203); + uint32_t x248, uint8_t x249 = addcarryx_u32(x246, x182, x224); + uint32_t x251, uint8_t x252 = addcarryx_u32(x249, x185, x227); + uint32_t x254, uint8_t x255 = addcarryx_u32(x252, x188, x230); + uint32_t x257, uint8_t x258 = addcarryx_u32(x255, x191, x233); + uint32_t x260, uint8_t x261 = addcarryx_u32(x258, x194, x236); + uint32_t x263, uint8_t x264 = addcarryx_u32(x261, x197, x239); + uint32_t x266, uint8_t x267 = addcarryx_u32(x264, x200, x242); + uint8_t x268 = (x267 + x201); + uint32_t x270, uint32_t x271 = mulx_u32(x9, x17); + uint32_t x273, uint32_t x274 = mulx_u32(x9, x19); + uint32_t x276, uint32_t x277 = mulx_u32(x9, x21); + uint32_t x279, uint32_t x280 = mulx_u32(x9, x23); + uint32_t x282, uint32_t x283 = mulx_u32(x9, x25); + uint32_t x285, uint32_t x286 = mulx_u32(x9, x27); + uint32_t x288, uint32_t x289 = mulx_u32(x9, x26); + uint32_t x291, uint8_t x292 = addcarryx_u32(0x0, x271, x273); + uint32_t x294, uint8_t x295 = addcarryx_u32(x292, x274, x276); + uint32_t x297, uint8_t x298 = addcarryx_u32(x295, x277, x279); + uint32_t x300, uint8_t x301 = addcarryx_u32(x298, x280, x282); + uint32_t x303, uint8_t x304 = addcarryx_u32(x301, x283, x285); + uint32_t x306, uint8_t x307 = addcarryx_u32(x304, x286, x288); + uint32_t x309, uint8_t _ = addcarryx_u32(0x0, x307, x289); + uint32_t x312, uint8_t x313 = addcarryx_u32(0x0, x248, x270); + uint32_t x315, uint8_t x316 = addcarryx_u32(x313, x251, x291); + uint32_t x318, uint8_t x319 = addcarryx_u32(x316, x254, x294); + uint32_t x321, uint8_t x322 = addcarryx_u32(x319, x257, x297); + uint32_t x324, uint8_t x325 = addcarryx_u32(x322, x260, x300); + uint32_t x327, uint8_t x328 = addcarryx_u32(x325, x263, x303); + uint32_t x330, uint8_t x331 = addcarryx_u32(x328, x266, x306); + uint32_t x333, uint8_t x334 = addcarryx_u32(x331, x268, x309); + uint32_t x336, uint32_t x337 = mulx_u32(x312, 0xffffffff); + uint32_t x339, uint32_t x340 = mulx_u32(x312, 0xffffffff); + uint32_t x342, uint32_t x343 = mulx_u32(x312, 0xffffffff); + uint32_t x345, uint32_t x346 = mulx_u32(x312, 0xffffffff); + uint32_t x348, uint32_t x349 = mulx_u32(x312, 0xffffffff); + uint32_t x351, uint32_t x352 = mulx_u32(x312, 0xffffffff); + uint32_t x354, uint32_t x355 = mulx_u32(x312, 0x14bf); + uint32_t x357, uint8_t x358 = addcarryx_u32(0x0, x337, x339); + uint32_t x360, uint8_t x361 = addcarryx_u32(x358, x340, x342); + uint32_t x363, uint8_t x364 = addcarryx_u32(x361, x343, x345); + uint32_t x366, uint8_t x367 = addcarryx_u32(x364, x346, x348); + uint32_t x369, uint8_t x370 = addcarryx_u32(x367, x349, x351); + uint32_t x372, uint8_t x373 = addcarryx_u32(x370, x352, x354); + uint32_t x375, uint8_t _ = addcarryx_u32(0x0, x373, x355); + uint32_t _, uint8_t x379 = addcarryx_u32(0x0, x312, x336); + uint32_t x381, uint8_t x382 = addcarryx_u32(x379, x315, x357); + uint32_t x384, uint8_t x385 = addcarryx_u32(x382, x318, x360); + uint32_t x387, uint8_t x388 = addcarryx_u32(x385, x321, x363); + uint32_t x390, uint8_t x391 = addcarryx_u32(x388, x324, x366); + uint32_t x393, uint8_t x394 = addcarryx_u32(x391, x327, x369); + uint32_t x396, uint8_t x397 = addcarryx_u32(x394, x330, x372); + uint32_t x399, uint8_t x400 = addcarryx_u32(x397, x333, x375); + uint8_t x401 = (x400 + x334); + uint32_t x403, uint32_t x404 = mulx_u32(x11, x17); + uint32_t x406, uint32_t x407 = mulx_u32(x11, x19); + uint32_t x409, uint32_t x410 = mulx_u32(x11, x21); + uint32_t x412, uint32_t x413 = mulx_u32(x11, x23); + uint32_t x415, uint32_t x416 = mulx_u32(x11, x25); + uint32_t x418, uint32_t x419 = mulx_u32(x11, x27); + uint32_t x421, uint32_t x422 = mulx_u32(x11, x26); + uint32_t x424, uint8_t x425 = addcarryx_u32(0x0, x404, x406); + uint32_t x427, uint8_t x428 = addcarryx_u32(x425, x407, x409); + uint32_t x430, uint8_t x431 = addcarryx_u32(x428, x410, x412); + uint32_t x433, uint8_t x434 = addcarryx_u32(x431, x413, x415); + uint32_t x436, uint8_t x437 = addcarryx_u32(x434, x416, x418); + uint32_t x439, uint8_t x440 = addcarryx_u32(x437, x419, x421); + uint32_t x442, uint8_t _ = addcarryx_u32(0x0, x440, x422); + uint32_t x445, uint8_t x446 = addcarryx_u32(0x0, x381, x403); + uint32_t x448, uint8_t x449 = addcarryx_u32(x446, x384, x424); + uint32_t x451, uint8_t x452 = addcarryx_u32(x449, x387, x427); + uint32_t x454, uint8_t x455 = addcarryx_u32(x452, x390, x430); + uint32_t x457, uint8_t x458 = addcarryx_u32(x455, x393, x433); + uint32_t x460, uint8_t x461 = addcarryx_u32(x458, x396, x436); + uint32_t x463, uint8_t x464 = addcarryx_u32(x461, x399, x439); + uint32_t x466, uint8_t x467 = addcarryx_u32(x464, x401, x442); + uint32_t x469, uint32_t x470 = mulx_u32(x445, 0xffffffff); + uint32_t x472, uint32_t x473 = mulx_u32(x445, 0xffffffff); + uint32_t x475, uint32_t x476 = mulx_u32(x445, 0xffffffff); + uint32_t x478, uint32_t x479 = mulx_u32(x445, 0xffffffff); + uint32_t x481, uint32_t x482 = mulx_u32(x445, 0xffffffff); + uint32_t x484, uint32_t x485 = mulx_u32(x445, 0xffffffff); + uint32_t x487, uint32_t x488 = mulx_u32(x445, 0x14bf); + uint32_t x490, uint8_t x491 = addcarryx_u32(0x0, x470, x472); + uint32_t x493, uint8_t x494 = addcarryx_u32(x491, x473, x475); + uint32_t x496, uint8_t x497 = addcarryx_u32(x494, x476, x478); + uint32_t x499, uint8_t x500 = addcarryx_u32(x497, x479, x481); + uint32_t x502, uint8_t x503 = addcarryx_u32(x500, x482, x484); + uint32_t x505, uint8_t x506 = addcarryx_u32(x503, x485, x487); + uint32_t x508, uint8_t _ = addcarryx_u32(0x0, x506, x488); + uint32_t _, uint8_t x512 = addcarryx_u32(0x0, x445, x469); + uint32_t x514, uint8_t x515 = addcarryx_u32(x512, x448, x490); + uint32_t x517, uint8_t x518 = addcarryx_u32(x515, x451, x493); + uint32_t x520, uint8_t x521 = addcarryx_u32(x518, x454, x496); + uint32_t x523, uint8_t x524 = addcarryx_u32(x521, x457, x499); + uint32_t x526, uint8_t x527 = addcarryx_u32(x524, x460, x502); + uint32_t x529, uint8_t x530 = addcarryx_u32(x527, x463, x505); + uint32_t x532, uint8_t x533 = addcarryx_u32(x530, x466, x508); + uint8_t x534 = (x533 + x467); + uint32_t x536, uint32_t x537 = mulx_u32(x13, x17); + uint32_t x539, uint32_t x540 = mulx_u32(x13, x19); + uint32_t x542, uint32_t x543 = mulx_u32(x13, x21); + uint32_t x545, uint32_t x546 = mulx_u32(x13, x23); + uint32_t x548, uint32_t x549 = mulx_u32(x13, x25); + uint32_t x551, uint32_t x552 = mulx_u32(x13, x27); + uint32_t x554, uint32_t x555 = mulx_u32(x13, x26); + uint32_t x557, uint8_t x558 = addcarryx_u32(0x0, x537, x539); + uint32_t x560, uint8_t x561 = addcarryx_u32(x558, x540, x542); + uint32_t x563, uint8_t x564 = addcarryx_u32(x561, x543, x545); + uint32_t x566, uint8_t x567 = addcarryx_u32(x564, x546, x548); + uint32_t x569, uint8_t x570 = addcarryx_u32(x567, x549, x551); + uint32_t x572, uint8_t x573 = addcarryx_u32(x570, x552, x554); + uint32_t x575, uint8_t _ = addcarryx_u32(0x0, x573, x555); + uint32_t x578, uint8_t x579 = addcarryx_u32(0x0, x514, x536); + uint32_t x581, uint8_t x582 = addcarryx_u32(x579, x517, x557); + uint32_t x584, uint8_t x585 = addcarryx_u32(x582, x520, x560); + uint32_t x587, uint8_t x588 = addcarryx_u32(x585, x523, x563); + uint32_t x590, uint8_t x591 = addcarryx_u32(x588, x526, x566); + uint32_t x593, uint8_t x594 = addcarryx_u32(x591, x529, x569); + uint32_t x596, uint8_t x597 = addcarryx_u32(x594, x532, x572); + uint32_t x599, uint8_t x600 = addcarryx_u32(x597, x534, x575); + uint32_t x602, uint32_t x603 = mulx_u32(x578, 0xffffffff); + uint32_t x605, uint32_t x606 = mulx_u32(x578, 0xffffffff); + uint32_t x608, uint32_t x609 = mulx_u32(x578, 0xffffffff); + uint32_t x611, uint32_t x612 = mulx_u32(x578, 0xffffffff); + uint32_t x614, uint32_t x615 = mulx_u32(x578, 0xffffffff); + uint32_t x617, uint32_t x618 = mulx_u32(x578, 0xffffffff); + uint32_t x620, uint32_t x621 = mulx_u32(x578, 0x14bf); + uint32_t x623, uint8_t x624 = addcarryx_u32(0x0, x603, x605); + uint32_t x626, uint8_t x627 = addcarryx_u32(x624, x606, x608); + uint32_t x629, uint8_t x630 = addcarryx_u32(x627, x609, x611); + uint32_t x632, uint8_t x633 = addcarryx_u32(x630, x612, x614); + uint32_t x635, uint8_t x636 = addcarryx_u32(x633, x615, x617); + uint32_t x638, uint8_t x639 = addcarryx_u32(x636, x618, x620); + uint32_t x641, uint8_t _ = addcarryx_u32(0x0, x639, x621); + uint32_t _, uint8_t x645 = addcarryx_u32(0x0, x578, x602); + uint32_t x647, uint8_t x648 = addcarryx_u32(x645, x581, x623); + uint32_t x650, uint8_t x651 = addcarryx_u32(x648, x584, x626); + uint32_t x653, uint8_t x654 = addcarryx_u32(x651, x587, x629); + uint32_t x656, uint8_t x657 = addcarryx_u32(x654, x590, x632); + uint32_t x659, uint8_t x660 = addcarryx_u32(x657, x593, x635); + uint32_t x662, uint8_t x663 = addcarryx_u32(x660, x596, x638); + uint32_t x665, uint8_t x666 = addcarryx_u32(x663, x599, x641); + uint8_t x667 = (x666 + x600); + uint32_t x669, uint32_t x670 = mulx_u32(x15, x17); + uint32_t x672, uint32_t x673 = mulx_u32(x15, x19); + uint32_t x675, uint32_t x676 = mulx_u32(x15, x21); + uint32_t x678, uint32_t x679 = mulx_u32(x15, x23); + uint32_t x681, uint32_t x682 = mulx_u32(x15, x25); + uint32_t x684, uint32_t x685 = mulx_u32(x15, x27); + uint32_t x687, uint32_t x688 = mulx_u32(x15, x26); + uint32_t x690, uint8_t x691 = addcarryx_u32(0x0, x670, x672); + uint32_t x693, uint8_t x694 = addcarryx_u32(x691, x673, x675); + uint32_t x696, uint8_t x697 = addcarryx_u32(x694, x676, x678); + uint32_t x699, uint8_t x700 = addcarryx_u32(x697, x679, x681); + uint32_t x702, uint8_t x703 = addcarryx_u32(x700, x682, x684); + uint32_t x705, uint8_t x706 = addcarryx_u32(x703, x685, x687); + uint32_t x708, uint8_t _ = addcarryx_u32(0x0, x706, x688); + uint32_t x711, uint8_t x712 = addcarryx_u32(0x0, x647, x669); + uint32_t x714, uint8_t x715 = addcarryx_u32(x712, x650, x690); + uint32_t x717, uint8_t x718 = addcarryx_u32(x715, x653, x693); + uint32_t x720, uint8_t x721 = addcarryx_u32(x718, x656, x696); + uint32_t x723, uint8_t x724 = addcarryx_u32(x721, x659, x699); + uint32_t x726, uint8_t x727 = addcarryx_u32(x724, x662, x702); + uint32_t x729, uint8_t x730 = addcarryx_u32(x727, x665, x705); + uint32_t x732, uint8_t x733 = addcarryx_u32(x730, x667, x708); + uint32_t x735, uint32_t x736 = mulx_u32(x711, 0xffffffff); + uint32_t x738, uint32_t x739 = mulx_u32(x711, 0xffffffff); + uint32_t x741, uint32_t x742 = mulx_u32(x711, 0xffffffff); + uint32_t x744, uint32_t x745 = mulx_u32(x711, 0xffffffff); + uint32_t x747, uint32_t x748 = mulx_u32(x711, 0xffffffff); + uint32_t x750, uint32_t x751 = mulx_u32(x711, 0xffffffff); + uint32_t x753, uint32_t x754 = mulx_u32(x711, 0x14bf); + uint32_t x756, uint8_t x757 = addcarryx_u32(0x0, x736, x738); + uint32_t x759, uint8_t x760 = addcarryx_u32(x757, x739, x741); + uint32_t x762, uint8_t x763 = addcarryx_u32(x760, x742, x744); + uint32_t x765, uint8_t x766 = addcarryx_u32(x763, x745, x747); + uint32_t x768, uint8_t x769 = addcarryx_u32(x766, x748, x750); + uint32_t x771, uint8_t x772 = addcarryx_u32(x769, x751, x753); + uint32_t x774, uint8_t _ = addcarryx_u32(0x0, x772, x754); + uint32_t _, uint8_t x778 = addcarryx_u32(0x0, x711, x735); + uint32_t x780, uint8_t x781 = addcarryx_u32(x778, x714, x756); + uint32_t x783, uint8_t x784 = addcarryx_u32(x781, x717, x759); + uint32_t x786, uint8_t x787 = addcarryx_u32(x784, x720, x762); + uint32_t x789, uint8_t x790 = addcarryx_u32(x787, x723, x765); + uint32_t x792, uint8_t x793 = addcarryx_u32(x790, x726, x768); + uint32_t x795, uint8_t x796 = addcarryx_u32(x793, x729, x771); + uint32_t x798, uint8_t x799 = addcarryx_u32(x796, x732, x774); + uint8_t x800 = (x799 + x733); + uint32_t x802, uint32_t x803 = mulx_u32(x14, x17); + uint32_t x805, uint32_t x806 = mulx_u32(x14, x19); + uint32_t x808, uint32_t x809 = mulx_u32(x14, x21); + uint32_t x811, uint32_t x812 = mulx_u32(x14, x23); + uint32_t x814, uint32_t x815 = mulx_u32(x14, x25); + uint32_t x817, uint32_t x818 = mulx_u32(x14, x27); + uint32_t x820, uint32_t x821 = mulx_u32(x14, x26); + uint32_t x823, uint8_t x824 = addcarryx_u32(0x0, x803, x805); + uint32_t x826, uint8_t x827 = addcarryx_u32(x824, x806, x808); + uint32_t x829, uint8_t x830 = addcarryx_u32(x827, x809, x811); + uint32_t x832, uint8_t x833 = addcarryx_u32(x830, x812, x814); + uint32_t x835, uint8_t x836 = addcarryx_u32(x833, x815, x817); + uint32_t x838, uint8_t x839 = addcarryx_u32(x836, x818, x820); + uint32_t x841, uint8_t _ = addcarryx_u32(0x0, x839, x821); + uint32_t x844, uint8_t x845 = addcarryx_u32(0x0, x780, x802); + uint32_t x847, uint8_t x848 = addcarryx_u32(x845, x783, x823); + uint32_t x850, uint8_t x851 = addcarryx_u32(x848, x786, x826); + uint32_t x853, uint8_t x854 = addcarryx_u32(x851, x789, x829); + uint32_t x856, uint8_t x857 = addcarryx_u32(x854, x792, x832); + uint32_t x859, uint8_t x860 = addcarryx_u32(x857, x795, x835); + uint32_t x862, uint8_t x863 = addcarryx_u32(x860, x798, x838); + uint32_t x865, uint8_t x866 = addcarryx_u32(x863, x800, x841); + uint32_t x868, uint32_t x869 = mulx_u32(x844, 0xffffffff); + uint32_t x871, uint32_t x872 = mulx_u32(x844, 0xffffffff); + uint32_t x874, uint32_t x875 = mulx_u32(x844, 0xffffffff); + uint32_t x877, uint32_t x878 = mulx_u32(x844, 0xffffffff); + uint32_t x880, uint32_t x881 = mulx_u32(x844, 0xffffffff); + uint32_t x883, uint32_t x884 = mulx_u32(x844, 0xffffffff); + uint32_t x886, uint32_t x887 = mulx_u32(x844, 0x14bf); + uint32_t x889, uint8_t x890 = addcarryx_u32(0x0, x869, x871); + uint32_t x892, uint8_t x893 = addcarryx_u32(x890, x872, x874); + uint32_t x895, uint8_t x896 = addcarryx_u32(x893, x875, x877); + uint32_t x898, uint8_t x899 = addcarryx_u32(x896, x878, x880); + uint32_t x901, uint8_t x902 = addcarryx_u32(x899, x881, x883); + uint32_t x904, uint8_t x905 = addcarryx_u32(x902, x884, x886); + uint32_t x907, uint8_t _ = addcarryx_u32(0x0, x905, x887); + uint32_t _, uint8_t x911 = addcarryx_u32(0x0, x844, x868); + uint32_t x913, uint8_t x914 = addcarryx_u32(x911, x847, x889); + uint32_t x916, uint8_t x917 = addcarryx_u32(x914, x850, x892); + uint32_t x919, uint8_t x920 = addcarryx_u32(x917, x853, x895); + uint32_t x922, uint8_t x923 = addcarryx_u32(x920, x856, x898); + uint32_t x925, uint8_t x926 = addcarryx_u32(x923, x859, x901); + uint32_t x928, uint8_t x929 = addcarryx_u32(x926, x862, x904); + uint32_t x931, uint8_t x932 = addcarryx_u32(x929, x865, x907); + uint8_t x933 = (x932 + x866); + uint32_t x935, uint8_t x936 = subborrow_u32(0x0, x913, 0xffffffff); + uint32_t x938, uint8_t x939 = subborrow_u32(x936, x916, 0xffffffff); + uint32_t x941, uint8_t x942 = subborrow_u32(x939, x919, 0xffffffff); + uint32_t x944, uint8_t x945 = subborrow_u32(x942, x922, 0xffffffff); + uint32_t x947, uint8_t x948 = subborrow_u32(x945, x925, 0xffffffff); + uint32_t x950, uint8_t x951 = subborrow_u32(x948, x928, 0xffffffff); + uint32_t x953, uint8_t x954 = subborrow_u32(x951, x931, 0x14bf); + uint32_t _, uint8_t x957 = subborrow_u32(x954, x933, 0x0); + uint32_t x958 = cmovznz(x957, x953, x931); + uint32_t x959 = cmovznz(x957, x950, x928); + uint32_t x960 = cmovznz(x957, x947, x925); + uint32_t x961 = cmovznz(x957, x944, x922); + uint32_t x962 = cmovznz(x957, x941, x919); + uint32_t x963 = cmovznz(x957, x938, x916); + uint32_t x964 = cmovznz(x957, x935, x913); + return (x958, x959, x960, x961, x962, x963, x964)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e205m45x2e198m1/feoppDisplay.log b/src/Specific/montgomery32_2e205m45x2e198m1/feoppDisplay.log new file mode 100644 index 000000000..e61d0e1a8 --- /dev/null +++ b/src/Specific/montgomery32_2e205m45x2e198m1/feoppDisplay.log @@ -0,0 +1,29 @@ +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x11, x12, x10, x8, x6, x4, x2)%core, + uint32_t x14, uint8_t x15 = subborrow_u32(0x0, 0x0, x2); + uint32_t x17, uint8_t x18 = subborrow_u32(x15, 0x0, x4); + uint32_t x20, uint8_t x21 = subborrow_u32(x18, 0x0, x6); + uint32_t x23, uint8_t x24 = subborrow_u32(x21, 0x0, x8); + uint32_t x26, uint8_t x27 = subborrow_u32(x24, 0x0, x10); + uint32_t x29, uint8_t x30 = subborrow_u32(x27, 0x0, x12); + uint32_t x32, uint8_t x33 = subborrow_u32(x30, 0x0, x11); + uint32_t x34 = (uint32_t)cmovznz(x33, 0x0, 0xffffffff); + uint32_t x35 = (x34 & 0xffffffff); + uint32_t x37, uint8_t x38 = addcarryx_u32(0x0, x14, x35); + uint32_t x39 = (x34 & 0xffffffff); + uint32_t x41, uint8_t x42 = addcarryx_u32(x38, x17, x39); + uint32_t x43 = (x34 & 0xffffffff); + uint32_t x45, uint8_t x46 = addcarryx_u32(x42, x20, x43); + uint32_t x47 = (x34 & 0xffffffff); + uint32_t x49, uint8_t x50 = addcarryx_u32(x46, x23, x47); + uint32_t x51 = (x34 & 0xffffffff); + uint32_t x53, uint8_t x54 = addcarryx_u32(x50, x26, x51); + uint32_t x55 = (x34 & 0xffffffff); + uint32_t x57, uint8_t x58 = addcarryx_u32(x54, x29, x55); + uint32_t x59 = (x34 & 0x14bf); + uint32_t x61, uint8_t _ = addcarryx_u32(x58, x32, x59); + (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37)) +x + : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e205m45x2e198m1/fesubDisplay.log b/src/Specific/montgomery32_2e205m45x2e198m1/fesubDisplay.log new file mode 100644 index 000000000..ac03bd3c7 --- /dev/null +++ b/src/Specific/montgomery32_2e205m45x2e198m1/fesubDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint32_t x29, uint8_t x30 = subborrow_u32(0x0, x5, x17); + uint32_t x32, uint8_t x33 = subborrow_u32(x30, x7, x19); + uint32_t x35, uint8_t x36 = subborrow_u32(x33, x9, x21); + uint32_t x38, uint8_t x39 = subborrow_u32(x36, x11, x23); + uint32_t x41, uint8_t x42 = subborrow_u32(x39, x13, x25); + uint32_t x44, uint8_t x45 = subborrow_u32(x42, x15, x27); + uint32_t x47, uint8_t x48 = subborrow_u32(x45, x14, x26); + uint32_t x49 = (uint32_t)cmovznz(x48, 0x0, 0xffffffff); + uint32_t x50 = (x49 & 0xffffffff); + uint32_t x52, uint8_t x53 = addcarryx_u32(0x0, x29, x50); + uint32_t x54 = (x49 & 0xffffffff); + uint32_t x56, uint8_t x57 = addcarryx_u32(x53, x32, x54); + uint32_t x58 = (x49 & 0xffffffff); + uint32_t x60, uint8_t x61 = addcarryx_u32(x57, x35, x58); + uint32_t x62 = (x49 & 0xffffffff); + uint32_t x64, uint8_t x65 = addcarryx_u32(x61, x38, x62); + uint32_t x66 = (x49 & 0xffffffff); + uint32_t x68, uint8_t x69 = addcarryx_u32(x65, x41, x66); + uint32_t x70 = (x49 & 0xffffffff); + uint32_t x72, uint8_t x73 = addcarryx_u32(x69, x44, x70); + uint32_t x74 = (x49 & 0x14bf); + uint32_t x76, uint8_t _ = addcarryx_u32(x73, x47, x74); + (Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e216m2e108m1/feaddDisplay.log b/src/Specific/montgomery32_2e216m2e108m1/feaddDisplay.log new file mode 100644 index 000000000..49bf497b1 --- /dev/null +++ b/src/Specific/montgomery32_2e216m2e108m1/feaddDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x5, x17); + uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x7, x19); + uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x9, x21); + uint32_t x38, uint8_t x39 = addcarryx_u32(x36, x11, x23); + uint32_t x41, uint8_t x42 = addcarryx_u32(x39, x13, x25); + uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x15, x27); + uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x14, x26); + uint32_t x50, uint8_t x51 = subborrow_u32(0x0, x29, 0xffffffff); + uint32_t x53, uint8_t x54 = subborrow_u32(x51, x32, 0xffffffff); + uint32_t x56, uint8_t x57 = subborrow_u32(x54, x35, 0xffffffff); + uint32_t x59, uint8_t x60 = subborrow_u32(x57, x38, 0xffffefff); + uint32_t x62, uint8_t x63 = subborrow_u32(x60, x41, 0xffffffff); + uint32_t x65, uint8_t x66 = subborrow_u32(x63, x44, 0xffffffff); + uint32_t x68, uint8_t x69 = subborrow_u32(x66, x47, 0xffffff); + uint32_t _, uint8_t x72 = subborrow_u32(x69, x48, 0x0); + uint32_t x73 = cmovznz(x72, x68, x47); + uint32_t x74 = cmovznz(x72, x65, x44); + uint32_t x75 = cmovznz(x72, x62, x41); + uint32_t x76 = cmovznz(x72, x59, x38); + uint32_t x77 = cmovznz(x72, x56, x35); + uint32_t x78 = cmovznz(x72, x53, x32); + uint32_t x79 = cmovznz(x72, x50, x29); + return (x73, x74, x75, x76, x77, x78, x79)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e216m2e108m1/femulDisplay.log b/src/Specific/montgomery32_2e216m2e108m1/femulDisplay.log new file mode 100644 index 000000000..e829e0a1a --- /dev/null +++ b/src/Specific/montgomery32_2e216m2e108m1/femulDisplay.log @@ -0,0 +1,328 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint32_t x29, uint32_t x30 = mulx_u32(x5, x17); + uint32_t x32, uint32_t x33 = mulx_u32(x5, x19); + uint32_t x35, uint32_t x36 = mulx_u32(x5, x21); + uint32_t x38, uint32_t x39 = mulx_u32(x5, x23); + uint32_t x41, uint32_t x42 = mulx_u32(x5, x25); + uint32_t x44, uint32_t x45 = mulx_u32(x5, x27); + uint32_t x47, uint32_t x48 = mulx_u32(x5, x26); + uint32_t x50, uint8_t x51 = addcarryx_u32(0x0, x30, x32); + uint32_t x53, uint8_t x54 = addcarryx_u32(x51, x33, x35); + uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x36, x38); + uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x39, x41); + uint32_t x62, uint8_t x63 = addcarryx_u32(x60, x42, x44); + uint32_t x65, uint8_t x66 = addcarryx_u32(x63, x45, x47); + uint32_t x68, uint8_t _ = addcarryx_u32(0x0, x66, x48); + uint32_t x71, uint32_t x72 = mulx_u32(x29, 0xffffffff); + uint32_t x74, uint32_t x75 = mulx_u32(x29, 0xffffffff); + uint32_t x77, uint32_t x78 = mulx_u32(x29, 0xffffffff); + uint32_t x80, uint32_t x81 = mulx_u32(x29, 0xffffefff); + uint32_t x83, uint32_t x84 = mulx_u32(x29, 0xffffffff); + uint32_t x86, uint32_t x87 = mulx_u32(x29, 0xffffffff); + uint32_t x89, uint32_t x90 = mulx_u32(x29, 0xffffff); + uint32_t x92, uint8_t x93 = addcarryx_u32(0x0, x72, x74); + uint32_t x95, uint8_t x96 = addcarryx_u32(x93, x75, x77); + uint32_t x98, uint8_t x99 = addcarryx_u32(x96, x78, x80); + uint32_t x101, uint8_t x102 = addcarryx_u32(x99, x81, x83); + uint32_t x104, uint8_t x105 = addcarryx_u32(x102, x84, x86); + uint32_t x107, uint8_t x108 = addcarryx_u32(x105, x87, x89); + uint32_t x110, uint8_t _ = addcarryx_u32(0x0, x108, x90); + uint32_t _, uint8_t x114 = addcarryx_u32(0x0, x29, x71); + uint32_t x116, uint8_t x117 = addcarryx_u32(x114, x50, x92); + uint32_t x119, uint8_t x120 = addcarryx_u32(x117, x53, x95); + uint32_t x122, uint8_t x123 = addcarryx_u32(x120, x56, x98); + uint32_t x125, uint8_t x126 = addcarryx_u32(x123, x59, x101); + uint32_t x128, uint8_t x129 = addcarryx_u32(x126, x62, x104); + uint32_t x131, uint8_t x132 = addcarryx_u32(x129, x65, x107); + uint32_t x134, uint8_t x135 = addcarryx_u32(x132, x68, x110); + uint32_t x137, uint32_t x138 = mulx_u32(x7, x17); + uint32_t x140, uint32_t x141 = mulx_u32(x7, x19); + uint32_t x143, uint32_t x144 = mulx_u32(x7, x21); + uint32_t x146, uint32_t x147 = mulx_u32(x7, x23); + uint32_t x149, uint32_t x150 = mulx_u32(x7, x25); + uint32_t x152, uint32_t x153 = mulx_u32(x7, x27); + uint32_t x155, uint32_t x156 = mulx_u32(x7, x26); + uint32_t x158, uint8_t x159 = addcarryx_u32(0x0, x138, x140); + uint32_t x161, uint8_t x162 = addcarryx_u32(x159, x141, x143); + uint32_t x164, uint8_t x165 = addcarryx_u32(x162, x144, x146); + uint32_t x167, uint8_t x168 = addcarryx_u32(x165, x147, x149); + uint32_t x170, uint8_t x171 = addcarryx_u32(x168, x150, x152); + uint32_t x173, uint8_t x174 = addcarryx_u32(x171, x153, x155); + uint32_t x176, uint8_t _ = addcarryx_u32(0x0, x174, x156); + uint32_t x179, uint8_t x180 = addcarryx_u32(0x0, x116, x137); + uint32_t x182, uint8_t x183 = addcarryx_u32(x180, x119, x158); + uint32_t x185, uint8_t x186 = addcarryx_u32(x183, x122, x161); + uint32_t x188, uint8_t x189 = addcarryx_u32(x186, x125, x164); + uint32_t x191, uint8_t x192 = addcarryx_u32(x189, x128, x167); + uint32_t x194, uint8_t x195 = addcarryx_u32(x192, x131, x170); + uint32_t x197, uint8_t x198 = addcarryx_u32(x195, x134, x173); + uint32_t x200, uint8_t x201 = addcarryx_u32(x198, x135, x176); + uint32_t x203, uint32_t x204 = mulx_u32(x179, 0xffffffff); + uint32_t x206, uint32_t x207 = mulx_u32(x179, 0xffffffff); + uint32_t x209, uint32_t x210 = mulx_u32(x179, 0xffffffff); + uint32_t x212, uint32_t x213 = mulx_u32(x179, 0xffffefff); + uint32_t x215, uint32_t x216 = mulx_u32(x179, 0xffffffff); + uint32_t x218, uint32_t x219 = mulx_u32(x179, 0xffffffff); + uint32_t x221, uint32_t x222 = mulx_u32(x179, 0xffffff); + uint32_t x224, uint8_t x225 = addcarryx_u32(0x0, x204, x206); + uint32_t x227, uint8_t x228 = addcarryx_u32(x225, x207, x209); + uint32_t x230, uint8_t x231 = addcarryx_u32(x228, x210, x212); + uint32_t x233, uint8_t x234 = addcarryx_u32(x231, x213, x215); + uint32_t x236, uint8_t x237 = addcarryx_u32(x234, x216, x218); + uint32_t x239, uint8_t x240 = addcarryx_u32(x237, x219, x221); + uint32_t x242, uint8_t _ = addcarryx_u32(0x0, x240, x222); + uint32_t _, uint8_t x246 = addcarryx_u32(0x0, x179, x203); + uint32_t x248, uint8_t x249 = addcarryx_u32(x246, x182, x224); + uint32_t x251, uint8_t x252 = addcarryx_u32(x249, x185, x227); + uint32_t x254, uint8_t x255 = addcarryx_u32(x252, x188, x230); + uint32_t x257, uint8_t x258 = addcarryx_u32(x255, x191, x233); + uint32_t x260, uint8_t x261 = addcarryx_u32(x258, x194, x236); + uint32_t x263, uint8_t x264 = addcarryx_u32(x261, x197, x239); + uint32_t x266, uint8_t x267 = addcarryx_u32(x264, x200, x242); + uint8_t x268 = (x267 + x201); + uint32_t x270, uint32_t x271 = mulx_u32(x9, x17); + uint32_t x273, uint32_t x274 = mulx_u32(x9, x19); + uint32_t x276, uint32_t x277 = mulx_u32(x9, x21); + uint32_t x279, uint32_t x280 = mulx_u32(x9, x23); + uint32_t x282, uint32_t x283 = mulx_u32(x9, x25); + uint32_t x285, uint32_t x286 = mulx_u32(x9, x27); + uint32_t x288, uint32_t x289 = mulx_u32(x9, x26); + uint32_t x291, uint8_t x292 = addcarryx_u32(0x0, x271, x273); + uint32_t x294, uint8_t x295 = addcarryx_u32(x292, x274, x276); + uint32_t x297, uint8_t x298 = addcarryx_u32(x295, x277, x279); + uint32_t x300, uint8_t x301 = addcarryx_u32(x298, x280, x282); + uint32_t x303, uint8_t x304 = addcarryx_u32(x301, x283, x285); + uint32_t x306, uint8_t x307 = addcarryx_u32(x304, x286, x288); + uint32_t x309, uint8_t _ = addcarryx_u32(0x0, x307, x289); + uint32_t x312, uint8_t x313 = addcarryx_u32(0x0, x248, x270); + uint32_t x315, uint8_t x316 = addcarryx_u32(x313, x251, x291); + uint32_t x318, uint8_t x319 = addcarryx_u32(x316, x254, x294); + uint32_t x321, uint8_t x322 = addcarryx_u32(x319, x257, x297); + uint32_t x324, uint8_t x325 = addcarryx_u32(x322, x260, x300); + uint32_t x327, uint8_t x328 = addcarryx_u32(x325, x263, x303); + uint32_t x330, uint8_t x331 = addcarryx_u32(x328, x266, x306); + uint32_t x333, uint8_t x334 = addcarryx_u32(x331, x268, x309); + uint32_t x336, uint32_t x337 = mulx_u32(x312, 0xffffffff); + uint32_t x339, uint32_t x340 = mulx_u32(x312, 0xffffffff); + uint32_t x342, uint32_t x343 = mulx_u32(x312, 0xffffffff); + uint32_t x345, uint32_t x346 = mulx_u32(x312, 0xffffefff); + uint32_t x348, uint32_t x349 = mulx_u32(x312, 0xffffffff); + uint32_t x351, uint32_t x352 = mulx_u32(x312, 0xffffffff); + uint32_t x354, uint32_t x355 = mulx_u32(x312, 0xffffff); + uint32_t x357, uint8_t x358 = addcarryx_u32(0x0, x337, x339); + uint32_t x360, uint8_t x361 = addcarryx_u32(x358, x340, x342); + uint32_t x363, uint8_t x364 = addcarryx_u32(x361, x343, x345); + uint32_t x366, uint8_t x367 = addcarryx_u32(x364, x346, x348); + uint32_t x369, uint8_t x370 = addcarryx_u32(x367, x349, x351); + uint32_t x372, uint8_t x373 = addcarryx_u32(x370, x352, x354); + uint32_t x375, uint8_t _ = addcarryx_u32(0x0, x373, x355); + uint32_t _, uint8_t x379 = addcarryx_u32(0x0, x312, x336); + uint32_t x381, uint8_t x382 = addcarryx_u32(x379, x315, x357); + uint32_t x384, uint8_t x385 = addcarryx_u32(x382, x318, x360); + uint32_t x387, uint8_t x388 = addcarryx_u32(x385, x321, x363); + uint32_t x390, uint8_t x391 = addcarryx_u32(x388, x324, x366); + uint32_t x393, uint8_t x394 = addcarryx_u32(x391, x327, x369); + uint32_t x396, uint8_t x397 = addcarryx_u32(x394, x330, x372); + uint32_t x399, uint8_t x400 = addcarryx_u32(x397, x333, x375); + uint8_t x401 = (x400 + x334); + uint32_t x403, uint32_t x404 = mulx_u32(x11, x17); + uint32_t x406, uint32_t x407 = mulx_u32(x11, x19); + uint32_t x409, uint32_t x410 = mulx_u32(x11, x21); + uint32_t x412, uint32_t x413 = mulx_u32(x11, x23); + uint32_t x415, uint32_t x416 = mulx_u32(x11, x25); + uint32_t x418, uint32_t x419 = mulx_u32(x11, x27); + uint32_t x421, uint32_t x422 = mulx_u32(x11, x26); + uint32_t x424, uint8_t x425 = addcarryx_u32(0x0, x404, x406); + uint32_t x427, uint8_t x428 = addcarryx_u32(x425, x407, x409); + uint32_t x430, uint8_t x431 = addcarryx_u32(x428, x410, x412); + uint32_t x433, uint8_t x434 = addcarryx_u32(x431, x413, x415); + uint32_t x436, uint8_t x437 = addcarryx_u32(x434, x416, x418); + uint32_t x439, uint8_t x440 = addcarryx_u32(x437, x419, x421); + uint32_t x442, uint8_t _ = addcarryx_u32(0x0, x440, x422); + uint32_t x445, uint8_t x446 = addcarryx_u32(0x0, x381, x403); + uint32_t x448, uint8_t x449 = addcarryx_u32(x446, x384, x424); + uint32_t x451, uint8_t x452 = addcarryx_u32(x449, x387, x427); + uint32_t x454, uint8_t x455 = addcarryx_u32(x452, x390, x430); + uint32_t x457, uint8_t x458 = addcarryx_u32(x455, x393, x433); + uint32_t x460, uint8_t x461 = addcarryx_u32(x458, x396, x436); + uint32_t x463, uint8_t x464 = addcarryx_u32(x461, x399, x439); + uint32_t x466, uint8_t x467 = addcarryx_u32(x464, x401, x442); + uint32_t x469, uint32_t x470 = mulx_u32(x445, 0xffffffff); + uint32_t x472, uint32_t x473 = mulx_u32(x445, 0xffffffff); + uint32_t x475, uint32_t x476 = mulx_u32(x445, 0xffffffff); + uint32_t x478, uint32_t x479 = mulx_u32(x445, 0xffffefff); + uint32_t x481, uint32_t x482 = mulx_u32(x445, 0xffffffff); + uint32_t x484, uint32_t x485 = mulx_u32(x445, 0xffffffff); + uint32_t x487, uint32_t x488 = mulx_u32(x445, 0xffffff); + uint32_t x490, uint8_t x491 = addcarryx_u32(0x0, x470, x472); + uint32_t x493, uint8_t x494 = addcarryx_u32(x491, x473, x475); + uint32_t x496, uint8_t x497 = addcarryx_u32(x494, x476, x478); + uint32_t x499, uint8_t x500 = addcarryx_u32(x497, x479, x481); + uint32_t x502, uint8_t x503 = addcarryx_u32(x500, x482, x484); + uint32_t x505, uint8_t x506 = addcarryx_u32(x503, x485, x487); + uint32_t x508, uint8_t _ = addcarryx_u32(0x0, x506, x488); + uint32_t _, uint8_t x512 = addcarryx_u32(0x0, x445, x469); + uint32_t x514, uint8_t x515 = addcarryx_u32(x512, x448, x490); + uint32_t x517, uint8_t x518 = addcarryx_u32(x515, x451, x493); + uint32_t x520, uint8_t x521 = addcarryx_u32(x518, x454, x496); + uint32_t x523, uint8_t x524 = addcarryx_u32(x521, x457, x499); + uint32_t x526, uint8_t x527 = addcarryx_u32(x524, x460, x502); + uint32_t x529, uint8_t x530 = addcarryx_u32(x527, x463, x505); + uint32_t x532, uint8_t x533 = addcarryx_u32(x530, x466, x508); + uint8_t x534 = (x533 + x467); + uint32_t x536, uint32_t x537 = mulx_u32(x13, x17); + uint32_t x539, uint32_t x540 = mulx_u32(x13, x19); + uint32_t x542, uint32_t x543 = mulx_u32(x13, x21); + uint32_t x545, uint32_t x546 = mulx_u32(x13, x23); + uint32_t x548, uint32_t x549 = mulx_u32(x13, x25); + uint32_t x551, uint32_t x552 = mulx_u32(x13, x27); + uint32_t x554, uint32_t x555 = mulx_u32(x13, x26); + uint32_t x557, uint8_t x558 = addcarryx_u32(0x0, x537, x539); + uint32_t x560, uint8_t x561 = addcarryx_u32(x558, x540, x542); + uint32_t x563, uint8_t x564 = addcarryx_u32(x561, x543, x545); + uint32_t x566, uint8_t x567 = addcarryx_u32(x564, x546, x548); + uint32_t x569, uint8_t x570 = addcarryx_u32(x567, x549, x551); + uint32_t x572, uint8_t x573 = addcarryx_u32(x570, x552, x554); + uint32_t x575, uint8_t _ = addcarryx_u32(0x0, x573, x555); + uint32_t x578, uint8_t x579 = addcarryx_u32(0x0, x514, x536); + uint32_t x581, uint8_t x582 = addcarryx_u32(x579, x517, x557); + uint32_t x584, uint8_t x585 = addcarryx_u32(x582, x520, x560); + uint32_t x587, uint8_t x588 = addcarryx_u32(x585, x523, x563); + uint32_t x590, uint8_t x591 = addcarryx_u32(x588, x526, x566); + uint32_t x593, uint8_t x594 = addcarryx_u32(x591, x529, x569); + uint32_t x596, uint8_t x597 = addcarryx_u32(x594, x532, x572); + uint32_t x599, uint8_t x600 = addcarryx_u32(x597, x534, x575); + uint32_t x602, uint32_t x603 = mulx_u32(x578, 0xffffffff); + uint32_t x605, uint32_t x606 = mulx_u32(x578, 0xffffffff); + uint32_t x608, uint32_t x609 = mulx_u32(x578, 0xffffffff); + uint32_t x611, uint32_t x612 = mulx_u32(x578, 0xffffefff); + uint32_t x614, uint32_t x615 = mulx_u32(x578, 0xffffffff); + uint32_t x617, uint32_t x618 = mulx_u32(x578, 0xffffffff); + uint32_t x620, uint32_t x621 = mulx_u32(x578, 0xffffff); + uint32_t x623, uint8_t x624 = addcarryx_u32(0x0, x603, x605); + uint32_t x626, uint8_t x627 = addcarryx_u32(x624, x606, x608); + uint32_t x629, uint8_t x630 = addcarryx_u32(x627, x609, x611); + uint32_t x632, uint8_t x633 = addcarryx_u32(x630, x612, x614); + uint32_t x635, uint8_t x636 = addcarryx_u32(x633, x615, x617); + uint32_t x638, uint8_t x639 = addcarryx_u32(x636, x618, x620); + uint32_t x641, uint8_t _ = addcarryx_u32(0x0, x639, x621); + uint32_t _, uint8_t x645 = addcarryx_u32(0x0, x578, x602); + uint32_t x647, uint8_t x648 = addcarryx_u32(x645, x581, x623); + uint32_t x650, uint8_t x651 = addcarryx_u32(x648, x584, x626); + uint32_t x653, uint8_t x654 = addcarryx_u32(x651, x587, x629); + uint32_t x656, uint8_t x657 = addcarryx_u32(x654, x590, x632); + uint32_t x659, uint8_t x660 = addcarryx_u32(x657, x593, x635); + uint32_t x662, uint8_t x663 = addcarryx_u32(x660, x596, x638); + uint32_t x665, uint8_t x666 = addcarryx_u32(x663, x599, x641); + uint8_t x667 = (x666 + x600); + uint32_t x669, uint32_t x670 = mulx_u32(x15, x17); + uint32_t x672, uint32_t x673 = mulx_u32(x15, x19); + uint32_t x675, uint32_t x676 = mulx_u32(x15, x21); + uint32_t x678, uint32_t x679 = mulx_u32(x15, x23); + uint32_t x681, uint32_t x682 = mulx_u32(x15, x25); + uint32_t x684, uint32_t x685 = mulx_u32(x15, x27); + uint32_t x687, uint32_t x688 = mulx_u32(x15, x26); + uint32_t x690, uint8_t x691 = addcarryx_u32(0x0, x670, x672); + uint32_t x693, uint8_t x694 = addcarryx_u32(x691, x673, x675); + uint32_t x696, uint8_t x697 = addcarryx_u32(x694, x676, x678); + uint32_t x699, uint8_t x700 = addcarryx_u32(x697, x679, x681); + uint32_t x702, uint8_t x703 = addcarryx_u32(x700, x682, x684); + uint32_t x705, uint8_t x706 = addcarryx_u32(x703, x685, x687); + uint32_t x708, uint8_t _ = addcarryx_u32(0x0, x706, x688); + uint32_t x711, uint8_t x712 = addcarryx_u32(0x0, x647, x669); + uint32_t x714, uint8_t x715 = addcarryx_u32(x712, x650, x690); + uint32_t x717, uint8_t x718 = addcarryx_u32(x715, x653, x693); + uint32_t x720, uint8_t x721 = addcarryx_u32(x718, x656, x696); + uint32_t x723, uint8_t x724 = addcarryx_u32(x721, x659, x699); + uint32_t x726, uint8_t x727 = addcarryx_u32(x724, x662, x702); + uint32_t x729, uint8_t x730 = addcarryx_u32(x727, x665, x705); + uint32_t x732, uint8_t x733 = addcarryx_u32(x730, x667, x708); + uint32_t x735, uint32_t x736 = mulx_u32(x711, 0xffffffff); + uint32_t x738, uint32_t x739 = mulx_u32(x711, 0xffffffff); + uint32_t x741, uint32_t x742 = mulx_u32(x711, 0xffffffff); + uint32_t x744, uint32_t x745 = mulx_u32(x711, 0xffffefff); + uint32_t x747, uint32_t x748 = mulx_u32(x711, 0xffffffff); + uint32_t x750, uint32_t x751 = mulx_u32(x711, 0xffffffff); + uint32_t x753, uint32_t x754 = mulx_u32(x711, 0xffffff); + uint32_t x756, uint8_t x757 = addcarryx_u32(0x0, x736, x738); + uint32_t x759, uint8_t x760 = addcarryx_u32(x757, x739, x741); + uint32_t x762, uint8_t x763 = addcarryx_u32(x760, x742, x744); + uint32_t x765, uint8_t x766 = addcarryx_u32(x763, x745, x747); + uint32_t x768, uint8_t x769 = addcarryx_u32(x766, x748, x750); + uint32_t x771, uint8_t x772 = addcarryx_u32(x769, x751, x753); + uint32_t x774, uint8_t _ = addcarryx_u32(0x0, x772, x754); + uint32_t _, uint8_t x778 = addcarryx_u32(0x0, x711, x735); + uint32_t x780, uint8_t x781 = addcarryx_u32(x778, x714, x756); + uint32_t x783, uint8_t x784 = addcarryx_u32(x781, x717, x759); + uint32_t x786, uint8_t x787 = addcarryx_u32(x784, x720, x762); + uint32_t x789, uint8_t x790 = addcarryx_u32(x787, x723, x765); + uint32_t x792, uint8_t x793 = addcarryx_u32(x790, x726, x768); + uint32_t x795, uint8_t x796 = addcarryx_u32(x793, x729, x771); + uint32_t x798, uint8_t x799 = addcarryx_u32(x796, x732, x774); + uint8_t x800 = (x799 + x733); + uint32_t x802, uint32_t x803 = mulx_u32(x14, x17); + uint32_t x805, uint32_t x806 = mulx_u32(x14, x19); + uint32_t x808, uint32_t x809 = mulx_u32(x14, x21); + uint32_t x811, uint32_t x812 = mulx_u32(x14, x23); + uint32_t x814, uint32_t x815 = mulx_u32(x14, x25); + uint32_t x817, uint32_t x818 = mulx_u32(x14, x27); + uint32_t x820, uint32_t x821 = mulx_u32(x14, x26); + uint32_t x823, uint8_t x824 = addcarryx_u32(0x0, x803, x805); + uint32_t x826, uint8_t x827 = addcarryx_u32(x824, x806, x808); + uint32_t x829, uint8_t x830 = addcarryx_u32(x827, x809, x811); + uint32_t x832, uint8_t x833 = addcarryx_u32(x830, x812, x814); + uint32_t x835, uint8_t x836 = addcarryx_u32(x833, x815, x817); + uint32_t x838, uint8_t x839 = addcarryx_u32(x836, x818, x820); + uint32_t x841, uint8_t _ = addcarryx_u32(0x0, x839, x821); + uint32_t x844, uint8_t x845 = addcarryx_u32(0x0, x780, x802); + uint32_t x847, uint8_t x848 = addcarryx_u32(x845, x783, x823); + uint32_t x850, uint8_t x851 = addcarryx_u32(x848, x786, x826); + uint32_t x853, uint8_t x854 = addcarryx_u32(x851, x789, x829); + uint32_t x856, uint8_t x857 = addcarryx_u32(x854, x792, x832); + uint32_t x859, uint8_t x860 = addcarryx_u32(x857, x795, x835); + uint32_t x862, uint8_t x863 = addcarryx_u32(x860, x798, x838); + uint32_t x865, uint8_t x866 = addcarryx_u32(x863, x800, x841); + uint32_t x868, uint32_t x869 = mulx_u32(x844, 0xffffffff); + uint32_t x871, uint32_t x872 = mulx_u32(x844, 0xffffffff); + uint32_t x874, uint32_t x875 = mulx_u32(x844, 0xffffffff); + uint32_t x877, uint32_t x878 = mulx_u32(x844, 0xffffefff); + uint32_t x880, uint32_t x881 = mulx_u32(x844, 0xffffffff); + uint32_t x883, uint32_t x884 = mulx_u32(x844, 0xffffffff); + uint32_t x886, uint32_t x887 = mulx_u32(x844, 0xffffff); + uint32_t x889, uint8_t x890 = addcarryx_u32(0x0, x869, x871); + uint32_t x892, uint8_t x893 = addcarryx_u32(x890, x872, x874); + uint32_t x895, uint8_t x896 = addcarryx_u32(x893, x875, x877); + uint32_t x898, uint8_t x899 = addcarryx_u32(x896, x878, x880); + uint32_t x901, uint8_t x902 = addcarryx_u32(x899, x881, x883); + uint32_t x904, uint8_t x905 = addcarryx_u32(x902, x884, x886); + uint32_t x907, uint8_t _ = addcarryx_u32(0x0, x905, x887); + uint32_t _, uint8_t x911 = addcarryx_u32(0x0, x844, x868); + uint32_t x913, uint8_t x914 = addcarryx_u32(x911, x847, x889); + uint32_t x916, uint8_t x917 = addcarryx_u32(x914, x850, x892); + uint32_t x919, uint8_t x920 = addcarryx_u32(x917, x853, x895); + uint32_t x922, uint8_t x923 = addcarryx_u32(x920, x856, x898); + uint32_t x925, uint8_t x926 = addcarryx_u32(x923, x859, x901); + uint32_t x928, uint8_t x929 = addcarryx_u32(x926, x862, x904); + uint32_t x931, uint8_t x932 = addcarryx_u32(x929, x865, x907); + uint8_t x933 = (x932 + x866); + uint32_t x935, uint8_t x936 = subborrow_u32(0x0, x913, 0xffffffff); + uint32_t x938, uint8_t x939 = subborrow_u32(x936, x916, 0xffffffff); + uint32_t x941, uint8_t x942 = subborrow_u32(x939, x919, 0xffffffff); + uint32_t x944, uint8_t x945 = subborrow_u32(x942, x922, 0xffffefff); + uint32_t x947, uint8_t x948 = subborrow_u32(x945, x925, 0xffffffff); + uint32_t x950, uint8_t x951 = subborrow_u32(x948, x928, 0xffffffff); + uint32_t x953, uint8_t x954 = subborrow_u32(x951, x931, 0xffffff); + uint32_t _, uint8_t x957 = subborrow_u32(x954, x933, 0x0); + uint32_t x958 = cmovznz(x957, x953, x931); + uint32_t x959 = cmovznz(x957, x950, x928); + uint32_t x960 = cmovznz(x957, x947, x925); + uint32_t x961 = cmovznz(x957, x944, x922); + uint32_t x962 = cmovznz(x957, x941, x919); + uint32_t x963 = cmovznz(x957, x938, x916); + uint32_t x964 = cmovznz(x957, x935, x913); + return (x958, x959, x960, x961, x962, x963, x964)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e216m2e108m1/feoppDisplay.log b/src/Specific/montgomery32_2e216m2e108m1/feoppDisplay.log new file mode 100644 index 000000000..44e9922cf --- /dev/null +++ b/src/Specific/montgomery32_2e216m2e108m1/feoppDisplay.log @@ -0,0 +1,29 @@ +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x11, x12, x10, x8, x6, x4, x2)%core, + uint32_t x14, uint8_t x15 = subborrow_u32(0x0, 0x0, x2); + uint32_t x17, uint8_t x18 = subborrow_u32(x15, 0x0, x4); + uint32_t x20, uint8_t x21 = subborrow_u32(x18, 0x0, x6); + uint32_t x23, uint8_t x24 = subborrow_u32(x21, 0x0, x8); + uint32_t x26, uint8_t x27 = subborrow_u32(x24, 0x0, x10); + uint32_t x29, uint8_t x30 = subborrow_u32(x27, 0x0, x12); + uint32_t x32, uint8_t x33 = subborrow_u32(x30, 0x0, x11); + uint32_t x34 = (uint32_t)cmovznz(x33, 0x0, 0xffffffff); + uint32_t x35 = (x34 & 0xffffffff); + uint32_t x37, uint8_t x38 = addcarryx_u32(0x0, x14, x35); + uint32_t x39 = (x34 & 0xffffffff); + uint32_t x41, uint8_t x42 = addcarryx_u32(x38, x17, x39); + uint32_t x43 = (x34 & 0xffffffff); + uint32_t x45, uint8_t x46 = addcarryx_u32(x42, x20, x43); + uint32_t x47 = (x34 & 0xffffefff); + uint32_t x49, uint8_t x50 = addcarryx_u32(x46, x23, x47); + uint32_t x51 = (x34 & 0xffffffff); + uint32_t x53, uint8_t x54 = addcarryx_u32(x50, x26, x51); + uint32_t x55 = (x34 & 0xffffffff); + uint32_t x57, uint8_t x58 = addcarryx_u32(x54, x29, x55); + uint32_t x59 = (x34 & 0xffffff); + uint32_t x61, uint8_t _ = addcarryx_u32(x58, x32, x59); + (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37)) +x + : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e216m2e108m1/fesubDisplay.log b/src/Specific/montgomery32_2e216m2e108m1/fesubDisplay.log new file mode 100644 index 000000000..694ffa134 --- /dev/null +++ b/src/Specific/montgomery32_2e216m2e108m1/fesubDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint32_t x29, uint8_t x30 = subborrow_u32(0x0, x5, x17); + uint32_t x32, uint8_t x33 = subborrow_u32(x30, x7, x19); + uint32_t x35, uint8_t x36 = subborrow_u32(x33, x9, x21); + uint32_t x38, uint8_t x39 = subborrow_u32(x36, x11, x23); + uint32_t x41, uint8_t x42 = subborrow_u32(x39, x13, x25); + uint32_t x44, uint8_t x45 = subborrow_u32(x42, x15, x27); + uint32_t x47, uint8_t x48 = subborrow_u32(x45, x14, x26); + uint32_t x49 = (uint32_t)cmovznz(x48, 0x0, 0xffffffff); + uint32_t x50 = (x49 & 0xffffffff); + uint32_t x52, uint8_t x53 = addcarryx_u32(0x0, x29, x50); + uint32_t x54 = (x49 & 0xffffffff); + uint32_t x56, uint8_t x57 = addcarryx_u32(x53, x32, x54); + uint32_t x58 = (x49 & 0xffffffff); + uint32_t x60, uint8_t x61 = addcarryx_u32(x57, x35, x58); + uint32_t x62 = (x49 & 0xffffefff); + uint32_t x64, uint8_t x65 = addcarryx_u32(x61, x38, x62); + uint32_t x66 = (x49 & 0xffffffff); + uint32_t x68, uint8_t x69 = addcarryx_u32(x65, x41, x66); + uint32_t x70 = (x49 & 0xffffffff); + uint32_t x72, uint8_t x73 = addcarryx_u32(x69, x44, x70); + uint32_t x74 = (x49 & 0xffffff); + uint32_t x76, uint8_t _ = addcarryx_u32(x73, x47, x74); + (Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e221m3/fesubDisplay.log b/src/Specific/montgomery32_2e221m3/fesubDisplay.log new file mode 100644 index 000000000..94ca494e3 --- /dev/null +++ b/src/Specific/montgomery32_2e221m3/fesubDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint32_t x29, uint8_t x30 = subborrow_u32(0x0, x5, x17); + uint32_t x32, uint8_t x33 = subborrow_u32(x30, x7, x19); + uint32_t x35, uint8_t x36 = subborrow_u32(x33, x9, x21); + uint32_t x38, uint8_t x39 = subborrow_u32(x36, x11, x23); + uint32_t x41, uint8_t x42 = subborrow_u32(x39, x13, x25); + uint32_t x44, uint8_t x45 = subborrow_u32(x42, x15, x27); + uint32_t x47, uint8_t x48 = subborrow_u32(x45, x14, x26); + uint32_t x49 = (uint32_t)cmovznz(x48, 0x0, 0xffffffff); + uint32_t x50 = (x49 & 0xfffffffd); + uint32_t x52, uint8_t x53 = addcarryx_u32(0x0, x29, x50); + uint32_t x54 = (x49 & 0xffffffff); + uint32_t x56, uint8_t x57 = addcarryx_u32(x53, x32, x54); + uint32_t x58 = (x49 & 0xffffffff); + uint32_t x60, uint8_t x61 = addcarryx_u32(x57, x35, x58); + uint32_t x62 = (x49 & 0xffffffff); + uint32_t x64, uint8_t x65 = addcarryx_u32(x61, x38, x62); + uint32_t x66 = (x49 & 0xffffffff); + uint32_t x68, uint8_t x69 = addcarryx_u32(x65, x41, x66); + uint32_t x70 = (x49 & 0xffffffff); + uint32_t x72, uint8_t x73 = addcarryx_u32(x69, x44, x70); + uint32_t x74 = (x49 & 0x1fffffff); + uint32_t x76, uint8_t _ = addcarryx_u32(x73, x47, x74); + (Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e222m117/feoppDisplay.log b/src/Specific/montgomery32_2e222m117/feoppDisplay.log new file mode 100644 index 000000000..f8a47fecf --- /dev/null +++ b/src/Specific/montgomery32_2e222m117/feoppDisplay.log @@ -0,0 +1,29 @@ +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x11, x12, x10, x8, x6, x4, x2)%core, + uint32_t x14, uint8_t x15 = subborrow_u32(0x0, 0x0, x2); + uint32_t x17, uint8_t x18 = subborrow_u32(x15, 0x0, x4); + uint32_t x20, uint8_t x21 = subborrow_u32(x18, 0x0, x6); + uint32_t x23, uint8_t x24 = subborrow_u32(x21, 0x0, x8); + uint32_t x26, uint8_t x27 = subborrow_u32(x24, 0x0, x10); + uint32_t x29, uint8_t x30 = subborrow_u32(x27, 0x0, x12); + uint32_t x32, uint8_t x33 = subborrow_u32(x30, 0x0, x11); + uint32_t x34 = (uint32_t)cmovznz(x33, 0x0, 0xffffffff); + uint32_t x35 = (x34 & 0xffffff8b); + uint32_t x37, uint8_t x38 = addcarryx_u32(0x0, x14, x35); + uint32_t x39 = (x34 & 0xffffffff); + uint32_t x41, uint8_t x42 = addcarryx_u32(x38, x17, x39); + uint32_t x43 = (x34 & 0xffffffff); + uint32_t x45, uint8_t x46 = addcarryx_u32(x42, x20, x43); + uint32_t x47 = (x34 & 0xffffffff); + uint32_t x49, uint8_t x50 = addcarryx_u32(x46, x23, x47); + uint32_t x51 = (x34 & 0xffffffff); + uint32_t x53, uint8_t x54 = addcarryx_u32(x50, x26, x51); + uint32_t x55 = (x34 & 0xffffffff); + uint32_t x57, uint8_t x58 = addcarryx_u32(x54, x29, x55); + uint32_t x59 = (x34 & 0x3fffffff); + uint32_t x61, uint8_t _ = addcarryx_u32(x58, x32, x59); + (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37)) +x + : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e222m117/fesubDisplay.log b/src/Specific/montgomery32_2e222m117/fesubDisplay.log new file mode 100644 index 000000000..bb3c83320 --- /dev/null +++ b/src/Specific/montgomery32_2e222m117/fesubDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint32_t x29, uint8_t x30 = subborrow_u32(0x0, x5, x17); + uint32_t x32, uint8_t x33 = subborrow_u32(x30, x7, x19); + uint32_t x35, uint8_t x36 = subborrow_u32(x33, x9, x21); + uint32_t x38, uint8_t x39 = subborrow_u32(x36, x11, x23); + uint32_t x41, uint8_t x42 = subborrow_u32(x39, x13, x25); + uint32_t x44, uint8_t x45 = subborrow_u32(x42, x15, x27); + uint32_t x47, uint8_t x48 = subborrow_u32(x45, x14, x26); + uint32_t x49 = (uint32_t)cmovznz(x48, 0x0, 0xffffffff); + uint32_t x50 = (x49 & 0xffffff8b); + uint32_t x52, uint8_t x53 = addcarryx_u32(0x0, x29, x50); + uint32_t x54 = (x49 & 0xffffffff); + uint32_t x56, uint8_t x57 = addcarryx_u32(x53, x32, x54); + uint32_t x58 = (x49 & 0xffffffff); + uint32_t x60, uint8_t x61 = addcarryx_u32(x57, x35, x58); + uint32_t x62 = (x49 & 0xffffffff); + uint32_t x64, uint8_t x65 = addcarryx_u32(x61, x38, x62); + uint32_t x66 = (x49 & 0xffffffff); + uint32_t x68, uint8_t x69 = addcarryx_u32(x65, x41, x66); + uint32_t x70 = (x49 & 0xffffffff); + uint32_t x72, uint8_t x73 = addcarryx_u32(x69, x44, x70); + uint32_t x74 = (x49 & 0x3fffffff); + uint32_t x76, uint8_t _ = addcarryx_u32(x73, x47, x74); + (Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e224m2e96p1/femulDisplay.log b/src/Specific/montgomery32_2e224m2e96p1/femulDisplay.log index 0b760af0f..cca4d7295 100644 --- a/src/Specific/montgomery32_2e224m2e96p1/femulDisplay.log +++ b/src/Specific/montgomery32_2e224m2e96p1/femulDisplay.log @@ -21,8 +21,8 @@ Interp-η uint32_t x77, uint32_t x78 = mulx_u32(x71, 0xffffffff); uint32_t x80, uint32_t x81 = mulx_u32(x71, 0xffffffff); uint32_t x83, uint32_t x84 = mulx_u32(x71, 0xffffffff); - uint8_t x85 = 0x0 + 0x0; - uint8_t x86 = 0x0 + 0x0; + uint8_t x85 = (0x0 + 0x0); + uint8_t x86 = (0x0 + 0x0); uint32_t x88, uint8_t x89 = addcarryx_u32(0x0, x75, x77); uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x78, x80); uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x81, x83); @@ -62,8 +62,8 @@ Interp-η uint32_t x196, uint32_t x197 = mulx_u32(x190, 0xffffffff); uint32_t x199, uint32_t x200 = mulx_u32(x190, 0xffffffff); uint32_t x202, uint32_t x203 = mulx_u32(x190, 0xffffffff); - uint8_t x204 = 0x0 + 0x0; - uint8_t x205 = 0x0 + 0x0; + uint8_t x204 = (0x0 + 0x0); + uint8_t x205 = (0x0 + 0x0); uint32_t x207, uint8_t x208 = addcarryx_u32(0x0, x194, x196); uint32_t x210, uint8_t x211 = addcarryx_u32(x208, x197, x199); uint32_t x213, uint8_t x214 = addcarryx_u32(x211, x200, x202); @@ -76,7 +76,7 @@ Interp-η uint32_t x234, uint8_t x235 = addcarryx_u32(x232, x181, x210); uint32_t x237, uint8_t x238 = addcarryx_u32(x235, x184, x213); uint32_t x240, uint8_t x241 = addcarryx_u32(x238, x187, x216); - uint8_t x242 = x241 + x188; + uint8_t x242 = (x241 + x188); uint32_t x244, uint32_t x245 = mulx_u32(x9, x17); uint32_t x247, uint32_t x248 = mulx_u32(x9, x19); uint32_t x250, uint32_t x251 = mulx_u32(x9, x21); @@ -104,8 +104,8 @@ Interp-η uint32_t x316, uint32_t x317 = mulx_u32(x310, 0xffffffff); uint32_t x319, uint32_t x320 = mulx_u32(x310, 0xffffffff); uint32_t x322, uint32_t x323 = mulx_u32(x310, 0xffffffff); - uint8_t x324 = 0x0 + 0x0; - uint8_t x325 = 0x0 + 0x0; + uint8_t x324 = (0x0 + 0x0); + uint8_t x325 = (0x0 + 0x0); uint32_t x327, uint8_t x328 = addcarryx_u32(0x0, x314, x316); uint32_t x330, uint8_t x331 = addcarryx_u32(x328, x317, x319); uint32_t x333, uint8_t x334 = addcarryx_u32(x331, x320, x322); @@ -118,7 +118,7 @@ Interp-η uint32_t x354, uint8_t x355 = addcarryx_u32(x352, x301, x330); uint32_t x357, uint8_t x358 = addcarryx_u32(x355, x304, x333); uint32_t x360, uint8_t x361 = addcarryx_u32(x358, x307, x336); - uint8_t x362 = x361 + x308; + uint8_t x362 = (x361 + x308); uint32_t x364, uint32_t x365 = mulx_u32(x11, x17); uint32_t x367, uint32_t x368 = mulx_u32(x11, x19); uint32_t x370, uint32_t x371 = mulx_u32(x11, x21); @@ -146,8 +146,8 @@ Interp-η uint32_t x436, uint32_t x437 = mulx_u32(x430, 0xffffffff); uint32_t x439, uint32_t x440 = mulx_u32(x430, 0xffffffff); uint32_t x442, uint32_t x443 = mulx_u32(x430, 0xffffffff); - uint8_t x444 = 0x0 + 0x0; - uint8_t x445 = 0x0 + 0x0; + uint8_t x444 = (0x0 + 0x0); + uint8_t x445 = (0x0 + 0x0); uint32_t x447, uint8_t x448 = addcarryx_u32(0x0, x434, x436); uint32_t x450, uint8_t x451 = addcarryx_u32(x448, x437, x439); uint32_t x453, uint8_t x454 = addcarryx_u32(x451, x440, x442); @@ -160,7 +160,7 @@ Interp-η uint32_t x474, uint8_t x475 = addcarryx_u32(x472, x421, x450); uint32_t x477, uint8_t x478 = addcarryx_u32(x475, x424, x453); uint32_t x480, uint8_t x481 = addcarryx_u32(x478, x427, x456); - uint8_t x482 = x481 + x428; + uint8_t x482 = (x481 + x428); uint32_t x484, uint32_t x485 = mulx_u32(x13, x17); uint32_t x487, uint32_t x488 = mulx_u32(x13, x19); uint32_t x490, uint32_t x491 = mulx_u32(x13, x21); @@ -188,8 +188,8 @@ Interp-η uint32_t x556, uint32_t x557 = mulx_u32(x550, 0xffffffff); uint32_t x559, uint32_t x560 = mulx_u32(x550, 0xffffffff); uint32_t x562, uint32_t x563 = mulx_u32(x550, 0xffffffff); - uint8_t x564 = 0x0 + 0x0; - uint8_t x565 = 0x0 + 0x0; + uint8_t x564 = (0x0 + 0x0); + uint8_t x565 = (0x0 + 0x0); uint32_t x567, uint8_t x568 = addcarryx_u32(0x0, x554, x556); uint32_t x570, uint8_t x571 = addcarryx_u32(x568, x557, x559); uint32_t x573, uint8_t x574 = addcarryx_u32(x571, x560, x562); @@ -202,7 +202,7 @@ Interp-η uint32_t x594, uint8_t x595 = addcarryx_u32(x592, x541, x570); uint32_t x597, uint8_t x598 = addcarryx_u32(x595, x544, x573); uint32_t x600, uint8_t x601 = addcarryx_u32(x598, x547, x576); - uint8_t x602 = x601 + x548; + uint8_t x602 = (x601 + x548); uint32_t x604, uint32_t x605 = mulx_u32(x15, x17); uint32_t x607, uint32_t x608 = mulx_u32(x15, x19); uint32_t x610, uint32_t x611 = mulx_u32(x15, x21); @@ -230,8 +230,8 @@ Interp-η uint32_t x676, uint32_t x677 = mulx_u32(x670, 0xffffffff); uint32_t x679, uint32_t x680 = mulx_u32(x670, 0xffffffff); uint32_t x682, uint32_t x683 = mulx_u32(x670, 0xffffffff); - uint8_t x684 = 0x0 + 0x0; - uint8_t x685 = 0x0 + 0x0; + uint8_t x684 = (0x0 + 0x0); + uint8_t x685 = (0x0 + 0x0); uint32_t x687, uint8_t x688 = addcarryx_u32(0x0, x674, x676); uint32_t x690, uint8_t x691 = addcarryx_u32(x688, x677, x679); uint32_t x693, uint8_t x694 = addcarryx_u32(x691, x680, x682); @@ -244,7 +244,7 @@ Interp-η uint32_t x714, uint8_t x715 = addcarryx_u32(x712, x661, x690); uint32_t x717, uint8_t x718 = addcarryx_u32(x715, x664, x693); uint32_t x720, uint8_t x721 = addcarryx_u32(x718, x667, x696); - uint8_t x722 = x721 + x668; + uint8_t x722 = (x721 + x668); uint32_t x724, uint32_t x725 = mulx_u32(x14, x17); uint32_t x727, uint32_t x728 = mulx_u32(x14, x19); uint32_t x730, uint32_t x731 = mulx_u32(x14, x21); @@ -272,8 +272,8 @@ Interp-η uint32_t x796, uint32_t x797 = mulx_u32(x790, 0xffffffff); uint32_t x799, uint32_t x800 = mulx_u32(x790, 0xffffffff); uint32_t x802, uint32_t x803 = mulx_u32(x790, 0xffffffff); - uint8_t x804 = 0x0 + 0x0; - uint8_t x805 = 0x0 + 0x0; + uint8_t x804 = (0x0 + 0x0); + uint8_t x805 = (0x0 + 0x0); uint32_t x807, uint8_t x808 = addcarryx_u32(0x0, x794, x796); uint32_t x810, uint8_t x811 = addcarryx_u32(x808, x797, x799); uint32_t x813, uint8_t x814 = addcarryx_u32(x811, x800, x802); @@ -286,7 +286,7 @@ Interp-η uint32_t x834, uint8_t x835 = addcarryx_u32(x832, x781, x810); uint32_t x837, uint8_t x838 = addcarryx_u32(x835, x784, x813); uint32_t x840, uint8_t x841 = addcarryx_u32(x838, x787, x816); - uint8_t x842 = x841 + x788; + uint8_t x842 = (x841 + x788); uint32_t x844, uint8_t x845 = subborrow_u32(0x0, x822, 0x1); uint32_t x847, uint8_t x848 = subborrow_u32(x845, x825, 0x0); uint32_t x850, uint8_t x851 = subborrow_u32(x848, x828, 0x0); diff --git a/src/Specific/montgomery32_2e224m2e96p1/feoppDisplay.log b/src/Specific/montgomery32_2e224m2e96p1/feoppDisplay.log index d6f50e522..0cd0733e8 100644 --- a/src/Specific/montgomery32_2e224m2e96p1/feoppDisplay.log +++ b/src/Specific/montgomery32_2e224m2e96p1/feoppDisplay.log @@ -10,17 +10,17 @@ Interp-η uint32_t x29, uint8_t x30 = subborrow_u32(x27, 0x0, x12); uint32_t x32, uint8_t x33 = subborrow_u32(x30, 0x0, x11); uint32_t x34 = (uint32_t)cmovznz(x33, 0x0, 0xffffffff); - uint8_t x35 = (uint8_t) x34 & 0x1; + uint8_t x35 = ((uint8_t)x34 & 0x1); uint32_t x37, uint8_t x38 = addcarryx_u32(0x0, x14, x35); uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x17, 0x0); uint32_t x43, uint8_t x44 = addcarryx_u32(x41, x20, 0x0); - uint32_t x45 = x34 & 0xffffffff; + uint32_t x45 = (x34 & 0xffffffff); uint32_t x47, uint8_t x48 = addcarryx_u32(x44, x23, x45); - uint32_t x49 = x34 & 0xffffffff; + uint32_t x49 = (x34 & 0xffffffff); uint32_t x51, uint8_t x52 = addcarryx_u32(x48, x26, x49); - uint32_t x53 = x34 & 0xffffffff; + uint32_t x53 = (x34 & 0xffffffff); uint32_t x55, uint8_t x56 = addcarryx_u32(x52, x29, x53); - uint32_t x57 = x34 & 0xffffffff; + uint32_t x57 = (x34 & 0xffffffff); uint32_t x59, uint8_t _ = addcarryx_u32(x56, x32, x57); (Return x59, Return x55, Return x51, Return x47, Return x43, Return x40, Return x37)) x diff --git a/src/Specific/montgomery32_2e224m2e96p1/fesubDisplay.log b/src/Specific/montgomery32_2e224m2e96p1/fesubDisplay.log index f6e04b552..1392007a0 100644 --- a/src/Specific/montgomery32_2e224m2e96p1/fesubDisplay.log +++ b/src/Specific/montgomery32_2e224m2e96p1/fesubDisplay.log @@ -10,17 +10,17 @@ Interp-η uint32_t x44, uint8_t x45 = subborrow_u32(x42, x15, x27); uint32_t x47, uint8_t x48 = subborrow_u32(x45, x14, x26); uint32_t x49 = (uint32_t)cmovznz(x48, 0x0, 0xffffffff); - uint8_t x50 = (uint8_t) x49 & 0x1; + uint8_t x50 = ((uint8_t)x49 & 0x1); uint32_t x52, uint8_t x53 = addcarryx_u32(0x0, x29, x50); uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x32, 0x0); uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x35, 0x0); - uint32_t x60 = x49 & 0xffffffff; + uint32_t x60 = (x49 & 0xffffffff); uint32_t x62, uint8_t x63 = addcarryx_u32(x59, x38, x60); - uint32_t x64 = x49 & 0xffffffff; + uint32_t x64 = (x49 & 0xffffffff); uint32_t x66, uint8_t x67 = addcarryx_u32(x63, x41, x64); - uint32_t x68 = x49 & 0xffffffff; + uint32_t x68 = (x49 & 0xffffffff); uint32_t x70, uint8_t x71 = addcarryx_u32(x67, x44, x68); - uint32_t x72 = x49 & 0xffffffff; + uint32_t x72 = (x49 & 0xffffffff); uint32_t x74, uint8_t _ = addcarryx_u32(x71, x47, x72); (Return x74, Return x70, Return x66, Return x62, Return x58, Return x55, Return x52)) (x, x0)%core diff --git a/src/Specific/montgomery32_2e226m5/feaddDisplay.log b/src/Specific/montgomery32_2e226m5/feaddDisplay.log new file mode 100644 index 000000000..14d516cfe --- /dev/null +++ b/src/Specific/montgomery32_2e226m5/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30); + uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xfffffffb); + uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff); + uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff); + uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff); + uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff); + uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff); + uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff); + uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x3); + uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0); + uint32_t x83 = cmovznz(x82, x78, x54); + uint32_t x84 = cmovznz(x82, x75, x51); + uint32_t x85 = cmovznz(x82, x72, x48); + uint32_t x86 = cmovznz(x82, x69, x45); + uint32_t x87 = cmovznz(x82, x66, x42); + uint32_t x88 = cmovznz(x82, x63, x39); + uint32_t x89 = cmovznz(x82, x60, x36); + uint32_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e230m27/feaddDisplay.log b/src/Specific/montgomery32_2e230m27/feaddDisplay.log new file mode 100644 index 000000000..d47369cd5 --- /dev/null +++ b/src/Specific/montgomery32_2e230m27/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30); + uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xffffffe5); + uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff); + uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff); + uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff); + uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff); + uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff); + uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff); + uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x3f); + uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0); + uint32_t x83 = cmovznz(x82, x78, x54); + uint32_t x84 = cmovznz(x82, x75, x51); + uint32_t x85 = cmovznz(x82, x72, x48); + uint32_t x86 = cmovznz(x82, x69, x45); + uint32_t x87 = cmovznz(x82, x66, x42); + uint32_t x88 = cmovznz(x82, x63, x39); + uint32_t x89 = cmovznz(x82, x60, x36); + uint32_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e235m15/feaddDisplay.log b/src/Specific/montgomery32_2e235m15/feaddDisplay.log new file mode 100644 index 000000000..01a762a6a --- /dev/null +++ b/src/Specific/montgomery32_2e235m15/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30); + uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xfffffff1); + uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff); + uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff); + uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff); + uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff); + uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff); + uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff); + uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x7ff); + uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0); + uint32_t x83 = cmovznz(x82, x78, x54); + uint32_t x84 = cmovznz(x82, x75, x51); + uint32_t x85 = cmovznz(x82, x72, x48); + uint32_t x86 = cmovznz(x82, x69, x45); + uint32_t x87 = cmovznz(x82, x66, x42); + uint32_t x88 = cmovznz(x82, x63, x39); + uint32_t x89 = cmovznz(x82, x60, x36); + uint32_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e243m9/feaddDisplay.log b/src/Specific/montgomery32_2e243m9/feaddDisplay.log new file mode 100644 index 000000000..90e51d238 --- /dev/null +++ b/src/Specific/montgomery32_2e243m9/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30); + uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xfffffff7); + uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff); + uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff); + uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff); + uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff); + uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff); + uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff); + uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x7ffff); + uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0); + uint32_t x83 = cmovznz(x82, x78, x54); + uint32_t x84 = cmovznz(x82, x75, x51); + uint32_t x85 = cmovznz(x82, x72, x48); + uint32_t x86 = cmovznz(x82, x69, x45); + uint32_t x87 = cmovznz(x82, x66, x42); + uint32_t x88 = cmovznz(x82, x63, x39); + uint32_t x89 = cmovznz(x82, x60, x36); + uint32_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e251m9/feaddDisplay.log b/src/Specific/montgomery32_2e251m9/feaddDisplay.log new file mode 100644 index 000000000..a29dffa3f --- /dev/null +++ b/src/Specific/montgomery32_2e251m9/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30); + uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xfffffff7); + uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff); + uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff); + uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff); + uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff); + uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff); + uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff); + uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x7ffffff); + uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0); + uint32_t x83 = cmovznz(x82, x78, x54); + uint32_t x84 = cmovznz(x82, x75, x51); + uint32_t x85 = cmovznz(x82, x72, x48); + uint32_t x86 = cmovznz(x82, x69, x45); + uint32_t x87 = cmovznz(x82, x66, x42); + uint32_t x88 = cmovznz(x82, x63, x39); + uint32_t x89 = cmovznz(x82, x60, x36); + uint32_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e254m127x2e240m1/feaddDisplay.log b/src/Specific/montgomery32_2e254m127x2e240m1/feaddDisplay.log new file mode 100644 index 000000000..85272488d --- /dev/null +++ b/src/Specific/montgomery32_2e254m127x2e240m1/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30); + uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xffffffff); + uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff); + uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff); + uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff); + uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff); + uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff); + uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff); + uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x3f80ffff); + uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0); + uint32_t x83 = cmovznz(x82, x78, x54); + uint32_t x84 = cmovznz(x82, x75, x51); + uint32_t x85 = cmovznz(x82, x72, x48); + uint32_t x86 = cmovznz(x82, x69, x45); + uint32_t x87 = cmovznz(x82, x66, x42); + uint32_t x88 = cmovznz(x82, x63, x39); + uint32_t x89 = cmovznz(x82, x60, x36); + uint32_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e254m127x2e240m1/feoppDisplay.log b/src/Specific/montgomery32_2e254m127x2e240m1/feoppDisplay.log new file mode 100644 index 000000000..26a60cacc --- /dev/null +++ b/src/Specific/montgomery32_2e254m127x2e240m1/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint32_t x16, uint8_t x17 = subborrow_u32(0x0, 0x0, x2); + uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x4); + uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x6); + uint32_t x25, uint8_t x26 = subborrow_u32(x23, 0x0, x8); + uint32_t x28, uint8_t x29 = subborrow_u32(x26, 0x0, x10); + uint32_t x31, uint8_t x32 = subborrow_u32(x29, 0x0, x12); + uint32_t x34, uint8_t x35 = subborrow_u32(x32, 0x0, x14); + uint32_t x37, uint8_t x38 = subborrow_u32(x35, 0x0, x13); + uint32_t x39 = (uint32_t)cmovznz(x38, 0x0, 0xffffffff); + uint32_t x40 = (x39 & 0xffffffff); + uint32_t x42, uint8_t x43 = addcarryx_u32(0x0, x16, x40); + uint32_t x44 = (x39 & 0xffffffff); + uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x19, x44); + uint32_t x48 = (x39 & 0xffffffff); + uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x22, x48); + uint32_t x52 = (x39 & 0xffffffff); + uint32_t x54, uint8_t x55 = addcarryx_u32(x51, x25, x52); + uint32_t x56 = (x39 & 0xffffffff); + uint32_t x58, uint8_t x59 = addcarryx_u32(x55, x28, x56); + uint32_t x60 = (x39 & 0xffffffff); + uint32_t x62, uint8_t x63 = addcarryx_u32(x59, x31, x60); + uint32_t x64 = (x39 & 0xffffffff); + uint32_t x66, uint8_t x67 = addcarryx_u32(x63, x34, x64); + uint32_t x68 = (x39 & 0x3f80ffff); + uint32_t x70, uint8_t _ = addcarryx_u32(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e254m127x2e240m1/fesubDisplay.log b/src/Specific/montgomery32_2e254m127x2e240m1/fesubDisplay.log new file mode 100644 index 000000000..c36c64d04 --- /dev/null +++ b/src/Specific/montgomery32_2e254m127x2e240m1/fesubDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = subborrow_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = subborrow_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = subborrow_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = subborrow_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = subborrow_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = subborrow_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = subborrow_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = subborrow_u32(x52, x16, x30); + uint32_t x56 = (uint32_t)cmovznz(x55, 0x0, 0xffffffff); + uint32_t x57 = (x56 & 0xffffffff); + uint32_t x59, uint8_t x60 = addcarryx_u32(0x0, x33, x57); + uint32_t x61 = (x56 & 0xffffffff); + uint32_t x63, uint8_t x64 = addcarryx_u32(x60, x36, x61); + uint32_t x65 = (x56 & 0xffffffff); + uint32_t x67, uint8_t x68 = addcarryx_u32(x64, x39, x65); + uint32_t x69 = (x56 & 0xffffffff); + uint32_t x71, uint8_t x72 = addcarryx_u32(x68, x42, x69); + uint32_t x73 = (x56 & 0xffffffff); + uint32_t x75, uint8_t x76 = addcarryx_u32(x72, x45, x73); + uint32_t x77 = (x56 & 0xffffffff); + uint32_t x79, uint8_t x80 = addcarryx_u32(x76, x48, x77); + uint32_t x81 = (x56 & 0xffffffff); + uint32_t x83, uint8_t x84 = addcarryx_u32(x80, x51, x81); + uint32_t x85 = (x56 & 0x3f80ffff); + uint32_t x87, uint8_t _ = addcarryx_u32(x84, x54, x85); + (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e255m19/feaddDisplay.log b/src/Specific/montgomery32_2e255m19/feaddDisplay.log new file mode 100644 index 000000000..5d89df82d --- /dev/null +++ b/src/Specific/montgomery32_2e255m19/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30); + uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xffffffed); + uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff); + uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff); + uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff); + uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff); + uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff); + uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff); + uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x7fffffff); + uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0); + uint32_t x83 = cmovznz(x82, x78, x54); + uint32_t x84 = cmovznz(x82, x75, x51); + uint32_t x85 = cmovznz(x82, x72, x48); + uint32_t x86 = cmovznz(x82, x69, x45); + uint32_t x87 = cmovznz(x82, x66, x42); + uint32_t x88 = cmovznz(x82, x63, x39); + uint32_t x89 = cmovznz(x82, x60, x36); + uint32_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e255m2e4m2e1m1/feaddDisplay.log b/src/Specific/montgomery32_2e255m2e4m2e1m1/feaddDisplay.log new file mode 100644 index 000000000..5d89df82d --- /dev/null +++ b/src/Specific/montgomery32_2e255m2e4m2e1m1/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30); + uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xffffffed); + uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff); + uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff); + uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff); + uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff); + uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff); + uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff); + uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x7fffffff); + uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0); + uint32_t x83 = cmovznz(x82, x78, x54); + uint32_t x84 = cmovznz(x82, x75, x51); + uint32_t x85 = cmovznz(x82, x72, x48); + uint32_t x86 = cmovznz(x82, x69, x45); + uint32_t x87 = cmovznz(x82, x66, x42); + uint32_t x88 = cmovznz(x82, x63, x39); + uint32_t x89 = cmovznz(x82, x60, x36); + uint32_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e255m2e4m2e1m1/feoppDisplay.log b/src/Specific/montgomery32_2e255m2e4m2e1m1/feoppDisplay.log new file mode 100644 index 000000000..a4164fd6f --- /dev/null +++ b/src/Specific/montgomery32_2e255m2e4m2e1m1/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint32_t x16, uint8_t x17 = subborrow_u32(0x0, 0x0, x2); + uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x4); + uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x6); + uint32_t x25, uint8_t x26 = subborrow_u32(x23, 0x0, x8); + uint32_t x28, uint8_t x29 = subborrow_u32(x26, 0x0, x10); + uint32_t x31, uint8_t x32 = subborrow_u32(x29, 0x0, x12); + uint32_t x34, uint8_t x35 = subborrow_u32(x32, 0x0, x14); + uint32_t x37, uint8_t x38 = subborrow_u32(x35, 0x0, x13); + uint32_t x39 = (uint32_t)cmovznz(x38, 0x0, 0xffffffff); + uint32_t x40 = (x39 & 0xffffffed); + uint32_t x42, uint8_t x43 = addcarryx_u32(0x0, x16, x40); + uint32_t x44 = (x39 & 0xffffffff); + uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x19, x44); + uint32_t x48 = (x39 & 0xffffffff); + uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x22, x48); + uint32_t x52 = (x39 & 0xffffffff); + uint32_t x54, uint8_t x55 = addcarryx_u32(x51, x25, x52); + uint32_t x56 = (x39 & 0xffffffff); + uint32_t x58, uint8_t x59 = addcarryx_u32(x55, x28, x56); + uint32_t x60 = (x39 & 0xffffffff); + uint32_t x62, uint8_t x63 = addcarryx_u32(x59, x31, x60); + uint32_t x64 = (x39 & 0xffffffff); + uint32_t x66, uint8_t x67 = addcarryx_u32(x63, x34, x64); + uint32_t x68 = (x39 & 0x7fffffff); + uint32_t x70, uint8_t _ = addcarryx_u32(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e255m2e4m2e1m1/fesubDisplay.log b/src/Specific/montgomery32_2e255m2e4m2e1m1/fesubDisplay.log new file mode 100644 index 000000000..ca30b06ba --- /dev/null +++ b/src/Specific/montgomery32_2e255m2e4m2e1m1/fesubDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = subborrow_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = subborrow_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = subborrow_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = subborrow_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = subborrow_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = subborrow_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = subborrow_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = subborrow_u32(x52, x16, x30); + uint32_t x56 = (uint32_t)cmovznz(x55, 0x0, 0xffffffff); + uint32_t x57 = (x56 & 0xffffffed); + uint32_t x59, uint8_t x60 = addcarryx_u32(0x0, x33, x57); + uint32_t x61 = (x56 & 0xffffffff); + uint32_t x63, uint8_t x64 = addcarryx_u32(x60, x36, x61); + uint32_t x65 = (x56 & 0xffffffff); + uint32_t x67, uint8_t x68 = addcarryx_u32(x64, x39, x65); + uint32_t x69 = (x56 & 0xffffffff); + uint32_t x71, uint8_t x72 = addcarryx_u32(x68, x42, x69); + uint32_t x73 = (x56 & 0xffffffff); + uint32_t x75, uint8_t x76 = addcarryx_u32(x72, x45, x73); + uint32_t x77 = (x56 & 0xffffffff); + uint32_t x79, uint8_t x80 = addcarryx_u32(x76, x48, x77); + uint32_t x81 = (x56 & 0xffffffff); + uint32_t x83, uint8_t x84 = addcarryx_u32(x80, x51, x81); + uint32_t x85 = (x56 & 0x7fffffff); + uint32_t x87, uint8_t _ = addcarryx_u32(x84, x54, x85); + (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e255m765/feaddDisplay.log b/src/Specific/montgomery32_2e255m765/feaddDisplay.log new file mode 100644 index 000000000..92ef5f42f --- /dev/null +++ b/src/Specific/montgomery32_2e255m765/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30); + uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xfffffd03); + uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff); + uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff); + uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff); + uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff); + uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff); + uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff); + uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x7fffffff); + uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0); + uint32_t x83 = cmovznz(x82, x78, x54); + uint32_t x84 = cmovznz(x82, x75, x51); + uint32_t x85 = cmovznz(x82, x72, x48); + uint32_t x86 = cmovznz(x82, x69, x45); + uint32_t x87 = cmovznz(x82, x66, x42); + uint32_t x88 = cmovznz(x82, x63, x39); + uint32_t x89 = cmovznz(x82, x60, x36); + uint32_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e256m189/feaddDisplay.log b/src/Specific/montgomery32_2e256m189/feaddDisplay.log index bc2a7cffb..20feee74c 100644 --- a/src/Specific/montgomery32_2e256m189/feaddDisplay.log +++ b/src/Specific/montgomery32_2e256m189/feaddDisplay.log @@ -10,7 +10,7 @@ Interp-η uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29); uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31); uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30); - uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, Const 4294967107); + uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xffffff43); uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff); uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff); uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff); diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1/feoppDisplay.log b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1/feoppDisplay.log new file mode 100644 index 000000000..67043857f --- /dev/null +++ b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1/feoppDisplay.log @@ -0,0 +1,29 @@ +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint32_t x16, uint8_t x17 = subborrow_u32(0x0, 0x0, x2); + uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x4); + uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x6); + uint32_t x25, uint8_t x26 = subborrow_u32(x23, 0x0, x8); + uint32_t x28, uint8_t x29 = subborrow_u32(x26, 0x0, x10); + uint32_t x31, uint8_t x32 = subborrow_u32(x29, 0x0, x12); + uint32_t x34, uint8_t x35 = subborrow_u32(x32, 0x0, x14); + uint32_t x37, uint8_t x38 = subborrow_u32(x35, 0x0, x13); + uint32_t x39 = (uint32_t)cmovznz(x38, 0x0, 0xffffffff); + uint32_t x40 = (x39 & 0xffffffff); + uint32_t x42, uint8_t x43 = addcarryx_u32(0x0, x16, x40); + uint32_t x44 = (x39 & 0xffffffff); + uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x19, x44); + uint32_t x48 = (x39 & 0xffffffff); + uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x22, x48); + uint32_t x53, uint8_t x54 = addcarryx_u32(x51, x25, 0x0); + uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x28, 0x0); + uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x31, 0x0); + uint8_t x61 = ((uint8_t)x39 & 0x1); + uint32_t x63, uint8_t x64 = addcarryx_u32(x60, x34, x61); + uint32_t x65 = (x39 & 0xffffffff); + uint32_t x67, uint8_t _ = addcarryx_u32(x64, x37, x65); + (Return x67, Return x63, Return x59, Return x56, Return x53, Return x50, Return x46, Return x42)) +x + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1/fesubDisplay.log b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1/fesubDisplay.log new file mode 100644 index 000000000..e27ff6cda --- /dev/null +++ b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1/fesubDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = subborrow_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = subborrow_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = subborrow_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = subborrow_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = subborrow_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = subborrow_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = subborrow_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = subborrow_u32(x52, x16, x30); + uint32_t x56 = (uint32_t)cmovznz(x55, 0x0, 0xffffffff); + uint32_t x57 = (x56 & 0xffffffff); + uint32_t x59, uint8_t x60 = addcarryx_u32(0x0, x33, x57); + uint32_t x61 = (x56 & 0xffffffff); + uint32_t x63, uint8_t x64 = addcarryx_u32(x60, x36, x61); + uint32_t x65 = (x56 & 0xffffffff); + uint32_t x67, uint8_t x68 = addcarryx_u32(x64, x39, x65); + uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x42, 0x0); + uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x45, 0x0); + uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x48, 0x0); + uint8_t x78 = ((uint8_t)x56 & 0x1); + uint32_t x80, uint8_t x81 = addcarryx_u32(x77, x51, x78); + uint32_t x82 = (x56 & 0xffffffff); + uint32_t x84, uint8_t _ = addcarryx_u32(x81, x54, x82); + (Return x84, Return x80, Return x76, Return x73, Return x70, Return x67, Return x63, Return x59)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e256m2e32m977/feaddDisplay.log b/src/Specific/montgomery32_2e256m2e32m977/feaddDisplay.log new file mode 100644 index 000000000..47e22543e --- /dev/null +++ b/src/Specific/montgomery32_2e256m2e32m977/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30); + uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xfffffc2f); + uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xfffffffe); + uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff); + uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff); + uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff); + uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff); + uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff); + uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0xffffffff); + uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0); + uint32_t x83 = cmovznz(x82, x78, x54); + uint32_t x84 = cmovznz(x82, x75, x51); + uint32_t x85 = cmovznz(x82, x72, x48); + uint32_t x86 = cmovznz(x82, x69, x45); + uint32_t x87 = cmovznz(x82, x66, x42); + uint32_t x88 = cmovznz(x82, x63, x39); + uint32_t x89 = cmovznz(x82, x60, x36); + uint32_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e256m2e32m977/feoppDisplay.log b/src/Specific/montgomery32_2e256m2e32m977/feoppDisplay.log new file mode 100644 index 000000000..ec9760d5a --- /dev/null +++ b/src/Specific/montgomery32_2e256m2e32m977/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint32_t x16, uint8_t x17 = subborrow_u32(0x0, 0x0, x2); + uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x4); + uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x6); + uint32_t x25, uint8_t x26 = subborrow_u32(x23, 0x0, x8); + uint32_t x28, uint8_t x29 = subborrow_u32(x26, 0x0, x10); + uint32_t x31, uint8_t x32 = subborrow_u32(x29, 0x0, x12); + uint32_t x34, uint8_t x35 = subborrow_u32(x32, 0x0, x14); + uint32_t x37, uint8_t x38 = subborrow_u32(x35, 0x0, x13); + uint32_t x39 = (uint32_t)cmovznz(x38, 0x0, 0xffffffff); + uint32_t x40 = (x39 & 0xfffffc2f); + uint32_t x42, uint8_t x43 = addcarryx_u32(0x0, x16, x40); + uint32_t x44 = (x39 & 0xfffffffe); + uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x19, x44); + uint32_t x48 = (x39 & 0xffffffff); + uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x22, x48); + uint32_t x52 = (x39 & 0xffffffff); + uint32_t x54, uint8_t x55 = addcarryx_u32(x51, x25, x52); + uint32_t x56 = (x39 & 0xffffffff); + uint32_t x58, uint8_t x59 = addcarryx_u32(x55, x28, x56); + uint32_t x60 = (x39 & 0xffffffff); + uint32_t x62, uint8_t x63 = addcarryx_u32(x59, x31, x60); + uint32_t x64 = (x39 & 0xffffffff); + uint32_t x66, uint8_t x67 = addcarryx_u32(x63, x34, x64); + uint32_t x68 = (x39 & 0xffffffff); + uint32_t x70, uint8_t _ = addcarryx_u32(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e256m2e32m977/fesubDisplay.log b/src/Specific/montgomery32_2e256m2e32m977/fesubDisplay.log new file mode 100644 index 000000000..f6741e9db --- /dev/null +++ b/src/Specific/montgomery32_2e256m2e32m977/fesubDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = subborrow_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = subborrow_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = subborrow_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = subborrow_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = subborrow_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = subborrow_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = subborrow_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = subborrow_u32(x52, x16, x30); + uint32_t x56 = (uint32_t)cmovznz(x55, 0x0, 0xffffffff); + uint32_t x57 = (x56 & 0xfffffc2f); + uint32_t x59, uint8_t x60 = addcarryx_u32(0x0, x33, x57); + uint32_t x61 = (x56 & 0xfffffffe); + uint32_t x63, uint8_t x64 = addcarryx_u32(x60, x36, x61); + uint32_t x65 = (x56 & 0xffffffff); + uint32_t x67, uint8_t x68 = addcarryx_u32(x64, x39, x65); + uint32_t x69 = (x56 & 0xffffffff); + uint32_t x71, uint8_t x72 = addcarryx_u32(x68, x42, x69); + uint32_t x73 = (x56 & 0xffffffff); + uint32_t x75, uint8_t x76 = addcarryx_u32(x72, x45, x73); + uint32_t x77 = (x56 & 0xffffffff); + uint32_t x79, uint8_t x80 = addcarryx_u32(x76, x48, x77); + uint32_t x81 = (x56 & 0xffffffff); + uint32_t x83, uint8_t x84 = addcarryx_u32(x80, x51, x81); + uint32_t x85 = (x56 & 0xffffffff); + uint32_t x87, uint8_t _ = addcarryx_u32(x84, x54, x85); + (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e256m88x2e240m1/feaddDisplay.log b/src/Specific/montgomery32_2e256m88x2e240m1/feaddDisplay.log new file mode 100644 index 000000000..b0753a2c4 --- /dev/null +++ b/src/Specific/montgomery32_2e256m88x2e240m1/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30); + uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xffffffff); + uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff); + uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff); + uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff); + uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff); + uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff); + uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff); + uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0xffa7ffff); + uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0); + uint32_t x83 = cmovznz(x82, x78, x54); + uint32_t x84 = cmovznz(x82, x75, x51); + uint32_t x85 = cmovznz(x82, x72, x48); + uint32_t x86 = cmovznz(x82, x69, x45); + uint32_t x87 = cmovznz(x82, x66, x42); + uint32_t x88 = cmovznz(x82, x63, x39); + uint32_t x89 = cmovznz(x82, x60, x36); + uint32_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e256m88x2e240m1/feoppDisplay.log b/src/Specific/montgomery32_2e256m88x2e240m1/feoppDisplay.log new file mode 100644 index 000000000..72484a2b2 --- /dev/null +++ b/src/Specific/montgomery32_2e256m88x2e240m1/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint32_t x16, uint8_t x17 = subborrow_u32(0x0, 0x0, x2); + uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x4); + uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x6); + uint32_t x25, uint8_t x26 = subborrow_u32(x23, 0x0, x8); + uint32_t x28, uint8_t x29 = subborrow_u32(x26, 0x0, x10); + uint32_t x31, uint8_t x32 = subborrow_u32(x29, 0x0, x12); + uint32_t x34, uint8_t x35 = subborrow_u32(x32, 0x0, x14); + uint32_t x37, uint8_t x38 = subborrow_u32(x35, 0x0, x13); + uint32_t x39 = (uint32_t)cmovznz(x38, 0x0, 0xffffffff); + uint32_t x40 = (x39 & 0xffffffff); + uint32_t x42, uint8_t x43 = addcarryx_u32(0x0, x16, x40); + uint32_t x44 = (x39 & 0xffffffff); + uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x19, x44); + uint32_t x48 = (x39 & 0xffffffff); + uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x22, x48); + uint32_t x52 = (x39 & 0xffffffff); + uint32_t x54, uint8_t x55 = addcarryx_u32(x51, x25, x52); + uint32_t x56 = (x39 & 0xffffffff); + uint32_t x58, uint8_t x59 = addcarryx_u32(x55, x28, x56); + uint32_t x60 = (x39 & 0xffffffff); + uint32_t x62, uint8_t x63 = addcarryx_u32(x59, x31, x60); + uint32_t x64 = (x39 & 0xffffffff); + uint32_t x66, uint8_t x67 = addcarryx_u32(x63, x34, x64); + uint32_t x68 = (x39 & 0xffa7ffff); + uint32_t x70, uint8_t _ = addcarryx_u32(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e256m88x2e240m1/fesubDisplay.log b/src/Specific/montgomery32_2e256m88x2e240m1/fesubDisplay.log new file mode 100644 index 000000000..b1e955d4c --- /dev/null +++ b/src/Specific/montgomery32_2e256m88x2e240m1/fesubDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint32_t x33, uint8_t x34 = subborrow_u32(0x0, x5, x19); + uint32_t x36, uint8_t x37 = subborrow_u32(x34, x7, x21); + uint32_t x39, uint8_t x40 = subborrow_u32(x37, x9, x23); + uint32_t x42, uint8_t x43 = subborrow_u32(x40, x11, x25); + uint32_t x45, uint8_t x46 = subborrow_u32(x43, x13, x27); + uint32_t x48, uint8_t x49 = subborrow_u32(x46, x15, x29); + uint32_t x51, uint8_t x52 = subborrow_u32(x49, x17, x31); + uint32_t x54, uint8_t x55 = subborrow_u32(x52, x16, x30); + uint32_t x56 = (uint32_t)cmovznz(x55, 0x0, 0xffffffff); + uint32_t x57 = (x56 & 0xffffffff); + uint32_t x59, uint8_t x60 = addcarryx_u32(0x0, x33, x57); + uint32_t x61 = (x56 & 0xffffffff); + uint32_t x63, uint8_t x64 = addcarryx_u32(x60, x36, x61); + uint32_t x65 = (x56 & 0xffffffff); + uint32_t x67, uint8_t x68 = addcarryx_u32(x64, x39, x65); + uint32_t x69 = (x56 & 0xffffffff); + uint32_t x71, uint8_t x72 = addcarryx_u32(x68, x42, x69); + uint32_t x73 = (x56 & 0xffffffff); + uint32_t x75, uint8_t x76 = addcarryx_u32(x72, x45, x73); + uint32_t x77 = (x56 & 0xffffffff); + uint32_t x79, uint8_t x80 = addcarryx_u32(x76, x48, x77); + uint32_t x81 = (x56 & 0xffffffff); + uint32_t x83, uint8_t x84 = addcarryx_u32(x80, x51, x81); + uint32_t x85 = (x56 & 0xffa7ffff); + uint32_t x87, uint8_t _ = addcarryx_u32(x84, x54, x85); + (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e266m3/feaddDisplay.log b/src/Specific/montgomery32_2e266m3/feaddDisplay.log new file mode 100644 index 000000000..3d72d406d --- /dev/null +++ b/src/Specific/montgomery32_2e266m3/feaddDisplay.log @@ -0,0 +1,35 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, + uint32_t x37, uint8_t x38 = addcarryx_u32(0x0, x5, x21); + uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x7, x23); + uint32_t x43, uint8_t x44 = addcarryx_u32(x41, x9, x25); + uint32_t x46, uint8_t x47 = addcarryx_u32(x44, x11, x27); + uint32_t x49, uint8_t x50 = addcarryx_u32(x47, x13, x29); + uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x15, x31); + uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x17, x33); + uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x19, x35); + uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x18, x34); + uint32_t x64, uint8_t x65 = subborrow_u32(0x0, x37, 0xfffffffd); + uint32_t x67, uint8_t x68 = subborrow_u32(x65, x40, 0xffffffff); + uint32_t x70, uint8_t x71 = subborrow_u32(x68, x43, 0xffffffff); + uint32_t x73, uint8_t x74 = subborrow_u32(x71, x46, 0xffffffff); + uint32_t x76, uint8_t x77 = subborrow_u32(x74, x49, 0xffffffff); + uint32_t x79, uint8_t x80 = subborrow_u32(x77, x52, 0xffffffff); + uint32_t x82, uint8_t x83 = subborrow_u32(x80, x55, 0xffffffff); + uint32_t x85, uint8_t x86 = subborrow_u32(x83, x58, 0xffffffff); + uint32_t x88, uint8_t x89 = subborrow_u32(x86, x61, 0x3ff); + uint32_t _, uint8_t x92 = subborrow_u32(x89, x62, 0x0); + uint32_t x93 = cmovznz(x92, x88, x61); + uint32_t x94 = cmovznz(x92, x85, x58); + uint32_t x95 = cmovznz(x92, x82, x55); + uint32_t x96 = cmovznz(x92, x79, x52); + uint32_t x97 = cmovznz(x92, x76, x49); + uint32_t x98 = cmovznz(x92, x73, x46); + uint32_t x99 = cmovznz(x92, x70, x43); + uint32_t x100 = cmovznz(x92, x67, x40); + uint32_t x101 = cmovznz(x92, x64, x37); + return (x93, x94, x95, x96, x97, x98, x99, x100, x101)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery32_2e285m9/feaddDisplay.log b/src/Specific/montgomery32_2e285m9/feaddDisplay.log new file mode 100644 index 000000000..73f337088 --- /dev/null +++ b/src/Specific/montgomery32_2e285m9/feaddDisplay.log @@ -0,0 +1,35 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, + uint32_t x37, uint8_t x38 = addcarryx_u32(0x0, x5, x21); + uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x7, x23); + uint32_t x43, uint8_t x44 = addcarryx_u32(x41, x9, x25); + uint32_t x46, uint8_t x47 = addcarryx_u32(x44, x11, x27); + uint32_t x49, uint8_t x50 = addcarryx_u32(x47, x13, x29); + uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x15, x31); + uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x17, x33); + uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x19, x35); + uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x18, x34); + uint32_t x64, uint8_t x65 = subborrow_u32(0x0, x37, 0xfffffff7); + uint32_t x67, uint8_t x68 = subborrow_u32(x65, x40, 0xffffffff); + uint32_t x70, uint8_t x71 = subborrow_u32(x68, x43, 0xffffffff); + uint32_t x73, uint8_t x74 = subborrow_u32(x71, x46, 0xffffffff); + uint32_t x76, uint8_t x77 = subborrow_u32(x74, x49, 0xffffffff); + uint32_t x79, uint8_t x80 = subborrow_u32(x77, x52, 0xffffffff); + uint32_t x82, uint8_t x83 = subborrow_u32(x80, x55, 0xffffffff); + uint32_t x85, uint8_t x86 = subborrow_u32(x83, x58, 0xffffffff); + uint32_t x88, uint8_t x89 = subborrow_u32(x86, x61, 0x1fffffff); + uint32_t _, uint8_t x92 = subborrow_u32(x89, x62, 0x0); + uint32_t x93 = cmovznz(x92, x88, x61); + uint32_t x94 = cmovznz(x92, x85, x58); + uint32_t x95 = cmovznz(x92, x82, x55); + uint32_t x96 = cmovznz(x92, x79, x52); + uint32_t x97 = cmovznz(x92, x76, x49); + uint32_t x98 = cmovznz(x92, x73, x46); + uint32_t x99 = cmovznz(x92, x70, x43); + uint32_t x100 = cmovznz(x92, x67, x40); + uint32_t x101 = cmovznz(x92, x64, x37); + return (x93, x94, x95, x96, x97, x98, x99, x100, x101)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/montgomery64_2e322m2e161m1/femulDisplay.log b/src/Specific/montgomery64_2e322m2e161m1/femulDisplay.log new file mode 100644 index 000000000..924bee221 --- /dev/null +++ b/src/Specific/montgomery64_2e322m2e161m1/femulDisplay.log @@ -0,0 +1,246 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core, + uint64_t x25, uint64_t x26 = mulx_u64(x5, x15); + uint64_t x28, uint64_t x29 = mulx_u64(x5, x17); + uint64_t x31, uint64_t x32 = mulx_u64(x5, x19); + uint64_t x34, uint64_t x35 = mulx_u64(x5, x21); + uint64_t x37, uint64_t x38 = mulx_u64(x5, x23); + uint64_t x40, uint64_t x41 = mulx_u64(x5, x22); + uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28); + uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31); + uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34); + uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37); + uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40); + uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41); + uint64_t x61, uint64_t x62 = mulx_u64(x25, 0xffffffffffffffffL); + uint64_t x64, uint64_t x65 = mulx_u64(x25, 0xffffffffffffffffL); + uint64_t x67, uint64_t x68 = mulx_u64(x25, 0xfffffffdffffffffL); + uint64_t x70, uint64_t x71 = mulx_u64(x25, 0xffffffffffffffffL); + uint64_t x73, uint64_t x74 = mulx_u64(x25, 0xffffffffffffffffL); + uint64_t x76, uint8_t x77 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, 0x3); + uint64_t x79, uint8_t x80 = addcarryx_u64(0x0, x62, x64); + uint64_t x82, uint8_t x83 = addcarryx_u64(x80, x65, x67); + uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70); + uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73); + uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76); + uint8_t x93 = (x92 + x77); + uint64_t _, uint8_t x96 = addcarryx_u64(0x0, x25, x61); + uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x43, x79); + uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x46, x82); + uint64_t x104, uint8_t x105 = addcarryx_u64(x102, x49, x85); + uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x52, x88); + uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x55, x91); + uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x58, x93); + uint64_t x116, uint64_t x117 = mulx_u64(x7, x15); + uint64_t x119, uint64_t x120 = mulx_u64(x7, x17); + uint64_t x122, uint64_t x123 = mulx_u64(x7, x19); + uint64_t x125, uint64_t x126 = mulx_u64(x7, x21); + uint64_t x128, uint64_t x129 = mulx_u64(x7, x23); + uint64_t x131, uint64_t x132 = mulx_u64(x7, x22); + uint64_t x134, uint8_t x135 = addcarryx_u64(0x0, x117, x119); + uint64_t x137, uint8_t x138 = addcarryx_u64(x135, x120, x122); + uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x123, x125); + uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x126, x128); + uint64_t x146, uint8_t x147 = addcarryx_u64(x144, x129, x131); + uint64_t x149, uint8_t _ = addcarryx_u64(0x0, x147, x132); + uint64_t x152, uint8_t x153 = addcarryx_u64(0x0, x98, x116); + uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x101, x134); + uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x104, x137); + uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x107, x140); + uint64_t x164, uint8_t x165 = addcarryx_u64(x162, x110, x143); + uint64_t x167, uint8_t x168 = addcarryx_u64(x165, x113, x146); + uint64_t x170, uint8_t x171 = addcarryx_u64(x168, x114, x149); + uint64_t x173, uint64_t x174 = mulx_u64(x152, 0xffffffffffffffffL); + uint64_t x176, uint64_t x177 = mulx_u64(x152, 0xffffffffffffffffL); + uint64_t x179, uint64_t x180 = mulx_u64(x152, 0xfffffffdffffffffL); + uint64_t x182, uint64_t x183 = mulx_u64(x152, 0xffffffffffffffffL); + uint64_t x185, uint64_t x186 = mulx_u64(x152, 0xffffffffffffffffL); + uint64_t x188, uint8_t x189 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x152, 0x3); + uint64_t x191, uint8_t x192 = addcarryx_u64(0x0, x174, x176); + uint64_t x194, uint8_t x195 = addcarryx_u64(x192, x177, x179); + uint64_t x197, uint8_t x198 = addcarryx_u64(x195, x180, x182); + uint64_t x200, uint8_t x201 = addcarryx_u64(x198, x183, x185); + uint64_t x203, uint8_t x204 = addcarryx_u64(x201, x186, x188); + uint8_t x205 = (x204 + x189); + uint64_t _, uint8_t x208 = addcarryx_u64(0x0, x152, x173); + uint64_t x210, uint8_t x211 = addcarryx_u64(x208, x155, x191); + uint64_t x213, uint8_t x214 = addcarryx_u64(x211, x158, x194); + uint64_t x216, uint8_t x217 = addcarryx_u64(x214, x161, x197); + uint64_t x219, uint8_t x220 = addcarryx_u64(x217, x164, x200); + uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x167, x203); + uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x170, x205); + uint8_t x227 = (x226 + x171); + uint64_t x229, uint64_t x230 = mulx_u64(x9, x15); + uint64_t x232, uint64_t x233 = mulx_u64(x9, x17); + uint64_t x235, uint64_t x236 = mulx_u64(x9, x19); + uint64_t x238, uint64_t x239 = mulx_u64(x9, x21); + uint64_t x241, uint64_t x242 = mulx_u64(x9, x23); + uint64_t x244, uint64_t x245 = mulx_u64(x9, x22); + uint64_t x247, uint8_t x248 = addcarryx_u64(0x0, x230, x232); + uint64_t x250, uint8_t x251 = addcarryx_u64(x248, x233, x235); + uint64_t x253, uint8_t x254 = addcarryx_u64(x251, x236, x238); + uint64_t x256, uint8_t x257 = addcarryx_u64(x254, x239, x241); + uint64_t x259, uint8_t x260 = addcarryx_u64(x257, x242, x244); + uint64_t x262, uint8_t _ = addcarryx_u64(0x0, x260, x245); + uint64_t x265, uint8_t x266 = addcarryx_u64(0x0, x210, x229); + uint64_t x268, uint8_t x269 = addcarryx_u64(x266, x213, x247); + uint64_t x271, uint8_t x272 = addcarryx_u64(x269, x216, x250); + uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x219, x253); + uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x222, x256); + uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x225, x259); + uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x227, x262); + uint64_t x286, uint64_t x287 = mulx_u64(x265, 0xffffffffffffffffL); + uint64_t x289, uint64_t x290 = mulx_u64(x265, 0xffffffffffffffffL); + uint64_t x292, uint64_t x293 = mulx_u64(x265, 0xfffffffdffffffffL); + uint64_t x295, uint64_t x296 = mulx_u64(x265, 0xffffffffffffffffL); + uint64_t x298, uint64_t x299 = mulx_u64(x265, 0xffffffffffffffffL); + uint64_t x301, uint8_t x302 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x265, 0x3); + uint64_t x304, uint8_t x305 = addcarryx_u64(0x0, x287, x289); + uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x290, x292); + uint64_t x310, uint8_t x311 = addcarryx_u64(x308, x293, x295); + uint64_t x313, uint8_t x314 = addcarryx_u64(x311, x296, x298); + uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x299, x301); + uint8_t x318 = (x317 + x302); + uint64_t _, uint8_t x321 = addcarryx_u64(0x0, x265, x286); + uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x268, x304); + uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x271, x307); + uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x274, x310); + uint64_t x332, uint8_t x333 = addcarryx_u64(x330, x277, x313); + uint64_t x335, uint8_t x336 = addcarryx_u64(x333, x280, x316); + uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x283, x318); + uint8_t x340 = (x339 + x284); + uint64_t x342, uint64_t x343 = mulx_u64(x11, x15); + uint64_t x345, uint64_t x346 = mulx_u64(x11, x17); + uint64_t x348, uint64_t x349 = mulx_u64(x11, x19); + uint64_t x351, uint64_t x352 = mulx_u64(x11, x21); + uint64_t x354, uint64_t x355 = mulx_u64(x11, x23); + uint64_t x357, uint64_t x358 = mulx_u64(x11, x22); + uint64_t x360, uint8_t x361 = addcarryx_u64(0x0, x343, x345); + uint64_t x363, uint8_t x364 = addcarryx_u64(x361, x346, x348); + uint64_t x366, uint8_t x367 = addcarryx_u64(x364, x349, x351); + uint64_t x369, uint8_t x370 = addcarryx_u64(x367, x352, x354); + uint64_t x372, uint8_t x373 = addcarryx_u64(x370, x355, x357); + uint64_t x375, uint8_t _ = addcarryx_u64(0x0, x373, x358); + uint64_t x378, uint8_t x379 = addcarryx_u64(0x0, x323, x342); + uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x326, x360); + uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x329, x363); + uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x332, x366); + uint64_t x390, uint8_t x391 = addcarryx_u64(x388, x335, x369); + uint64_t x393, uint8_t x394 = addcarryx_u64(x391, x338, x372); + uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x340, x375); + uint64_t x399, uint64_t x400 = mulx_u64(x378, 0xffffffffffffffffL); + uint64_t x402, uint64_t x403 = mulx_u64(x378, 0xffffffffffffffffL); + uint64_t x405, uint64_t x406 = mulx_u64(x378, 0xfffffffdffffffffL); + uint64_t x408, uint64_t x409 = mulx_u64(x378, 0xffffffffffffffffL); + uint64_t x411, uint64_t x412 = mulx_u64(x378, 0xffffffffffffffffL); + uint64_t x414, uint8_t x415 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x378, 0x3); + uint64_t x417, uint8_t x418 = addcarryx_u64(0x0, x400, x402); + uint64_t x420, uint8_t x421 = addcarryx_u64(x418, x403, x405); + uint64_t x423, uint8_t x424 = addcarryx_u64(x421, x406, x408); + uint64_t x426, uint8_t x427 = addcarryx_u64(x424, x409, x411); + uint64_t x429, uint8_t x430 = addcarryx_u64(x427, x412, x414); + uint8_t x431 = (x430 + x415); + uint64_t _, uint8_t x434 = addcarryx_u64(0x0, x378, x399); + uint64_t x436, uint8_t x437 = addcarryx_u64(x434, x381, x417); + uint64_t x439, uint8_t x440 = addcarryx_u64(x437, x384, x420); + uint64_t x442, uint8_t x443 = addcarryx_u64(x440, x387, x423); + uint64_t x445, uint8_t x446 = addcarryx_u64(x443, x390, x426); + uint64_t x448, uint8_t x449 = addcarryx_u64(x446, x393, x429); + uint64_t x451, uint8_t x452 = addcarryx_u64(x449, x396, x431); + uint8_t x453 = (x452 + x397); + uint64_t x455, uint64_t x456 = mulx_u64(x13, x15); + uint64_t x458, uint64_t x459 = mulx_u64(x13, x17); + uint64_t x461, uint64_t x462 = mulx_u64(x13, x19); + uint64_t x464, uint64_t x465 = mulx_u64(x13, x21); + uint64_t x467, uint64_t x468 = mulx_u64(x13, x23); + uint64_t x470, uint64_t x471 = mulx_u64(x13, x22); + uint64_t x473, uint8_t x474 = addcarryx_u64(0x0, x456, x458); + uint64_t x476, uint8_t x477 = addcarryx_u64(x474, x459, x461); + uint64_t x479, uint8_t x480 = addcarryx_u64(x477, x462, x464); + uint64_t x482, uint8_t x483 = addcarryx_u64(x480, x465, x467); + uint64_t x485, uint8_t x486 = addcarryx_u64(x483, x468, x470); + uint64_t x488, uint8_t _ = addcarryx_u64(0x0, x486, x471); + uint64_t x491, uint8_t x492 = addcarryx_u64(0x0, x436, x455); + uint64_t x494, uint8_t x495 = addcarryx_u64(x492, x439, x473); + uint64_t x497, uint8_t x498 = addcarryx_u64(x495, x442, x476); + uint64_t x500, uint8_t x501 = addcarryx_u64(x498, x445, x479); + uint64_t x503, uint8_t x504 = addcarryx_u64(x501, x448, x482); + uint64_t x506, uint8_t x507 = addcarryx_u64(x504, x451, x485); + uint64_t x509, uint8_t x510 = addcarryx_u64(x507, x453, x488); + uint64_t x512, uint64_t x513 = mulx_u64(x491, 0xffffffffffffffffL); + uint64_t x515, uint64_t x516 = mulx_u64(x491, 0xffffffffffffffffL); + uint64_t x518, uint64_t x519 = mulx_u64(x491, 0xfffffffdffffffffL); + uint64_t x521, uint64_t x522 = mulx_u64(x491, 0xffffffffffffffffL); + uint64_t x524, uint64_t x525 = mulx_u64(x491, 0xffffffffffffffffL); + uint64_t x527, uint8_t x528 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x491, 0x3); + uint64_t x530, uint8_t x531 = addcarryx_u64(0x0, x513, x515); + uint64_t x533, uint8_t x534 = addcarryx_u64(x531, x516, x518); + uint64_t x536, uint8_t x537 = addcarryx_u64(x534, x519, x521); + uint64_t x539, uint8_t x540 = addcarryx_u64(x537, x522, x524); + uint64_t x542, uint8_t x543 = addcarryx_u64(x540, x525, x527); + uint8_t x544 = (x543 + x528); + uint64_t _, uint8_t x547 = addcarryx_u64(0x0, x491, x512); + uint64_t x549, uint8_t x550 = addcarryx_u64(x547, x494, x530); + uint64_t x552, uint8_t x553 = addcarryx_u64(x550, x497, x533); + uint64_t x555, uint8_t x556 = addcarryx_u64(x553, x500, x536); + uint64_t x558, uint8_t x559 = addcarryx_u64(x556, x503, x539); + uint64_t x561, uint8_t x562 = addcarryx_u64(x559, x506, x542); + uint64_t x564, uint8_t x565 = addcarryx_u64(x562, x509, x544); + uint8_t x566 = (x565 + x510); + uint64_t x568, uint64_t x569 = mulx_u64(x12, x15); + uint64_t x571, uint64_t x572 = mulx_u64(x12, x17); + uint64_t x574, uint64_t x575 = mulx_u64(x12, x19); + uint64_t x577, uint64_t x578 = mulx_u64(x12, x21); + uint64_t x580, uint64_t x581 = mulx_u64(x12, x23); + uint64_t x583, uint64_t x584 = mulx_u64(x12, x22); + uint64_t x586, uint8_t x587 = addcarryx_u64(0x0, x569, x571); + uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x572, x574); + uint64_t x592, uint8_t x593 = addcarryx_u64(x590, x575, x577); + uint64_t x595, uint8_t x596 = addcarryx_u64(x593, x578, x580); + uint64_t x598, uint8_t x599 = addcarryx_u64(x596, x581, x583); + uint64_t x601, uint8_t _ = addcarryx_u64(0x0, x599, x584); + uint64_t x604, uint8_t x605 = addcarryx_u64(0x0, x549, x568); + uint64_t x607, uint8_t x608 = addcarryx_u64(x605, x552, x586); + uint64_t x610, uint8_t x611 = addcarryx_u64(x608, x555, x589); + uint64_t x613, uint8_t x614 = addcarryx_u64(x611, x558, x592); + uint64_t x616, uint8_t x617 = addcarryx_u64(x614, x561, x595); + uint64_t x619, uint8_t x620 = addcarryx_u64(x617, x564, x598); + uint64_t x622, uint8_t x623 = addcarryx_u64(x620, x566, x601); + uint64_t x625, uint64_t x626 = mulx_u64(x604, 0xffffffffffffffffL); + uint64_t x628, uint64_t x629 = mulx_u64(x604, 0xffffffffffffffffL); + uint64_t x631, uint64_t x632 = mulx_u64(x604, 0xfffffffdffffffffL); + uint64_t x634, uint64_t x635 = mulx_u64(x604, 0xffffffffffffffffL); + uint64_t x637, uint64_t x638 = mulx_u64(x604, 0xffffffffffffffffL); + uint64_t x640, uint8_t x641 = Op (Syntax.MulSplit 64 (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x604, 0x3); + uint64_t x643, uint8_t x644 = addcarryx_u64(0x0, x626, x628); + uint64_t x646, uint8_t x647 = addcarryx_u64(x644, x629, x631); + uint64_t x649, uint8_t x650 = addcarryx_u64(x647, x632, x634); + uint64_t x652, uint8_t x653 = addcarryx_u64(x650, x635, x637); + uint64_t x655, uint8_t x656 = addcarryx_u64(x653, x638, x640); + uint8_t x657 = (x656 + x641); + uint64_t _, uint8_t x660 = addcarryx_u64(0x0, x604, x625); + uint64_t x662, uint8_t x663 = addcarryx_u64(x660, x607, x643); + uint64_t x665, uint8_t x666 = addcarryx_u64(x663, x610, x646); + uint64_t x668, uint8_t x669 = addcarryx_u64(x666, x613, x649); + uint64_t x671, uint8_t x672 = addcarryx_u64(x669, x616, x652); + uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x619, x655); + uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x622, x657); + uint8_t x679 = (x678 + x623); + uint64_t x681, uint8_t x682 = subborrow_u64(0x0, x662, 0xffffffffffffffffL); + uint64_t x684, uint8_t x685 = subborrow_u64(x682, x665, 0xffffffffffffffffL); + uint64_t x687, uint8_t x688 = subborrow_u64(x685, x668, 0xfffffffdffffffffL); + uint64_t x690, uint8_t x691 = subborrow_u64(x688, x671, 0xffffffffffffffffL); + uint64_t x693, uint8_t x694 = subborrow_u64(x691, x674, 0xffffffffffffffffL); + uint64_t x696, uint8_t x697 = subborrow_u64(x694, x677, 0x3); + uint64_t _, uint8_t x700 = subborrow_u64(x697, x679, 0x0); + uint64_t x701 = cmovznz(x700, x696, x677); + uint64_t x702 = cmovznz(x700, x693, x674); + uint64_t x703 = cmovznz(x700, x690, x671); + uint64_t x704 = cmovznz(x700, x687, x668); + uint64_t x705 = cmovznz(x700, x684, x665); + uint64_t x706 = cmovznz(x700, x681, x662); + return (x701, x702, x703, x704, x705, x706)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e379m19/femulDisplay.log b/src/Specific/montgomery64_2e379m19/femulDisplay.log new file mode 100644 index 000000000..54df5d5ec --- /dev/null +++ b/src/Specific/montgomery64_2e379m19/femulDisplay.log @@ -0,0 +1,252 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core, + uint64_t x25, uint64_t x26 = mulx_u64(x5, x15); + uint64_t x28, uint64_t x29 = mulx_u64(x5, x17); + uint64_t x31, uint64_t x32 = mulx_u64(x5, x19); + uint64_t x34, uint64_t x35 = mulx_u64(x5, x21); + uint64_t x37, uint64_t x38 = mulx_u64(x5, x23); + uint64_t x40, uint64_t x41 = mulx_u64(x5, x22); + uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28); + uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31); + uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34); + uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37); + uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40); + uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41); + uint64_t x61, uint64_t _ = mulx_u64(x25, 0x86bca1af286bca1bL); + uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xffffffffffffffedL); + uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffffffffffffL); + uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xffffffffffffffffL); + uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL); + uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL); + uint64_t x79, uint64_t x80 = mulx_u64(x61, 0x7ffffffffffffff); + uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x65, x67); + uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70); + uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73); + uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76); + uint64_t x94, uint8_t x95 = addcarryx_u64(x92, x77, x79); + uint64_t x97, uint8_t _ = addcarryx_u64(0x0, x95, x80); + uint64_t _, uint8_t x101 = addcarryx_u64(0x0, x25, x64); + uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x43, x82); + uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x46, x85); + uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x49, x88); + uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x52, x91); + uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x55, x94); + uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x58, x97); + uint64_t x121, uint64_t x122 = mulx_u64(x7, x15); + uint64_t x124, uint64_t x125 = mulx_u64(x7, x17); + uint64_t x127, uint64_t x128 = mulx_u64(x7, x19); + uint64_t x130, uint64_t x131 = mulx_u64(x7, x21); + uint64_t x133, uint64_t x134 = mulx_u64(x7, x23); + uint64_t x136, uint64_t x137 = mulx_u64(x7, x22); + uint64_t x139, uint8_t x140 = addcarryx_u64(0x0, x122, x124); + uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127); + uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130); + uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133); + uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x134, x136); + uint64_t x154, uint8_t _ = addcarryx_u64(0x0, x152, x137); + uint64_t x157, uint8_t x158 = addcarryx_u64(0x0, x103, x121); + uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139); + uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142); + uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145); + uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148); + uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x118, x151); + uint64_t x175, uint8_t x176 = addcarryx_u64(x173, x119, x154); + uint64_t x178, uint64_t _ = mulx_u64(x157, 0x86bca1af286bca1bL); + uint64_t x181, uint64_t x182 = mulx_u64(x178, 0xffffffffffffffedL); + uint64_t x184, uint64_t x185 = mulx_u64(x178, 0xffffffffffffffffL); + uint64_t x187, uint64_t x188 = mulx_u64(x178, 0xffffffffffffffffL); + uint64_t x190, uint64_t x191 = mulx_u64(x178, 0xffffffffffffffffL); + uint64_t x193, uint64_t x194 = mulx_u64(x178, 0xffffffffffffffffL); + uint64_t x196, uint64_t x197 = mulx_u64(x178, 0x7ffffffffffffff); + uint64_t x199, uint8_t x200 = addcarryx_u64(0x0, x182, x184); + uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187); + uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190); + uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x191, x193); + uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x194, x196); + uint64_t x214, uint8_t _ = addcarryx_u64(0x0, x212, x197); + uint64_t _, uint8_t x218 = addcarryx_u64(0x0, x157, x181); + uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x160, x199); + uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x163, x202); + uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x166, x205); + uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x169, x208); + uint64_t x232, uint8_t x233 = addcarryx_u64(x230, x172, x211); + uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x175, x214); + uint8_t x237 = (x236 + x176); + uint64_t x239, uint64_t x240 = mulx_u64(x9, x15); + uint64_t x242, uint64_t x243 = mulx_u64(x9, x17); + uint64_t x245, uint64_t x246 = mulx_u64(x9, x19); + uint64_t x248, uint64_t x249 = mulx_u64(x9, x21); + uint64_t x251, uint64_t x252 = mulx_u64(x9, x23); + uint64_t x254, uint64_t x255 = mulx_u64(x9, x22); + uint64_t x257, uint8_t x258 = addcarryx_u64(0x0, x240, x242); + uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245); + uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248); + uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x249, x251); + uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x252, x254); + uint64_t x272, uint8_t _ = addcarryx_u64(0x0, x270, x255); + uint64_t x275, uint8_t x276 = addcarryx_u64(0x0, x220, x239); + uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257); + uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260); + uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263); + uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x232, x266); + uint64_t x290, uint8_t x291 = addcarryx_u64(x288, x235, x269); + uint64_t x293, uint8_t x294 = addcarryx_u64(x291, x237, x272); + uint64_t x296, uint64_t _ = mulx_u64(x275, 0x86bca1af286bca1bL); + uint64_t x299, uint64_t x300 = mulx_u64(x296, 0xffffffffffffffedL); + uint64_t x302, uint64_t x303 = mulx_u64(x296, 0xffffffffffffffffL); + uint64_t x305, uint64_t x306 = mulx_u64(x296, 0xffffffffffffffffL); + uint64_t x308, uint64_t x309 = mulx_u64(x296, 0xffffffffffffffffL); + uint64_t x311, uint64_t x312 = mulx_u64(x296, 0xffffffffffffffffL); + uint64_t x314, uint64_t x315 = mulx_u64(x296, 0x7ffffffffffffff); + uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x300, x302); + uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305); + uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x306, x308); + uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x309, x311); + uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x312, x314); + uint64_t x332, uint8_t _ = addcarryx_u64(0x0, x330, x315); + uint64_t _, uint8_t x336 = addcarryx_u64(0x0, x275, x299); + uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x278, x317); + uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x281, x320); + uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x284, x323); + uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x287, x326); + uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x290, x329); + uint64_t x353, uint8_t x354 = addcarryx_u64(x351, x293, x332); + uint8_t x355 = (x354 + x294); + uint64_t x357, uint64_t x358 = mulx_u64(x11, x15); + uint64_t x360, uint64_t x361 = mulx_u64(x11, x17); + uint64_t x363, uint64_t x364 = mulx_u64(x11, x19); + uint64_t x366, uint64_t x367 = mulx_u64(x11, x21); + uint64_t x369, uint64_t x370 = mulx_u64(x11, x23); + uint64_t x372, uint64_t x373 = mulx_u64(x11, x22); + uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x358, x360); + uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363); + uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x364, x366); + uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x367, x369); + uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x370, x372); + uint64_t x390, uint8_t _ = addcarryx_u64(0x0, x388, x373); + uint64_t x393, uint8_t x394 = addcarryx_u64(0x0, x338, x357); + uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375); + uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378); + uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x347, x381); + uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x350, x384); + uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x353, x387); + uint64_t x411, uint8_t x412 = addcarryx_u64(x409, x355, x390); + uint64_t x414, uint64_t _ = mulx_u64(x393, 0x86bca1af286bca1bL); + uint64_t x417, uint64_t x418 = mulx_u64(x414, 0xffffffffffffffedL); + uint64_t x420, uint64_t x421 = mulx_u64(x414, 0xffffffffffffffffL); + uint64_t x423, uint64_t x424 = mulx_u64(x414, 0xffffffffffffffffL); + uint64_t x426, uint64_t x427 = mulx_u64(x414, 0xffffffffffffffffL); + uint64_t x429, uint64_t x430 = mulx_u64(x414, 0xffffffffffffffffL); + uint64_t x432, uint64_t x433 = mulx_u64(x414, 0x7ffffffffffffff); + uint64_t x435, uint8_t x436 = addcarryx_u64(0x0, x418, x420); + uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x421, x423); + uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x424, x426); + uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x427, x429); + uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x430, x432); + uint64_t x450, uint8_t _ = addcarryx_u64(0x0, x448, x433); + uint64_t _, uint8_t x454 = addcarryx_u64(0x0, x393, x417); + uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x396, x435); + uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x399, x438); + uint64_t x462, uint8_t x463 = addcarryx_u64(x460, x402, x441); + uint64_t x465, uint8_t x466 = addcarryx_u64(x463, x405, x444); + uint64_t x468, uint8_t x469 = addcarryx_u64(x466, x408, x447); + uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x411, x450); + uint8_t x473 = (x472 + x412); + uint64_t x475, uint64_t x476 = mulx_u64(x13, x15); + uint64_t x478, uint64_t x479 = mulx_u64(x13, x17); + uint64_t x481, uint64_t x482 = mulx_u64(x13, x19); + uint64_t x484, uint64_t x485 = mulx_u64(x13, x21); + uint64_t x487, uint64_t x488 = mulx_u64(x13, x23); + uint64_t x490, uint64_t x491 = mulx_u64(x13, x22); + uint64_t x493, uint8_t x494 = addcarryx_u64(0x0, x476, x478); + uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x479, x481); + uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x482, x484); + uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x485, x487); + uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x488, x490); + uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x491); + uint64_t x511, uint8_t x512 = addcarryx_u64(0x0, x456, x475); + uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493); + uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x462, x496); + uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x465, x499); + uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x468, x502); + uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x471, x505); + uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x473, x508); + uint64_t x532, uint64_t _ = mulx_u64(x511, 0x86bca1af286bca1bL); + uint64_t x535, uint64_t x536 = mulx_u64(x532, 0xffffffffffffffedL); + uint64_t x538, uint64_t x539 = mulx_u64(x532, 0xffffffffffffffffL); + uint64_t x541, uint64_t x542 = mulx_u64(x532, 0xffffffffffffffffL); + uint64_t x544, uint64_t x545 = mulx_u64(x532, 0xffffffffffffffffL); + uint64_t x547, uint64_t x548 = mulx_u64(x532, 0xffffffffffffffffL); + uint64_t x550, uint64_t x551 = mulx_u64(x532, 0x7ffffffffffffff); + uint64_t x553, uint8_t x554 = addcarryx_u64(0x0, x536, x538); + uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x539, x541); + uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x542, x544); + uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x545, x547); + uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x548, x550); + uint64_t x568, uint8_t _ = addcarryx_u64(0x0, x566, x551); + uint64_t _, uint8_t x572 = addcarryx_u64(0x0, x511, x535); + uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x514, x553); + uint64_t x577, uint8_t x578 = addcarryx_u64(x575, x517, x556); + uint64_t x580, uint8_t x581 = addcarryx_u64(x578, x520, x559); + uint64_t x583, uint8_t x584 = addcarryx_u64(x581, x523, x562); + uint64_t x586, uint8_t x587 = addcarryx_u64(x584, x526, x565); + uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x529, x568); + uint8_t x591 = (x590 + x530); + uint64_t x593, uint64_t x594 = mulx_u64(x12, x15); + uint64_t x596, uint64_t x597 = mulx_u64(x12, x17); + uint64_t x599, uint64_t x600 = mulx_u64(x12, x19); + uint64_t x602, uint64_t x603 = mulx_u64(x12, x21); + uint64_t x605, uint64_t x606 = mulx_u64(x12, x23); + uint64_t x608, uint64_t x609 = mulx_u64(x12, x22); + uint64_t x611, uint8_t x612 = addcarryx_u64(0x0, x594, x596); + uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x597, x599); + uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x600, x602); + uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x603, x605); + uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x606, x608); + uint64_t x626, uint8_t _ = addcarryx_u64(0x0, x624, x609); + uint64_t x629, uint8_t x630 = addcarryx_u64(0x0, x574, x593); + uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x577, x611); + uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x580, x614); + uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x583, x617); + uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x586, x620); + uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x589, x623); + uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x591, x626); + uint64_t x650, uint64_t _ = mulx_u64(x629, 0x86bca1af286bca1bL); + uint64_t x653, uint64_t x654 = mulx_u64(x650, 0xffffffffffffffedL); + uint64_t x656, uint64_t x657 = mulx_u64(x650, 0xffffffffffffffffL); + uint64_t x659, uint64_t x660 = mulx_u64(x650, 0xffffffffffffffffL); + uint64_t x662, uint64_t x663 = mulx_u64(x650, 0xffffffffffffffffL); + uint64_t x665, uint64_t x666 = mulx_u64(x650, 0xffffffffffffffffL); + uint64_t x668, uint64_t x669 = mulx_u64(x650, 0x7ffffffffffffff); + uint64_t x671, uint8_t x672 = addcarryx_u64(0x0, x654, x656); + uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x657, x659); + uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x660, x662); + uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x663, x665); + uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x666, x668); + uint64_t x686, uint8_t _ = addcarryx_u64(0x0, x684, x669); + uint64_t _, uint8_t x690 = addcarryx_u64(0x0, x629, x653); + uint64_t x692, uint8_t x693 = addcarryx_u64(x690, x632, x671); + uint64_t x695, uint8_t x696 = addcarryx_u64(x693, x635, x674); + uint64_t x698, uint8_t x699 = addcarryx_u64(x696, x638, x677); + uint64_t x701, uint8_t x702 = addcarryx_u64(x699, x641, x680); + uint64_t x704, uint8_t x705 = addcarryx_u64(x702, x644, x683); + uint64_t x707, uint8_t x708 = addcarryx_u64(x705, x647, x686); + uint8_t x709 = (x708 + x648); + uint64_t x711, uint8_t x712 = subborrow_u64(0x0, x692, 0xffffffffffffffedL); + uint64_t x714, uint8_t x715 = subborrow_u64(x712, x695, 0xffffffffffffffffL); + uint64_t x717, uint8_t x718 = subborrow_u64(x715, x698, 0xffffffffffffffffL); + uint64_t x720, uint8_t x721 = subborrow_u64(x718, x701, 0xffffffffffffffffL); + uint64_t x723, uint8_t x724 = subborrow_u64(x721, x704, 0xffffffffffffffffL); + uint64_t x726, uint8_t x727 = subborrow_u64(x724, x707, 0x7ffffffffffffff); + uint64_t _, uint8_t x730 = subborrow_u64(x727, x709, 0x0); + uint64_t x731 = cmovznz(x730, x726, x707); + uint64_t x732 = cmovznz(x730, x723, x704); + uint64_t x733 = cmovznz(x730, x720, x701); + uint64_t x734 = cmovznz(x730, x717, x698); + uint64_t x735 = cmovznz(x730, x714, x695); + uint64_t x736 = cmovznz(x730, x711, x692); + return (x731, x732, x733, x734, x735, x736)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e383m187/femulDisplay.log b/src/Specific/montgomery64_2e383m187/femulDisplay.log new file mode 100644 index 000000000..f9d630e11 --- /dev/null +++ b/src/Specific/montgomery64_2e383m187/femulDisplay.log @@ -0,0 +1,252 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core, + uint64_t x25, uint64_t x26 = mulx_u64(x5, x15); + uint64_t x28, uint64_t x29 = mulx_u64(x5, x17); + uint64_t x31, uint64_t x32 = mulx_u64(x5, x19); + uint64_t x34, uint64_t x35 = mulx_u64(x5, x21); + uint64_t x37, uint64_t x38 = mulx_u64(x5, x23); + uint64_t x40, uint64_t x41 = mulx_u64(x5, x22); + uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28); + uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31); + uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34); + uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37); + uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40); + uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41); + uint64_t x61, uint64_t _ = mulx_u64(x25, 0x8a4472fea18a4473L); + uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xffffffffffffff45L); + uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffffffffffffL); + uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xffffffffffffffffL); + uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL); + uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL); + uint64_t x79, uint64_t x80 = mulx_u64(x61, 0x7fffffffffffffffL); + uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x65, x67); + uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70); + uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73); + uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76); + uint64_t x94, uint8_t x95 = addcarryx_u64(x92, x77, x79); + uint64_t x97, uint8_t _ = addcarryx_u64(0x0, x95, x80); + uint64_t _, uint8_t x101 = addcarryx_u64(0x0, x25, x64); + uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x43, x82); + uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x46, x85); + uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x49, x88); + uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x52, x91); + uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x55, x94); + uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x58, x97); + uint64_t x121, uint64_t x122 = mulx_u64(x7, x15); + uint64_t x124, uint64_t x125 = mulx_u64(x7, x17); + uint64_t x127, uint64_t x128 = mulx_u64(x7, x19); + uint64_t x130, uint64_t x131 = mulx_u64(x7, x21); + uint64_t x133, uint64_t x134 = mulx_u64(x7, x23); + uint64_t x136, uint64_t x137 = mulx_u64(x7, x22); + uint64_t x139, uint8_t x140 = addcarryx_u64(0x0, x122, x124); + uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127); + uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130); + uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133); + uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x134, x136); + uint64_t x154, uint8_t _ = addcarryx_u64(0x0, x152, x137); + uint64_t x157, uint8_t x158 = addcarryx_u64(0x0, x103, x121); + uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139); + uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142); + uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145); + uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148); + uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x118, x151); + uint64_t x175, uint8_t x176 = addcarryx_u64(x173, x119, x154); + uint64_t x178, uint64_t _ = mulx_u64(x157, 0x8a4472fea18a4473L); + uint64_t x181, uint64_t x182 = mulx_u64(x178, 0xffffffffffffff45L); + uint64_t x184, uint64_t x185 = mulx_u64(x178, 0xffffffffffffffffL); + uint64_t x187, uint64_t x188 = mulx_u64(x178, 0xffffffffffffffffL); + uint64_t x190, uint64_t x191 = mulx_u64(x178, 0xffffffffffffffffL); + uint64_t x193, uint64_t x194 = mulx_u64(x178, 0xffffffffffffffffL); + uint64_t x196, uint64_t x197 = mulx_u64(x178, 0x7fffffffffffffffL); + uint64_t x199, uint8_t x200 = addcarryx_u64(0x0, x182, x184); + uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187); + uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190); + uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x191, x193); + uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x194, x196); + uint64_t x214, uint8_t _ = addcarryx_u64(0x0, x212, x197); + uint64_t _, uint8_t x218 = addcarryx_u64(0x0, x157, x181); + uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x160, x199); + uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x163, x202); + uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x166, x205); + uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x169, x208); + uint64_t x232, uint8_t x233 = addcarryx_u64(x230, x172, x211); + uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x175, x214); + uint8_t x237 = (x236 + x176); + uint64_t x239, uint64_t x240 = mulx_u64(x9, x15); + uint64_t x242, uint64_t x243 = mulx_u64(x9, x17); + uint64_t x245, uint64_t x246 = mulx_u64(x9, x19); + uint64_t x248, uint64_t x249 = mulx_u64(x9, x21); + uint64_t x251, uint64_t x252 = mulx_u64(x9, x23); + uint64_t x254, uint64_t x255 = mulx_u64(x9, x22); + uint64_t x257, uint8_t x258 = addcarryx_u64(0x0, x240, x242); + uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245); + uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248); + uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x249, x251); + uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x252, x254); + uint64_t x272, uint8_t _ = addcarryx_u64(0x0, x270, x255); + uint64_t x275, uint8_t x276 = addcarryx_u64(0x0, x220, x239); + uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257); + uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260); + uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263); + uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x232, x266); + uint64_t x290, uint8_t x291 = addcarryx_u64(x288, x235, x269); + uint64_t x293, uint8_t x294 = addcarryx_u64(x291, x237, x272); + uint64_t x296, uint64_t _ = mulx_u64(x275, 0x8a4472fea18a4473L); + uint64_t x299, uint64_t x300 = mulx_u64(x296, 0xffffffffffffff45L); + uint64_t x302, uint64_t x303 = mulx_u64(x296, 0xffffffffffffffffL); + uint64_t x305, uint64_t x306 = mulx_u64(x296, 0xffffffffffffffffL); + uint64_t x308, uint64_t x309 = mulx_u64(x296, 0xffffffffffffffffL); + uint64_t x311, uint64_t x312 = mulx_u64(x296, 0xffffffffffffffffL); + uint64_t x314, uint64_t x315 = mulx_u64(x296, 0x7fffffffffffffffL); + uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x300, x302); + uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305); + uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x306, x308); + uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x309, x311); + uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x312, x314); + uint64_t x332, uint8_t _ = addcarryx_u64(0x0, x330, x315); + uint64_t _, uint8_t x336 = addcarryx_u64(0x0, x275, x299); + uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x278, x317); + uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x281, x320); + uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x284, x323); + uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x287, x326); + uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x290, x329); + uint64_t x353, uint8_t x354 = addcarryx_u64(x351, x293, x332); + uint8_t x355 = (x354 + x294); + uint64_t x357, uint64_t x358 = mulx_u64(x11, x15); + uint64_t x360, uint64_t x361 = mulx_u64(x11, x17); + uint64_t x363, uint64_t x364 = mulx_u64(x11, x19); + uint64_t x366, uint64_t x367 = mulx_u64(x11, x21); + uint64_t x369, uint64_t x370 = mulx_u64(x11, x23); + uint64_t x372, uint64_t x373 = mulx_u64(x11, x22); + uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x358, x360); + uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363); + uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x364, x366); + uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x367, x369); + uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x370, x372); + uint64_t x390, uint8_t _ = addcarryx_u64(0x0, x388, x373); + uint64_t x393, uint8_t x394 = addcarryx_u64(0x0, x338, x357); + uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375); + uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378); + uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x347, x381); + uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x350, x384); + uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x353, x387); + uint64_t x411, uint8_t x412 = addcarryx_u64(x409, x355, x390); + uint64_t x414, uint64_t _ = mulx_u64(x393, 0x8a4472fea18a4473L); + uint64_t x417, uint64_t x418 = mulx_u64(x414, 0xffffffffffffff45L); + uint64_t x420, uint64_t x421 = mulx_u64(x414, 0xffffffffffffffffL); + uint64_t x423, uint64_t x424 = mulx_u64(x414, 0xffffffffffffffffL); + uint64_t x426, uint64_t x427 = mulx_u64(x414, 0xffffffffffffffffL); + uint64_t x429, uint64_t x430 = mulx_u64(x414, 0xffffffffffffffffL); + uint64_t x432, uint64_t x433 = mulx_u64(x414, 0x7fffffffffffffffL); + uint64_t x435, uint8_t x436 = addcarryx_u64(0x0, x418, x420); + uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x421, x423); + uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x424, x426); + uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x427, x429); + uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x430, x432); + uint64_t x450, uint8_t _ = addcarryx_u64(0x0, x448, x433); + uint64_t _, uint8_t x454 = addcarryx_u64(0x0, x393, x417); + uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x396, x435); + uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x399, x438); + uint64_t x462, uint8_t x463 = addcarryx_u64(x460, x402, x441); + uint64_t x465, uint8_t x466 = addcarryx_u64(x463, x405, x444); + uint64_t x468, uint8_t x469 = addcarryx_u64(x466, x408, x447); + uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x411, x450); + uint8_t x473 = (x472 + x412); + uint64_t x475, uint64_t x476 = mulx_u64(x13, x15); + uint64_t x478, uint64_t x479 = mulx_u64(x13, x17); + uint64_t x481, uint64_t x482 = mulx_u64(x13, x19); + uint64_t x484, uint64_t x485 = mulx_u64(x13, x21); + uint64_t x487, uint64_t x488 = mulx_u64(x13, x23); + uint64_t x490, uint64_t x491 = mulx_u64(x13, x22); + uint64_t x493, uint8_t x494 = addcarryx_u64(0x0, x476, x478); + uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x479, x481); + uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x482, x484); + uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x485, x487); + uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x488, x490); + uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x491); + uint64_t x511, uint8_t x512 = addcarryx_u64(0x0, x456, x475); + uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493); + uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x462, x496); + uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x465, x499); + uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x468, x502); + uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x471, x505); + uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x473, x508); + uint64_t x532, uint64_t _ = mulx_u64(x511, 0x8a4472fea18a4473L); + uint64_t x535, uint64_t x536 = mulx_u64(x532, 0xffffffffffffff45L); + uint64_t x538, uint64_t x539 = mulx_u64(x532, 0xffffffffffffffffL); + uint64_t x541, uint64_t x542 = mulx_u64(x532, 0xffffffffffffffffL); + uint64_t x544, uint64_t x545 = mulx_u64(x532, 0xffffffffffffffffL); + uint64_t x547, uint64_t x548 = mulx_u64(x532, 0xffffffffffffffffL); + uint64_t x550, uint64_t x551 = mulx_u64(x532, 0x7fffffffffffffffL); + uint64_t x553, uint8_t x554 = addcarryx_u64(0x0, x536, x538); + uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x539, x541); + uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x542, x544); + uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x545, x547); + uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x548, x550); + uint64_t x568, uint8_t _ = addcarryx_u64(0x0, x566, x551); + uint64_t _, uint8_t x572 = addcarryx_u64(0x0, x511, x535); + uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x514, x553); + uint64_t x577, uint8_t x578 = addcarryx_u64(x575, x517, x556); + uint64_t x580, uint8_t x581 = addcarryx_u64(x578, x520, x559); + uint64_t x583, uint8_t x584 = addcarryx_u64(x581, x523, x562); + uint64_t x586, uint8_t x587 = addcarryx_u64(x584, x526, x565); + uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x529, x568); + uint8_t x591 = (x590 + x530); + uint64_t x593, uint64_t x594 = mulx_u64(x12, x15); + uint64_t x596, uint64_t x597 = mulx_u64(x12, x17); + uint64_t x599, uint64_t x600 = mulx_u64(x12, x19); + uint64_t x602, uint64_t x603 = mulx_u64(x12, x21); + uint64_t x605, uint64_t x606 = mulx_u64(x12, x23); + uint64_t x608, uint64_t x609 = mulx_u64(x12, x22); + uint64_t x611, uint8_t x612 = addcarryx_u64(0x0, x594, x596); + uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x597, x599); + uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x600, x602); + uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x603, x605); + uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x606, x608); + uint64_t x626, uint8_t _ = addcarryx_u64(0x0, x624, x609); + uint64_t x629, uint8_t x630 = addcarryx_u64(0x0, x574, x593); + uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x577, x611); + uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x580, x614); + uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x583, x617); + uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x586, x620); + uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x589, x623); + uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x591, x626); + uint64_t x650, uint64_t _ = mulx_u64(x629, 0x8a4472fea18a4473L); + uint64_t x653, uint64_t x654 = mulx_u64(x650, 0xffffffffffffff45L); + uint64_t x656, uint64_t x657 = mulx_u64(x650, 0xffffffffffffffffL); + uint64_t x659, uint64_t x660 = mulx_u64(x650, 0xffffffffffffffffL); + uint64_t x662, uint64_t x663 = mulx_u64(x650, 0xffffffffffffffffL); + uint64_t x665, uint64_t x666 = mulx_u64(x650, 0xffffffffffffffffL); + uint64_t x668, uint64_t x669 = mulx_u64(x650, 0x7fffffffffffffffL); + uint64_t x671, uint8_t x672 = addcarryx_u64(0x0, x654, x656); + uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x657, x659); + uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x660, x662); + uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x663, x665); + uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x666, x668); + uint64_t x686, uint8_t _ = addcarryx_u64(0x0, x684, x669); + uint64_t _, uint8_t x690 = addcarryx_u64(0x0, x629, x653); + uint64_t x692, uint8_t x693 = addcarryx_u64(x690, x632, x671); + uint64_t x695, uint8_t x696 = addcarryx_u64(x693, x635, x674); + uint64_t x698, uint8_t x699 = addcarryx_u64(x696, x638, x677); + uint64_t x701, uint8_t x702 = addcarryx_u64(x699, x641, x680); + uint64_t x704, uint8_t x705 = addcarryx_u64(x702, x644, x683); + uint64_t x707, uint8_t x708 = addcarryx_u64(x705, x647, x686); + uint8_t x709 = (x708 + x648); + uint64_t x711, uint8_t x712 = subborrow_u64(0x0, x692, 0xffffffffffffff45L); + uint64_t x714, uint8_t x715 = subborrow_u64(x712, x695, 0xffffffffffffffffL); + uint64_t x717, uint8_t x718 = subborrow_u64(x715, x698, 0xffffffffffffffffL); + uint64_t x720, uint8_t x721 = subborrow_u64(x718, x701, 0xffffffffffffffffL); + uint64_t x723, uint8_t x724 = subborrow_u64(x721, x704, 0xffffffffffffffffL); + uint64_t x726, uint8_t x727 = subborrow_u64(x724, x707, 0x7fffffffffffffffL); + uint64_t _, uint8_t x730 = subborrow_u64(x727, x709, 0x0); + uint64_t x731 = cmovznz(x730, x726, x707); + uint64_t x732 = cmovznz(x730, x723, x704); + uint64_t x733 = cmovznz(x730, x720, x701); + uint64_t x734 = cmovznz(x730, x717, x698); + uint64_t x735 = cmovznz(x730, x714, x695); + uint64_t x736 = cmovznz(x730, x711, x692); + return (x731, x732, x733, x734, x735, x736)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1/fenzDisplay.log b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1/fenzDisplay.log index f39f1d91b..2a7474647 100644 --- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1/fenzDisplay.log +++ b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1/fenzDisplay.log @@ -9,4 +9,16 @@ Interp-η uint64_t x15 = (x2 | x14); return x15) x - : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t + : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (Tbase match (if match match (let (lower, _) := Synthesis.P.bound1 in + lower) with + | 0%Z => Eq + | Z.pos _ => Lt + | Z.neg _ => Gt + end with + | Eq => true + | Lt => true + | Gt => false + end then Some 6 else None) with + | Some lgsz => Syntax.TWord lgsz + | None => Syntax.TZ + end) diff --git a/src/Specific/montgomery64_2e384m317/femulDisplay.log b/src/Specific/montgomery64_2e384m317/femulDisplay.log new file mode 100644 index 000000000..0059aa1f0 --- /dev/null +++ b/src/Specific/montgomery64_2e384m317/femulDisplay.log @@ -0,0 +1,252 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core, + uint64_t x25, uint64_t x26 = mulx_u64(x5, x15); + uint64_t x28, uint64_t x29 = mulx_u64(x5, x17); + uint64_t x31, uint64_t x32 = mulx_u64(x5, x19); + uint64_t x34, uint64_t x35 = mulx_u64(x5, x21); + uint64_t x37, uint64_t x38 = mulx_u64(x5, x23); + uint64_t x40, uint64_t x41 = mulx_u64(x5, x22); + uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28); + uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31); + uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34); + uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37); + uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40); + uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41); + uint64_t x61, uint64_t _ = mulx_u64(x25, 0xec9e48ae6f71de15L); + uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xfffffffffffffec3L); + uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffffffffffffL); + uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xffffffffffffffffL); + uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL); + uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL); + uint64_t x79, uint64_t x80 = mulx_u64(x61, 0xffffffffffffffffL); + uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x65, x67); + uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70); + uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73); + uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76); + uint64_t x94, uint8_t x95 = addcarryx_u64(x92, x77, x79); + uint64_t x97, uint8_t _ = addcarryx_u64(0x0, x95, x80); + uint64_t _, uint8_t x101 = addcarryx_u64(0x0, x25, x64); + uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x43, x82); + uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x46, x85); + uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x49, x88); + uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x52, x91); + uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x55, x94); + uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x58, x97); + uint64_t x121, uint64_t x122 = mulx_u64(x7, x15); + uint64_t x124, uint64_t x125 = mulx_u64(x7, x17); + uint64_t x127, uint64_t x128 = mulx_u64(x7, x19); + uint64_t x130, uint64_t x131 = mulx_u64(x7, x21); + uint64_t x133, uint64_t x134 = mulx_u64(x7, x23); + uint64_t x136, uint64_t x137 = mulx_u64(x7, x22); + uint64_t x139, uint8_t x140 = addcarryx_u64(0x0, x122, x124); + uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127); + uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130); + uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133); + uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x134, x136); + uint64_t x154, uint8_t _ = addcarryx_u64(0x0, x152, x137); + uint64_t x157, uint8_t x158 = addcarryx_u64(0x0, x103, x121); + uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139); + uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142); + uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145); + uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148); + uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x118, x151); + uint64_t x175, uint8_t x176 = addcarryx_u64(x173, x119, x154); + uint64_t x178, uint64_t _ = mulx_u64(x157, 0xec9e48ae6f71de15L); + uint64_t x181, uint64_t x182 = mulx_u64(x178, 0xfffffffffffffec3L); + uint64_t x184, uint64_t x185 = mulx_u64(x178, 0xffffffffffffffffL); + uint64_t x187, uint64_t x188 = mulx_u64(x178, 0xffffffffffffffffL); + uint64_t x190, uint64_t x191 = mulx_u64(x178, 0xffffffffffffffffL); + uint64_t x193, uint64_t x194 = mulx_u64(x178, 0xffffffffffffffffL); + uint64_t x196, uint64_t x197 = mulx_u64(x178, 0xffffffffffffffffL); + uint64_t x199, uint8_t x200 = addcarryx_u64(0x0, x182, x184); + uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187); + uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190); + uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x191, x193); + uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x194, x196); + uint64_t x214, uint8_t _ = addcarryx_u64(0x0, x212, x197); + uint64_t _, uint8_t x218 = addcarryx_u64(0x0, x157, x181); + uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x160, x199); + uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x163, x202); + uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x166, x205); + uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x169, x208); + uint64_t x232, uint8_t x233 = addcarryx_u64(x230, x172, x211); + uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x175, x214); + uint8_t x237 = (x236 + x176); + uint64_t x239, uint64_t x240 = mulx_u64(x9, x15); + uint64_t x242, uint64_t x243 = mulx_u64(x9, x17); + uint64_t x245, uint64_t x246 = mulx_u64(x9, x19); + uint64_t x248, uint64_t x249 = mulx_u64(x9, x21); + uint64_t x251, uint64_t x252 = mulx_u64(x9, x23); + uint64_t x254, uint64_t x255 = mulx_u64(x9, x22); + uint64_t x257, uint8_t x258 = addcarryx_u64(0x0, x240, x242); + uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245); + uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248); + uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x249, x251); + uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x252, x254); + uint64_t x272, uint8_t _ = addcarryx_u64(0x0, x270, x255); + uint64_t x275, uint8_t x276 = addcarryx_u64(0x0, x220, x239); + uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257); + uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260); + uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263); + uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x232, x266); + uint64_t x290, uint8_t x291 = addcarryx_u64(x288, x235, x269); + uint64_t x293, uint8_t x294 = addcarryx_u64(x291, x237, x272); + uint64_t x296, uint64_t _ = mulx_u64(x275, 0xec9e48ae6f71de15L); + uint64_t x299, uint64_t x300 = mulx_u64(x296, 0xfffffffffffffec3L); + uint64_t x302, uint64_t x303 = mulx_u64(x296, 0xffffffffffffffffL); + uint64_t x305, uint64_t x306 = mulx_u64(x296, 0xffffffffffffffffL); + uint64_t x308, uint64_t x309 = mulx_u64(x296, 0xffffffffffffffffL); + uint64_t x311, uint64_t x312 = mulx_u64(x296, 0xffffffffffffffffL); + uint64_t x314, uint64_t x315 = mulx_u64(x296, 0xffffffffffffffffL); + uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x300, x302); + uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305); + uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x306, x308); + uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x309, x311); + uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x312, x314); + uint64_t x332, uint8_t _ = addcarryx_u64(0x0, x330, x315); + uint64_t _, uint8_t x336 = addcarryx_u64(0x0, x275, x299); + uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x278, x317); + uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x281, x320); + uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x284, x323); + uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x287, x326); + uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x290, x329); + uint64_t x353, uint8_t x354 = addcarryx_u64(x351, x293, x332); + uint8_t x355 = (x354 + x294); + uint64_t x357, uint64_t x358 = mulx_u64(x11, x15); + uint64_t x360, uint64_t x361 = mulx_u64(x11, x17); + uint64_t x363, uint64_t x364 = mulx_u64(x11, x19); + uint64_t x366, uint64_t x367 = mulx_u64(x11, x21); + uint64_t x369, uint64_t x370 = mulx_u64(x11, x23); + uint64_t x372, uint64_t x373 = mulx_u64(x11, x22); + uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x358, x360); + uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363); + uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x364, x366); + uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x367, x369); + uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x370, x372); + uint64_t x390, uint8_t _ = addcarryx_u64(0x0, x388, x373); + uint64_t x393, uint8_t x394 = addcarryx_u64(0x0, x338, x357); + uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375); + uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378); + uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x347, x381); + uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x350, x384); + uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x353, x387); + uint64_t x411, uint8_t x412 = addcarryx_u64(x409, x355, x390); + uint64_t x414, uint64_t _ = mulx_u64(x393, 0xec9e48ae6f71de15L); + uint64_t x417, uint64_t x418 = mulx_u64(x414, 0xfffffffffffffec3L); + uint64_t x420, uint64_t x421 = mulx_u64(x414, 0xffffffffffffffffL); + uint64_t x423, uint64_t x424 = mulx_u64(x414, 0xffffffffffffffffL); + uint64_t x426, uint64_t x427 = mulx_u64(x414, 0xffffffffffffffffL); + uint64_t x429, uint64_t x430 = mulx_u64(x414, 0xffffffffffffffffL); + uint64_t x432, uint64_t x433 = mulx_u64(x414, 0xffffffffffffffffL); + uint64_t x435, uint8_t x436 = addcarryx_u64(0x0, x418, x420); + uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x421, x423); + uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x424, x426); + uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x427, x429); + uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x430, x432); + uint64_t x450, uint8_t _ = addcarryx_u64(0x0, x448, x433); + uint64_t _, uint8_t x454 = addcarryx_u64(0x0, x393, x417); + uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x396, x435); + uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x399, x438); + uint64_t x462, uint8_t x463 = addcarryx_u64(x460, x402, x441); + uint64_t x465, uint8_t x466 = addcarryx_u64(x463, x405, x444); + uint64_t x468, uint8_t x469 = addcarryx_u64(x466, x408, x447); + uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x411, x450); + uint8_t x473 = (x472 + x412); + uint64_t x475, uint64_t x476 = mulx_u64(x13, x15); + uint64_t x478, uint64_t x479 = mulx_u64(x13, x17); + uint64_t x481, uint64_t x482 = mulx_u64(x13, x19); + uint64_t x484, uint64_t x485 = mulx_u64(x13, x21); + uint64_t x487, uint64_t x488 = mulx_u64(x13, x23); + uint64_t x490, uint64_t x491 = mulx_u64(x13, x22); + uint64_t x493, uint8_t x494 = addcarryx_u64(0x0, x476, x478); + uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x479, x481); + uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x482, x484); + uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x485, x487); + uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x488, x490); + uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x491); + uint64_t x511, uint8_t x512 = addcarryx_u64(0x0, x456, x475); + uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493); + uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x462, x496); + uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x465, x499); + uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x468, x502); + uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x471, x505); + uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x473, x508); + uint64_t x532, uint64_t _ = mulx_u64(x511, 0xec9e48ae6f71de15L); + uint64_t x535, uint64_t x536 = mulx_u64(x532, 0xfffffffffffffec3L); + uint64_t x538, uint64_t x539 = mulx_u64(x532, 0xffffffffffffffffL); + uint64_t x541, uint64_t x542 = mulx_u64(x532, 0xffffffffffffffffL); + uint64_t x544, uint64_t x545 = mulx_u64(x532, 0xffffffffffffffffL); + uint64_t x547, uint64_t x548 = mulx_u64(x532, 0xffffffffffffffffL); + uint64_t x550, uint64_t x551 = mulx_u64(x532, 0xffffffffffffffffL); + uint64_t x553, uint8_t x554 = addcarryx_u64(0x0, x536, x538); + uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x539, x541); + uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x542, x544); + uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x545, x547); + uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x548, x550); + uint64_t x568, uint8_t _ = addcarryx_u64(0x0, x566, x551); + uint64_t _, uint8_t x572 = addcarryx_u64(0x0, x511, x535); + uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x514, x553); + uint64_t x577, uint8_t x578 = addcarryx_u64(x575, x517, x556); + uint64_t x580, uint8_t x581 = addcarryx_u64(x578, x520, x559); + uint64_t x583, uint8_t x584 = addcarryx_u64(x581, x523, x562); + uint64_t x586, uint8_t x587 = addcarryx_u64(x584, x526, x565); + uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x529, x568); + uint8_t x591 = (x590 + x530); + uint64_t x593, uint64_t x594 = mulx_u64(x12, x15); + uint64_t x596, uint64_t x597 = mulx_u64(x12, x17); + uint64_t x599, uint64_t x600 = mulx_u64(x12, x19); + uint64_t x602, uint64_t x603 = mulx_u64(x12, x21); + uint64_t x605, uint64_t x606 = mulx_u64(x12, x23); + uint64_t x608, uint64_t x609 = mulx_u64(x12, x22); + uint64_t x611, uint8_t x612 = addcarryx_u64(0x0, x594, x596); + uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x597, x599); + uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x600, x602); + uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x603, x605); + uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x606, x608); + uint64_t x626, uint8_t _ = addcarryx_u64(0x0, x624, x609); + uint64_t x629, uint8_t x630 = addcarryx_u64(0x0, x574, x593); + uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x577, x611); + uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x580, x614); + uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x583, x617); + uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x586, x620); + uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x589, x623); + uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x591, x626); + uint64_t x650, uint64_t _ = mulx_u64(x629, 0xec9e48ae6f71de15L); + uint64_t x653, uint64_t x654 = mulx_u64(x650, 0xfffffffffffffec3L); + uint64_t x656, uint64_t x657 = mulx_u64(x650, 0xffffffffffffffffL); + uint64_t x659, uint64_t x660 = mulx_u64(x650, 0xffffffffffffffffL); + uint64_t x662, uint64_t x663 = mulx_u64(x650, 0xffffffffffffffffL); + uint64_t x665, uint64_t x666 = mulx_u64(x650, 0xffffffffffffffffL); + uint64_t x668, uint64_t x669 = mulx_u64(x650, 0xffffffffffffffffL); + uint64_t x671, uint8_t x672 = addcarryx_u64(0x0, x654, x656); + uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x657, x659); + uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x660, x662); + uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x663, x665); + uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x666, x668); + uint64_t x686, uint8_t _ = addcarryx_u64(0x0, x684, x669); + uint64_t _, uint8_t x690 = addcarryx_u64(0x0, x629, x653); + uint64_t x692, uint8_t x693 = addcarryx_u64(x690, x632, x671); + uint64_t x695, uint8_t x696 = addcarryx_u64(x693, x635, x674); + uint64_t x698, uint8_t x699 = addcarryx_u64(x696, x638, x677); + uint64_t x701, uint8_t x702 = addcarryx_u64(x699, x641, x680); + uint64_t x704, uint8_t x705 = addcarryx_u64(x702, x644, x683); + uint64_t x707, uint8_t x708 = addcarryx_u64(x705, x647, x686); + uint8_t x709 = (x708 + x648); + uint64_t x711, uint8_t x712 = subborrow_u64(0x0, x692, 0xfffffffffffffec3L); + uint64_t x714, uint8_t x715 = subborrow_u64(x712, x695, 0xffffffffffffffffL); + uint64_t x717, uint8_t x718 = subborrow_u64(x715, x698, 0xffffffffffffffffL); + uint64_t x720, uint8_t x721 = subborrow_u64(x718, x701, 0xffffffffffffffffL); + uint64_t x723, uint8_t x724 = subborrow_u64(x721, x704, 0xffffffffffffffffL); + uint64_t x726, uint8_t x727 = subborrow_u64(x724, x707, 0xffffffffffffffffL); + uint64_t _, uint8_t x730 = subborrow_u64(x727, x709, 0x0); + uint64_t x731 = cmovznz(x730, x726, x707); + uint64_t x732 = cmovznz(x730, x723, x704); + uint64_t x733 = cmovznz(x730, x720, x701); + uint64_t x734 = cmovznz(x730, x717, x698); + uint64_t x735 = cmovznz(x730, x714, x695); + uint64_t x736 = cmovznz(x730, x711, x692); + return (x731, x732, x733, x734, x735, x736)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e389m21/feoppDisplay.log b/src/Specific/montgomery64_2e389m21/feoppDisplay.log new file mode 100644 index 000000000..4838eabff --- /dev/null +++ b/src/Specific/montgomery64_2e389m21/feoppDisplay.log @@ -0,0 +1,29 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x11, x12, x10, x8, x6, x4, x2)%core, + uint64_t x14, uint8_t x15 = subborrow_u64(0x0, 0x0, x2); + uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x4); + uint64_t x20, uint8_t x21 = subborrow_u64(x18, 0x0, x6); + uint64_t x23, uint8_t x24 = subborrow_u64(x21, 0x0, x8); + uint64_t x26, uint8_t x27 = subborrow_u64(x24, 0x0, x10); + uint64_t x29, uint8_t x30 = subborrow_u64(x27, 0x0, x12); + uint64_t x32, uint8_t x33 = subborrow_u64(x30, 0x0, x11); + uint64_t x34 = (uint64_t)cmovznz(x33, 0x0, 0xffffffffffffffffL); + uint64_t x35 = (x34 & 0xffffffffffffffebL); + uint64_t x37, uint8_t x38 = addcarryx_u64(0x0, x14, x35); + uint64_t x39 = (x34 & 0xffffffffffffffffL); + uint64_t x41, uint8_t x42 = addcarryx_u64(x38, x17, x39); + uint64_t x43 = (x34 & 0xffffffffffffffffL); + uint64_t x45, uint8_t x46 = addcarryx_u64(x42, x20, x43); + uint64_t x47 = (x34 & 0xffffffffffffffffL); + uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x23, x47); + uint64_t x51 = (x34 & 0xffffffffffffffffL); + uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x26, x51); + uint64_t x55 = (x34 & 0xffffffffffffffffL); + uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x29, x55); + uint8_t x59 = ((uint8_t)x34 & 0x1f); + uint64_t x61, uint8_t _ = addcarryx_u64(x58, x32, x59); + (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e389m21/fesubDisplay.log b/src/Specific/montgomery64_2e389m21/fesubDisplay.log new file mode 100644 index 000000000..4f96203a4 --- /dev/null +++ b/src/Specific/montgomery64_2e389m21/fesubDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x5, x17); + uint64_t x32, uint8_t x33 = subborrow_u64(x30, x7, x19); + uint64_t x35, uint8_t x36 = subborrow_u64(x33, x9, x21); + uint64_t x38, uint8_t x39 = subborrow_u64(x36, x11, x23); + uint64_t x41, uint8_t x42 = subborrow_u64(x39, x13, x25); + uint64_t x44, uint8_t x45 = subborrow_u64(x42, x15, x27); + uint64_t x47, uint8_t x48 = subborrow_u64(x45, x14, x26); + uint64_t x49 = (uint64_t)cmovznz(x48, 0x0, 0xffffffffffffffffL); + uint64_t x50 = (x49 & 0xffffffffffffffebL); + uint64_t x52, uint8_t x53 = addcarryx_u64(0x0, x29, x50); + uint64_t x54 = (x49 & 0xffffffffffffffffL); + uint64_t x56, uint8_t x57 = addcarryx_u64(x53, x32, x54); + uint64_t x58 = (x49 & 0xffffffffffffffffL); + uint64_t x60, uint8_t x61 = addcarryx_u64(x57, x35, x58); + uint64_t x62 = (x49 & 0xffffffffffffffffL); + uint64_t x64, uint8_t x65 = addcarryx_u64(x61, x38, x62); + uint64_t x66 = (x49 & 0xffffffffffffffffL); + uint64_t x68, uint8_t x69 = addcarryx_u64(x65, x41, x66); + uint64_t x70 = (x49 & 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = addcarryx_u64(x69, x44, x70); + uint8_t x74 = ((uint8_t)x49 & 0x1f); + uint64_t x76, uint8_t _ = addcarryx_u64(x73, x47, x74); + (Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e401m31/feaddDisplay.log b/src/Specific/montgomery64_2e401m31/feaddDisplay.log new file mode 100644 index 000000000..31c15d9d2 --- /dev/null +++ b/src/Specific/montgomery64_2e401m31/feaddDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x5, x17); + uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x7, x19); + uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x9, x21); + uint64_t x38, uint8_t x39 = addcarryx_u64(x36, x11, x23); + uint64_t x41, uint8_t x42 = addcarryx_u64(x39, x13, x25); + uint64_t x44, uint8_t x45 = addcarryx_u64(x42, x15, x27); + uint64_t x47, uint8_t x48 = addcarryx_u64(x45, x14, x26); + uint64_t x50, uint8_t x51 = subborrow_u64(0x0, x29, 0xffffffffffffffe1L); + uint64_t x53, uint8_t x54 = subborrow_u64(x51, x32, 0xffffffffffffffffL); + uint64_t x56, uint8_t x57 = subborrow_u64(x54, x35, 0xffffffffffffffffL); + uint64_t x59, uint8_t x60 = subborrow_u64(x57, x38, 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = subborrow_u64(x60, x41, 0xffffffffffffffffL); + uint64_t x65, uint8_t x66 = subborrow_u64(x63, x44, 0xffffffffffffffffL); + uint64_t x68, uint8_t x69 = subborrow_u64(x66, x47, 0x1ffff); + uint64_t _, uint8_t x72 = subborrow_u64(x69, x48, 0x0); + uint64_t x73 = cmovznz(x72, x68, x47); + uint64_t x74 = cmovznz(x72, x65, x44); + uint64_t x75 = cmovznz(x72, x62, x41); + uint64_t x76 = cmovznz(x72, x59, x38); + uint64_t x77 = cmovznz(x72, x56, x35); + uint64_t x78 = cmovznz(x72, x53, x32); + uint64_t x79 = cmovznz(x72, x50, x29); + return (x73, x74, x75, x76, x77, x78, x79)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e401m31/femulDisplay.log b/src/Specific/montgomery64_2e401m31/femulDisplay.log new file mode 100644 index 000000000..c325ddb44 --- /dev/null +++ b/src/Specific/montgomery64_2e401m31/femulDisplay.log @@ -0,0 +1,335 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint64_t x30 = mulx_u64(x5, x17); + uint64_t x32, uint64_t x33 = mulx_u64(x5, x19); + uint64_t x35, uint64_t x36 = mulx_u64(x5, x21); + uint64_t x38, uint64_t x39 = mulx_u64(x5, x23); + uint64_t x41, uint64_t x42 = mulx_u64(x5, x25); + uint64_t x44, uint64_t x45 = mulx_u64(x5, x27); + uint64_t x47, uint64_t x48 = mulx_u64(x5, x26); + uint64_t x50, uint8_t x51 = addcarryx_u64(0x0, x30, x32); + uint64_t x53, uint8_t x54 = addcarryx_u64(x51, x33, x35); + uint64_t x56, uint8_t x57 = addcarryx_u64(x54, x36, x38); + uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x39, x41); + uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x42, x44); + uint64_t x65, uint8_t x66 = addcarryx_u64(x63, x45, x47); + uint64_t x68, uint8_t _ = addcarryx_u64(0x0, x66, x48); + uint64_t x71, uint64_t _ = mulx_u64(x29, 0xef7bdef7bdef7bdfL); + uint64_t x74, uint64_t x75 = mulx_u64(x71, 0xffffffffffffffe1L); + uint64_t x77, uint64_t x78 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x80, uint64_t x81 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x83, uint64_t x84 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x86, uint64_t x87 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x89, uint64_t x90 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x92, uint64_t x93 = mulx_u64(x71, 0x1ffff); + uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x75, x77); + uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x78, x80); + uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x81, x83); + uint64_t x104, uint8_t x105 = addcarryx_u64(x102, x84, x86); + uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x87, x89); + uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x90, x92); + uint64_t x113, uint8_t _ = addcarryx_u64(0x0, x111, x93); + uint64_t _, uint8_t x117 = addcarryx_u64(0x0, x29, x74); + uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x50, x95); + uint64_t x122, uint8_t x123 = addcarryx_u64(x120, x53, x98); + uint64_t x125, uint8_t x126 = addcarryx_u64(x123, x56, x101); + uint64_t x128, uint8_t x129 = addcarryx_u64(x126, x59, x104); + uint64_t x131, uint8_t x132 = addcarryx_u64(x129, x62, x107); + uint64_t x134, uint8_t x135 = addcarryx_u64(x132, x65, x110); + uint64_t x137, uint8_t x138 = addcarryx_u64(x135, x68, x113); + uint64_t x140, uint64_t x141 = mulx_u64(x7, x17); + uint64_t x143, uint64_t x144 = mulx_u64(x7, x19); + uint64_t x146, uint64_t x147 = mulx_u64(x7, x21); + uint64_t x149, uint64_t x150 = mulx_u64(x7, x23); + uint64_t x152, uint64_t x153 = mulx_u64(x7, x25); + uint64_t x155, uint64_t x156 = mulx_u64(x7, x27); + uint64_t x158, uint64_t x159 = mulx_u64(x7, x26); + uint64_t x161, uint8_t x162 = addcarryx_u64(0x0, x141, x143); + uint64_t x164, uint8_t x165 = addcarryx_u64(x162, x144, x146); + uint64_t x167, uint8_t x168 = addcarryx_u64(x165, x147, x149); + uint64_t x170, uint8_t x171 = addcarryx_u64(x168, x150, x152); + uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x153, x155); + uint64_t x176, uint8_t x177 = addcarryx_u64(x174, x156, x158); + uint64_t x179, uint8_t _ = addcarryx_u64(0x0, x177, x159); + uint64_t x182, uint8_t x183 = addcarryx_u64(0x0, x119, x140); + uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x122, x161); + uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x125, x164); + uint64_t x191, uint8_t x192 = addcarryx_u64(x189, x128, x167); + uint64_t x194, uint8_t x195 = addcarryx_u64(x192, x131, x170); + uint64_t x197, uint8_t x198 = addcarryx_u64(x195, x134, x173); + uint64_t x200, uint8_t x201 = addcarryx_u64(x198, x137, x176); + uint64_t x203, uint8_t x204 = addcarryx_u64(x201, x138, x179); + uint64_t x206, uint64_t _ = mulx_u64(x182, 0xef7bdef7bdef7bdfL); + uint64_t x209, uint64_t x210 = mulx_u64(x206, 0xffffffffffffffe1L); + uint64_t x212, uint64_t x213 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x215, uint64_t x216 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x218, uint64_t x219 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x221, uint64_t x222 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x224, uint64_t x225 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x227, uint64_t x228 = mulx_u64(x206, 0x1ffff); + uint64_t x230, uint8_t x231 = addcarryx_u64(0x0, x210, x212); + uint64_t x233, uint8_t x234 = addcarryx_u64(x231, x213, x215); + uint64_t x236, uint8_t x237 = addcarryx_u64(x234, x216, x218); + uint64_t x239, uint8_t x240 = addcarryx_u64(x237, x219, x221); + uint64_t x242, uint8_t x243 = addcarryx_u64(x240, x222, x224); + uint64_t x245, uint8_t x246 = addcarryx_u64(x243, x225, x227); + uint64_t x248, uint8_t _ = addcarryx_u64(0x0, x246, x228); + uint64_t _, uint8_t x252 = addcarryx_u64(0x0, x182, x209); + uint64_t x254, uint8_t x255 = addcarryx_u64(x252, x185, x230); + uint64_t x257, uint8_t x258 = addcarryx_u64(x255, x188, x233); + uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x191, x236); + uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x194, x239); + uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x197, x242); + uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x200, x245); + uint64_t x272, uint8_t x273 = addcarryx_u64(x270, x203, x248); + uint8_t x274 = (x273 + x204); + uint64_t x276, uint64_t x277 = mulx_u64(x9, x17); + uint64_t x279, uint64_t x280 = mulx_u64(x9, x19); + uint64_t x282, uint64_t x283 = mulx_u64(x9, x21); + uint64_t x285, uint64_t x286 = mulx_u64(x9, x23); + uint64_t x288, uint64_t x289 = mulx_u64(x9, x25); + uint64_t x291, uint64_t x292 = mulx_u64(x9, x27); + uint64_t x294, uint64_t x295 = mulx_u64(x9, x26); + uint64_t x297, uint8_t x298 = addcarryx_u64(0x0, x277, x279); + uint64_t x300, uint8_t x301 = addcarryx_u64(x298, x280, x282); + uint64_t x303, uint8_t x304 = addcarryx_u64(x301, x283, x285); + uint64_t x306, uint8_t x307 = addcarryx_u64(x304, x286, x288); + uint64_t x309, uint8_t x310 = addcarryx_u64(x307, x289, x291); + uint64_t x312, uint8_t x313 = addcarryx_u64(x310, x292, x294); + uint64_t x315, uint8_t _ = addcarryx_u64(0x0, x313, x295); + uint64_t x318, uint8_t x319 = addcarryx_u64(0x0, x254, x276); + uint64_t x321, uint8_t x322 = addcarryx_u64(x319, x257, x297); + uint64_t x324, uint8_t x325 = addcarryx_u64(x322, x260, x300); + uint64_t x327, uint8_t x328 = addcarryx_u64(x325, x263, x303); + uint64_t x330, uint8_t x331 = addcarryx_u64(x328, x266, x306); + uint64_t x333, uint8_t x334 = addcarryx_u64(x331, x269, x309); + uint64_t x336, uint8_t x337 = addcarryx_u64(x334, x272, x312); + uint64_t x339, uint8_t x340 = addcarryx_u64(x337, x274, x315); + uint64_t x342, uint64_t _ = mulx_u64(x318, 0xef7bdef7bdef7bdfL); + uint64_t x345, uint64_t x346 = mulx_u64(x342, 0xffffffffffffffe1L); + uint64_t x348, uint64_t x349 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x351, uint64_t x352 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x354, uint64_t x355 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x357, uint64_t x358 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x360, uint64_t x361 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x363, uint64_t x364 = mulx_u64(x342, 0x1ffff); + uint64_t x366, uint8_t x367 = addcarryx_u64(0x0, x346, x348); + uint64_t x369, uint8_t x370 = addcarryx_u64(x367, x349, x351); + uint64_t x372, uint8_t x373 = addcarryx_u64(x370, x352, x354); + uint64_t x375, uint8_t x376 = addcarryx_u64(x373, x355, x357); + uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x358, x360); + uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x361, x363); + uint64_t x384, uint8_t _ = addcarryx_u64(0x0, x382, x364); + uint64_t _, uint8_t x388 = addcarryx_u64(0x0, x318, x345); + uint64_t x390, uint8_t x391 = addcarryx_u64(x388, x321, x366); + uint64_t x393, uint8_t x394 = addcarryx_u64(x391, x324, x369); + uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x327, x372); + uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x330, x375); + uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x333, x378); + uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x336, x381); + uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x339, x384); + uint8_t x410 = (x409 + x340); + uint64_t x412, uint64_t x413 = mulx_u64(x11, x17); + uint64_t x415, uint64_t x416 = mulx_u64(x11, x19); + uint64_t x418, uint64_t x419 = mulx_u64(x11, x21); + uint64_t x421, uint64_t x422 = mulx_u64(x11, x23); + uint64_t x424, uint64_t x425 = mulx_u64(x11, x25); + uint64_t x427, uint64_t x428 = mulx_u64(x11, x27); + uint64_t x430, uint64_t x431 = mulx_u64(x11, x26); + uint64_t x433, uint8_t x434 = addcarryx_u64(0x0, x413, x415); + uint64_t x436, uint8_t x437 = addcarryx_u64(x434, x416, x418); + uint64_t x439, uint8_t x440 = addcarryx_u64(x437, x419, x421); + uint64_t x442, uint8_t x443 = addcarryx_u64(x440, x422, x424); + uint64_t x445, uint8_t x446 = addcarryx_u64(x443, x425, x427); + uint64_t x448, uint8_t x449 = addcarryx_u64(x446, x428, x430); + uint64_t x451, uint8_t _ = addcarryx_u64(0x0, x449, x431); + uint64_t x454, uint8_t x455 = addcarryx_u64(0x0, x390, x412); + uint64_t x457, uint8_t x458 = addcarryx_u64(x455, x393, x433); + uint64_t x460, uint8_t x461 = addcarryx_u64(x458, x396, x436); + uint64_t x463, uint8_t x464 = addcarryx_u64(x461, x399, x439); + uint64_t x466, uint8_t x467 = addcarryx_u64(x464, x402, x442); + uint64_t x469, uint8_t x470 = addcarryx_u64(x467, x405, x445); + uint64_t x472, uint8_t x473 = addcarryx_u64(x470, x408, x448); + uint64_t x475, uint8_t x476 = addcarryx_u64(x473, x410, x451); + uint64_t x478, uint64_t _ = mulx_u64(x454, 0xef7bdef7bdef7bdfL); + uint64_t x481, uint64_t x482 = mulx_u64(x478, 0xffffffffffffffe1L); + uint64_t x484, uint64_t x485 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x487, uint64_t x488 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x490, uint64_t x491 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x493, uint64_t x494 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x496, uint64_t x497 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x499, uint64_t x500 = mulx_u64(x478, 0x1ffff); + uint64_t x502, uint8_t x503 = addcarryx_u64(0x0, x482, x484); + uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x485, x487); + uint64_t x508, uint8_t x509 = addcarryx_u64(x506, x488, x490); + uint64_t x511, uint8_t x512 = addcarryx_u64(x509, x491, x493); + uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x494, x496); + uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x497, x499); + uint64_t x520, uint8_t _ = addcarryx_u64(0x0, x518, x500); + uint64_t _, uint8_t x524 = addcarryx_u64(0x0, x454, x481); + uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x457, x502); + uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x460, x505); + uint64_t x532, uint8_t x533 = addcarryx_u64(x530, x463, x508); + uint64_t x535, uint8_t x536 = addcarryx_u64(x533, x466, x511); + uint64_t x538, uint8_t x539 = addcarryx_u64(x536, x469, x514); + uint64_t x541, uint8_t x542 = addcarryx_u64(x539, x472, x517); + uint64_t x544, uint8_t x545 = addcarryx_u64(x542, x475, x520); + uint8_t x546 = (x545 + x476); + uint64_t x548, uint64_t x549 = mulx_u64(x13, x17); + uint64_t x551, uint64_t x552 = mulx_u64(x13, x19); + uint64_t x554, uint64_t x555 = mulx_u64(x13, x21); + uint64_t x557, uint64_t x558 = mulx_u64(x13, x23); + uint64_t x560, uint64_t x561 = mulx_u64(x13, x25); + uint64_t x563, uint64_t x564 = mulx_u64(x13, x27); + uint64_t x566, uint64_t x567 = mulx_u64(x13, x26); + uint64_t x569, uint8_t x570 = addcarryx_u64(0x0, x549, x551); + uint64_t x572, uint8_t x573 = addcarryx_u64(x570, x552, x554); + uint64_t x575, uint8_t x576 = addcarryx_u64(x573, x555, x557); + uint64_t x578, uint8_t x579 = addcarryx_u64(x576, x558, x560); + uint64_t x581, uint8_t x582 = addcarryx_u64(x579, x561, x563); + uint64_t x584, uint8_t x585 = addcarryx_u64(x582, x564, x566); + uint64_t x587, uint8_t _ = addcarryx_u64(0x0, x585, x567); + uint64_t x590, uint8_t x591 = addcarryx_u64(0x0, x526, x548); + uint64_t x593, uint8_t x594 = addcarryx_u64(x591, x529, x569); + uint64_t x596, uint8_t x597 = addcarryx_u64(x594, x532, x572); + uint64_t x599, uint8_t x600 = addcarryx_u64(x597, x535, x575); + uint64_t x602, uint8_t x603 = addcarryx_u64(x600, x538, x578); + uint64_t x605, uint8_t x606 = addcarryx_u64(x603, x541, x581); + uint64_t x608, uint8_t x609 = addcarryx_u64(x606, x544, x584); + uint64_t x611, uint8_t x612 = addcarryx_u64(x609, x546, x587); + uint64_t x614, uint64_t _ = mulx_u64(x590, 0xef7bdef7bdef7bdfL); + uint64_t x617, uint64_t x618 = mulx_u64(x614, 0xffffffffffffffe1L); + uint64_t x620, uint64_t x621 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x623, uint64_t x624 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x626, uint64_t x627 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x629, uint64_t x630 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x632, uint64_t x633 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x635, uint64_t x636 = mulx_u64(x614, 0x1ffff); + uint64_t x638, uint8_t x639 = addcarryx_u64(0x0, x618, x620); + uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x621, x623); + uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x624, x626); + uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x627, x629); + uint64_t x650, uint8_t x651 = addcarryx_u64(x648, x630, x632); + uint64_t x653, uint8_t x654 = addcarryx_u64(x651, x633, x635); + uint64_t x656, uint8_t _ = addcarryx_u64(0x0, x654, x636); + uint64_t _, uint8_t x660 = addcarryx_u64(0x0, x590, x617); + uint64_t x662, uint8_t x663 = addcarryx_u64(x660, x593, x638); + uint64_t x665, uint8_t x666 = addcarryx_u64(x663, x596, x641); + uint64_t x668, uint8_t x669 = addcarryx_u64(x666, x599, x644); + uint64_t x671, uint8_t x672 = addcarryx_u64(x669, x602, x647); + uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x605, x650); + uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x608, x653); + uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x611, x656); + uint8_t x682 = (x681 + x612); + uint64_t x684, uint64_t x685 = mulx_u64(x15, x17); + uint64_t x687, uint64_t x688 = mulx_u64(x15, x19); + uint64_t x690, uint64_t x691 = mulx_u64(x15, x21); + uint64_t x693, uint64_t x694 = mulx_u64(x15, x23); + uint64_t x696, uint64_t x697 = mulx_u64(x15, x25); + uint64_t x699, uint64_t x700 = mulx_u64(x15, x27); + uint64_t x702, uint64_t x703 = mulx_u64(x15, x26); + uint64_t x705, uint8_t x706 = addcarryx_u64(0x0, x685, x687); + uint64_t x708, uint8_t x709 = addcarryx_u64(x706, x688, x690); + uint64_t x711, uint8_t x712 = addcarryx_u64(x709, x691, x693); + uint64_t x714, uint8_t x715 = addcarryx_u64(x712, x694, x696); + uint64_t x717, uint8_t x718 = addcarryx_u64(x715, x697, x699); + uint64_t x720, uint8_t x721 = addcarryx_u64(x718, x700, x702); + uint64_t x723, uint8_t _ = addcarryx_u64(0x0, x721, x703); + uint64_t x726, uint8_t x727 = addcarryx_u64(0x0, x662, x684); + uint64_t x729, uint8_t x730 = addcarryx_u64(x727, x665, x705); + uint64_t x732, uint8_t x733 = addcarryx_u64(x730, x668, x708); + uint64_t x735, uint8_t x736 = addcarryx_u64(x733, x671, x711); + uint64_t x738, uint8_t x739 = addcarryx_u64(x736, x674, x714); + uint64_t x741, uint8_t x742 = addcarryx_u64(x739, x677, x717); + uint64_t x744, uint8_t x745 = addcarryx_u64(x742, x680, x720); + uint64_t x747, uint8_t x748 = addcarryx_u64(x745, x682, x723); + uint64_t x750, uint64_t _ = mulx_u64(x726, 0xef7bdef7bdef7bdfL); + uint64_t x753, uint64_t x754 = mulx_u64(x750, 0xffffffffffffffe1L); + uint64_t x756, uint64_t x757 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x759, uint64_t x760 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x762, uint64_t x763 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x765, uint64_t x766 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x768, uint64_t x769 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x771, uint64_t x772 = mulx_u64(x750, 0x1ffff); + uint64_t x774, uint8_t x775 = addcarryx_u64(0x0, x754, x756); + uint64_t x777, uint8_t x778 = addcarryx_u64(x775, x757, x759); + uint64_t x780, uint8_t x781 = addcarryx_u64(x778, x760, x762); + uint64_t x783, uint8_t x784 = addcarryx_u64(x781, x763, x765); + uint64_t x786, uint8_t x787 = addcarryx_u64(x784, x766, x768); + uint64_t x789, uint8_t x790 = addcarryx_u64(x787, x769, x771); + uint64_t x792, uint8_t _ = addcarryx_u64(0x0, x790, x772); + uint64_t _, uint8_t x796 = addcarryx_u64(0x0, x726, x753); + uint64_t x798, uint8_t x799 = addcarryx_u64(x796, x729, x774); + uint64_t x801, uint8_t x802 = addcarryx_u64(x799, x732, x777); + uint64_t x804, uint8_t x805 = addcarryx_u64(x802, x735, x780); + uint64_t x807, uint8_t x808 = addcarryx_u64(x805, x738, x783); + uint64_t x810, uint8_t x811 = addcarryx_u64(x808, x741, x786); + uint64_t x813, uint8_t x814 = addcarryx_u64(x811, x744, x789); + uint64_t x816, uint8_t x817 = addcarryx_u64(x814, x747, x792); + uint8_t x818 = (x817 + x748); + uint64_t x820, uint64_t x821 = mulx_u64(x14, x17); + uint64_t x823, uint64_t x824 = mulx_u64(x14, x19); + uint64_t x826, uint64_t x827 = mulx_u64(x14, x21); + uint64_t x829, uint64_t x830 = mulx_u64(x14, x23); + uint64_t x832, uint64_t x833 = mulx_u64(x14, x25); + uint64_t x835, uint64_t x836 = mulx_u64(x14, x27); + uint64_t x838, uint64_t x839 = mulx_u64(x14, x26); + uint64_t x841, uint8_t x842 = addcarryx_u64(0x0, x821, x823); + uint64_t x844, uint8_t x845 = addcarryx_u64(x842, x824, x826); + uint64_t x847, uint8_t x848 = addcarryx_u64(x845, x827, x829); + uint64_t x850, uint8_t x851 = addcarryx_u64(x848, x830, x832); + uint64_t x853, uint8_t x854 = addcarryx_u64(x851, x833, x835); + uint64_t x856, uint8_t x857 = addcarryx_u64(x854, x836, x838); + uint64_t x859, uint8_t _ = addcarryx_u64(0x0, x857, x839); + uint64_t x862, uint8_t x863 = addcarryx_u64(0x0, x798, x820); + uint64_t x865, uint8_t x866 = addcarryx_u64(x863, x801, x841); + uint64_t x868, uint8_t x869 = addcarryx_u64(x866, x804, x844); + uint64_t x871, uint8_t x872 = addcarryx_u64(x869, x807, x847); + uint64_t x874, uint8_t x875 = addcarryx_u64(x872, x810, x850); + uint64_t x877, uint8_t x878 = addcarryx_u64(x875, x813, x853); + uint64_t x880, uint8_t x881 = addcarryx_u64(x878, x816, x856); + uint64_t x883, uint8_t x884 = addcarryx_u64(x881, x818, x859); + uint64_t x886, uint64_t _ = mulx_u64(x862, 0xef7bdef7bdef7bdfL); + uint64_t x889, uint64_t x890 = mulx_u64(x886, 0xffffffffffffffe1L); + uint64_t x892, uint64_t x893 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x895, uint64_t x896 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x898, uint64_t x899 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x901, uint64_t x902 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x904, uint64_t x905 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x907, uint64_t x908 = mulx_u64(x886, 0x1ffff); + uint64_t x910, uint8_t x911 = addcarryx_u64(0x0, x890, x892); + uint64_t x913, uint8_t x914 = addcarryx_u64(x911, x893, x895); + uint64_t x916, uint8_t x917 = addcarryx_u64(x914, x896, x898); + uint64_t x919, uint8_t x920 = addcarryx_u64(x917, x899, x901); + uint64_t x922, uint8_t x923 = addcarryx_u64(x920, x902, x904); + uint64_t x925, uint8_t x926 = addcarryx_u64(x923, x905, x907); + uint64_t x928, uint8_t _ = addcarryx_u64(0x0, x926, x908); + uint64_t _, uint8_t x932 = addcarryx_u64(0x0, x862, x889); + uint64_t x934, uint8_t x935 = addcarryx_u64(x932, x865, x910); + uint64_t x937, uint8_t x938 = addcarryx_u64(x935, x868, x913); + uint64_t x940, uint8_t x941 = addcarryx_u64(x938, x871, x916); + uint64_t x943, uint8_t x944 = addcarryx_u64(x941, x874, x919); + uint64_t x946, uint8_t x947 = addcarryx_u64(x944, x877, x922); + uint64_t x949, uint8_t x950 = addcarryx_u64(x947, x880, x925); + uint64_t x952, uint8_t x953 = addcarryx_u64(x950, x883, x928); + uint8_t x954 = (x953 + x884); + uint64_t x956, uint8_t x957 = subborrow_u64(0x0, x934, 0xffffffffffffffe1L); + uint64_t x959, uint8_t x960 = subborrow_u64(x957, x937, 0xffffffffffffffffL); + uint64_t x962, uint8_t x963 = subborrow_u64(x960, x940, 0xffffffffffffffffL); + uint64_t x965, uint8_t x966 = subborrow_u64(x963, x943, 0xffffffffffffffffL); + uint64_t x968, uint8_t x969 = subborrow_u64(x966, x946, 0xffffffffffffffffL); + uint64_t x971, uint8_t x972 = subborrow_u64(x969, x949, 0xffffffffffffffffL); + uint64_t x974, uint8_t x975 = subborrow_u64(x972, x952, 0x1ffff); + uint64_t _, uint8_t x978 = subborrow_u64(x975, x954, 0x0); + uint64_t x979 = cmovznz(x978, x974, x952); + uint64_t x980 = cmovznz(x978, x971, x949); + uint64_t x981 = cmovznz(x978, x968, x946); + uint64_t x982 = cmovznz(x978, x965, x943); + uint64_t x983 = cmovznz(x978, x962, x940); + uint64_t x984 = cmovznz(x978, x959, x937); + uint64_t x985 = cmovznz(x978, x956, x934); + return (x979, x980, x981, x982, x983, x984, x985)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e401m31/feoppDisplay.log b/src/Specific/montgomery64_2e401m31/feoppDisplay.log new file mode 100644 index 000000000..4f2dceeb6 --- /dev/null +++ b/src/Specific/montgomery64_2e401m31/feoppDisplay.log @@ -0,0 +1,29 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x11, x12, x10, x8, x6, x4, x2)%core, + uint64_t x14, uint8_t x15 = subborrow_u64(0x0, 0x0, x2); + uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x4); + uint64_t x20, uint8_t x21 = subborrow_u64(x18, 0x0, x6); + uint64_t x23, uint8_t x24 = subborrow_u64(x21, 0x0, x8); + uint64_t x26, uint8_t x27 = subborrow_u64(x24, 0x0, x10); + uint64_t x29, uint8_t x30 = subborrow_u64(x27, 0x0, x12); + uint64_t x32, uint8_t x33 = subborrow_u64(x30, 0x0, x11); + uint64_t x34 = (uint64_t)cmovznz(x33, 0x0, 0xffffffffffffffffL); + uint64_t x35 = (x34 & 0xffffffffffffffe1L); + uint64_t x37, uint8_t x38 = addcarryx_u64(0x0, x14, x35); + uint64_t x39 = (x34 & 0xffffffffffffffffL); + uint64_t x41, uint8_t x42 = addcarryx_u64(x38, x17, x39); + uint64_t x43 = (x34 & 0xffffffffffffffffL); + uint64_t x45, uint8_t x46 = addcarryx_u64(x42, x20, x43); + uint64_t x47 = (x34 & 0xffffffffffffffffL); + uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x23, x47); + uint64_t x51 = (x34 & 0xffffffffffffffffL); + uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x26, x51); + uint64_t x55 = (x34 & 0xffffffffffffffffL); + uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x29, x55); + uint64_t x59 = (x34 & 0x1ffff); + uint64_t x61, uint8_t _ = addcarryx_u64(x58, x32, x59); + (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e401m31/fesubDisplay.log b/src/Specific/montgomery64_2e401m31/fesubDisplay.log new file mode 100644 index 000000000..570647ac0 --- /dev/null +++ b/src/Specific/montgomery64_2e401m31/fesubDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x5, x17); + uint64_t x32, uint8_t x33 = subborrow_u64(x30, x7, x19); + uint64_t x35, uint8_t x36 = subborrow_u64(x33, x9, x21); + uint64_t x38, uint8_t x39 = subborrow_u64(x36, x11, x23); + uint64_t x41, uint8_t x42 = subborrow_u64(x39, x13, x25); + uint64_t x44, uint8_t x45 = subborrow_u64(x42, x15, x27); + uint64_t x47, uint8_t x48 = subborrow_u64(x45, x14, x26); + uint64_t x49 = (uint64_t)cmovznz(x48, 0x0, 0xffffffffffffffffL); + uint64_t x50 = (x49 & 0xffffffffffffffe1L); + uint64_t x52, uint8_t x53 = addcarryx_u64(0x0, x29, x50); + uint64_t x54 = (x49 & 0xffffffffffffffffL); + uint64_t x56, uint8_t x57 = addcarryx_u64(x53, x32, x54); + uint64_t x58 = (x49 & 0xffffffffffffffffL); + uint64_t x60, uint8_t x61 = addcarryx_u64(x57, x35, x58); + uint64_t x62 = (x49 & 0xffffffffffffffffL); + uint64_t x64, uint8_t x65 = addcarryx_u64(x61, x38, x62); + uint64_t x66 = (x49 & 0xffffffffffffffffL); + uint64_t x68, uint8_t x69 = addcarryx_u64(x65, x41, x66); + uint64_t x70 = (x49 & 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = addcarryx_u64(x69, x44, x70); + uint64_t x74 = (x49 & 0x1ffff); + uint64_t x76, uint8_t _ = addcarryx_u64(x73, x47, x74); + (Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e413m21/feaddDisplay.log b/src/Specific/montgomery64_2e413m21/feaddDisplay.log new file mode 100644 index 000000000..85be5f860 --- /dev/null +++ b/src/Specific/montgomery64_2e413m21/feaddDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x5, x17); + uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x7, x19); + uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x9, x21); + uint64_t x38, uint8_t x39 = addcarryx_u64(x36, x11, x23); + uint64_t x41, uint8_t x42 = addcarryx_u64(x39, x13, x25); + uint64_t x44, uint8_t x45 = addcarryx_u64(x42, x15, x27); + uint64_t x47, uint8_t x48 = addcarryx_u64(x45, x14, x26); + uint64_t x50, uint8_t x51 = subborrow_u64(0x0, x29, 0xffffffffffffffebL); + uint64_t x53, uint8_t x54 = subborrow_u64(x51, x32, 0xffffffffffffffffL); + uint64_t x56, uint8_t x57 = subborrow_u64(x54, x35, 0xffffffffffffffffL); + uint64_t x59, uint8_t x60 = subborrow_u64(x57, x38, 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = subborrow_u64(x60, x41, 0xffffffffffffffffL); + uint64_t x65, uint8_t x66 = subborrow_u64(x63, x44, 0xffffffffffffffffL); + uint64_t x68, uint8_t x69 = subborrow_u64(x66, x47, 0x1fffffff); + uint64_t _, uint8_t x72 = subborrow_u64(x69, x48, 0x0); + uint64_t x73 = cmovznz(x72, x68, x47); + uint64_t x74 = cmovznz(x72, x65, x44); + uint64_t x75 = cmovznz(x72, x62, x41); + uint64_t x76 = cmovznz(x72, x59, x38); + uint64_t x77 = cmovznz(x72, x56, x35); + uint64_t x78 = cmovznz(x72, x53, x32); + uint64_t x79 = cmovznz(x72, x50, x29); + return (x73, x74, x75, x76, x77, x78, x79)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e413m21/feoppDisplay.log b/src/Specific/montgomery64_2e413m21/feoppDisplay.log new file mode 100644 index 000000000..09dc52a59 --- /dev/null +++ b/src/Specific/montgomery64_2e413m21/feoppDisplay.log @@ -0,0 +1,29 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x11, x12, x10, x8, x6, x4, x2)%core, + uint64_t x14, uint8_t x15 = subborrow_u64(0x0, 0x0, x2); + uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x4); + uint64_t x20, uint8_t x21 = subborrow_u64(x18, 0x0, x6); + uint64_t x23, uint8_t x24 = subborrow_u64(x21, 0x0, x8); + uint64_t x26, uint8_t x27 = subborrow_u64(x24, 0x0, x10); + uint64_t x29, uint8_t x30 = subborrow_u64(x27, 0x0, x12); + uint64_t x32, uint8_t x33 = subborrow_u64(x30, 0x0, x11); + uint64_t x34 = (uint64_t)cmovznz(x33, 0x0, 0xffffffffffffffffL); + uint64_t x35 = (x34 & 0xffffffffffffffebL); + uint64_t x37, uint8_t x38 = addcarryx_u64(0x0, x14, x35); + uint64_t x39 = (x34 & 0xffffffffffffffffL); + uint64_t x41, uint8_t x42 = addcarryx_u64(x38, x17, x39); + uint64_t x43 = (x34 & 0xffffffffffffffffL); + uint64_t x45, uint8_t x46 = addcarryx_u64(x42, x20, x43); + uint64_t x47 = (x34 & 0xffffffffffffffffL); + uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x23, x47); + uint64_t x51 = (x34 & 0xffffffffffffffffL); + uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x26, x51); + uint64_t x55 = (x34 & 0xffffffffffffffffL); + uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x29, x55); + uint64_t x59 = (x34 & 0x1fffffff); + uint64_t x61, uint8_t _ = addcarryx_u64(x58, x32, x59); + (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e413m21/fesubDisplay.log b/src/Specific/montgomery64_2e413m21/fesubDisplay.log new file mode 100644 index 000000000..c4f0083b3 --- /dev/null +++ b/src/Specific/montgomery64_2e413m21/fesubDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x5, x17); + uint64_t x32, uint8_t x33 = subborrow_u64(x30, x7, x19); + uint64_t x35, uint8_t x36 = subborrow_u64(x33, x9, x21); + uint64_t x38, uint8_t x39 = subborrow_u64(x36, x11, x23); + uint64_t x41, uint8_t x42 = subborrow_u64(x39, x13, x25); + uint64_t x44, uint8_t x45 = subborrow_u64(x42, x15, x27); + uint64_t x47, uint8_t x48 = subborrow_u64(x45, x14, x26); + uint64_t x49 = (uint64_t)cmovznz(x48, 0x0, 0xffffffffffffffffL); + uint64_t x50 = (x49 & 0xffffffffffffffebL); + uint64_t x52, uint8_t x53 = addcarryx_u64(0x0, x29, x50); + uint64_t x54 = (x49 & 0xffffffffffffffffL); + uint64_t x56, uint8_t x57 = addcarryx_u64(x53, x32, x54); + uint64_t x58 = (x49 & 0xffffffffffffffffL); + uint64_t x60, uint8_t x61 = addcarryx_u64(x57, x35, x58); + uint64_t x62 = (x49 & 0xffffffffffffffffL); + uint64_t x64, uint8_t x65 = addcarryx_u64(x61, x38, x62); + uint64_t x66 = (x49 & 0xffffffffffffffffL); + uint64_t x68, uint8_t x69 = addcarryx_u64(x65, x41, x66); + uint64_t x70 = (x49 & 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = addcarryx_u64(x69, x44, x70); + uint64_t x74 = (x49 & 0x1fffffff); + uint64_t x76, uint8_t _ = addcarryx_u64(x73, x47, x74); + (Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e414m17/feaddDisplay.log b/src/Specific/montgomery64_2e414m17/feaddDisplay.log new file mode 100644 index 000000000..693e4644b --- /dev/null +++ b/src/Specific/montgomery64_2e414m17/feaddDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x5, x17); + uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x7, x19); + uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x9, x21); + uint64_t x38, uint8_t x39 = addcarryx_u64(x36, x11, x23); + uint64_t x41, uint8_t x42 = addcarryx_u64(x39, x13, x25); + uint64_t x44, uint8_t x45 = addcarryx_u64(x42, x15, x27); + uint64_t x47, uint8_t x48 = addcarryx_u64(x45, x14, x26); + uint64_t x50, uint8_t x51 = subborrow_u64(0x0, x29, 0xffffffffffffffefL); + uint64_t x53, uint8_t x54 = subborrow_u64(x51, x32, 0xffffffffffffffffL); + uint64_t x56, uint8_t x57 = subborrow_u64(x54, x35, 0xffffffffffffffffL); + uint64_t x59, uint8_t x60 = subborrow_u64(x57, x38, 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = subborrow_u64(x60, x41, 0xffffffffffffffffL); + uint64_t x65, uint8_t x66 = subborrow_u64(x63, x44, 0xffffffffffffffffL); + uint64_t x68, uint8_t x69 = subborrow_u64(x66, x47, 0x3fffffff); + uint64_t _, uint8_t x72 = subborrow_u64(x69, x48, 0x0); + uint64_t x73 = cmovznz(x72, x68, x47); + uint64_t x74 = cmovznz(x72, x65, x44); + uint64_t x75 = cmovznz(x72, x62, x41); + uint64_t x76 = cmovznz(x72, x59, x38); + uint64_t x77 = cmovznz(x72, x56, x35); + uint64_t x78 = cmovznz(x72, x53, x32); + uint64_t x79 = cmovznz(x72, x50, x29); + return (x73, x74, x75, x76, x77, x78, x79)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e414m17/femulDisplay.log b/src/Specific/montgomery64_2e414m17/femulDisplay.log new file mode 100644 index 000000000..a2258ff07 --- /dev/null +++ b/src/Specific/montgomery64_2e414m17/femulDisplay.log @@ -0,0 +1,335 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint64_t x30 = mulx_u64(x5, x17); + uint64_t x32, uint64_t x33 = mulx_u64(x5, x19); + uint64_t x35, uint64_t x36 = mulx_u64(x5, x21); + uint64_t x38, uint64_t x39 = mulx_u64(x5, x23); + uint64_t x41, uint64_t x42 = mulx_u64(x5, x25); + uint64_t x44, uint64_t x45 = mulx_u64(x5, x27); + uint64_t x47, uint64_t x48 = mulx_u64(x5, x26); + uint64_t x50, uint8_t x51 = addcarryx_u64(0x0, x30, x32); + uint64_t x53, uint8_t x54 = addcarryx_u64(x51, x33, x35); + uint64_t x56, uint8_t x57 = addcarryx_u64(x54, x36, x38); + uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x39, x41); + uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x42, x44); + uint64_t x65, uint8_t x66 = addcarryx_u64(x63, x45, x47); + uint64_t x68, uint8_t _ = addcarryx_u64(0x0, x66, x48); + uint64_t x71, uint64_t _ = mulx_u64(x29, 0xf0f0f0f0f0f0f0f1L); + uint64_t x74, uint64_t x75 = mulx_u64(x71, 0xffffffffffffffefL); + uint64_t x77, uint64_t x78 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x80, uint64_t x81 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x83, uint64_t x84 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x86, uint64_t x87 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x89, uint64_t x90 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x92, uint64_t x93 = mulx_u64(x71, 0x3fffffff); + uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x75, x77); + uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x78, x80); + uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x81, x83); + uint64_t x104, uint8_t x105 = addcarryx_u64(x102, x84, x86); + uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x87, x89); + uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x90, x92); + uint64_t x113, uint8_t _ = addcarryx_u64(0x0, x111, x93); + uint64_t _, uint8_t x117 = addcarryx_u64(0x0, x29, x74); + uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x50, x95); + uint64_t x122, uint8_t x123 = addcarryx_u64(x120, x53, x98); + uint64_t x125, uint8_t x126 = addcarryx_u64(x123, x56, x101); + uint64_t x128, uint8_t x129 = addcarryx_u64(x126, x59, x104); + uint64_t x131, uint8_t x132 = addcarryx_u64(x129, x62, x107); + uint64_t x134, uint8_t x135 = addcarryx_u64(x132, x65, x110); + uint64_t x137, uint8_t x138 = addcarryx_u64(x135, x68, x113); + uint64_t x140, uint64_t x141 = mulx_u64(x7, x17); + uint64_t x143, uint64_t x144 = mulx_u64(x7, x19); + uint64_t x146, uint64_t x147 = mulx_u64(x7, x21); + uint64_t x149, uint64_t x150 = mulx_u64(x7, x23); + uint64_t x152, uint64_t x153 = mulx_u64(x7, x25); + uint64_t x155, uint64_t x156 = mulx_u64(x7, x27); + uint64_t x158, uint64_t x159 = mulx_u64(x7, x26); + uint64_t x161, uint8_t x162 = addcarryx_u64(0x0, x141, x143); + uint64_t x164, uint8_t x165 = addcarryx_u64(x162, x144, x146); + uint64_t x167, uint8_t x168 = addcarryx_u64(x165, x147, x149); + uint64_t x170, uint8_t x171 = addcarryx_u64(x168, x150, x152); + uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x153, x155); + uint64_t x176, uint8_t x177 = addcarryx_u64(x174, x156, x158); + uint64_t x179, uint8_t _ = addcarryx_u64(0x0, x177, x159); + uint64_t x182, uint8_t x183 = addcarryx_u64(0x0, x119, x140); + uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x122, x161); + uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x125, x164); + uint64_t x191, uint8_t x192 = addcarryx_u64(x189, x128, x167); + uint64_t x194, uint8_t x195 = addcarryx_u64(x192, x131, x170); + uint64_t x197, uint8_t x198 = addcarryx_u64(x195, x134, x173); + uint64_t x200, uint8_t x201 = addcarryx_u64(x198, x137, x176); + uint64_t x203, uint8_t x204 = addcarryx_u64(x201, x138, x179); + uint64_t x206, uint64_t _ = mulx_u64(x182, 0xf0f0f0f0f0f0f0f1L); + uint64_t x209, uint64_t x210 = mulx_u64(x206, 0xffffffffffffffefL); + uint64_t x212, uint64_t x213 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x215, uint64_t x216 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x218, uint64_t x219 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x221, uint64_t x222 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x224, uint64_t x225 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x227, uint64_t x228 = mulx_u64(x206, 0x3fffffff); + uint64_t x230, uint8_t x231 = addcarryx_u64(0x0, x210, x212); + uint64_t x233, uint8_t x234 = addcarryx_u64(x231, x213, x215); + uint64_t x236, uint8_t x237 = addcarryx_u64(x234, x216, x218); + uint64_t x239, uint8_t x240 = addcarryx_u64(x237, x219, x221); + uint64_t x242, uint8_t x243 = addcarryx_u64(x240, x222, x224); + uint64_t x245, uint8_t x246 = addcarryx_u64(x243, x225, x227); + uint64_t x248, uint8_t _ = addcarryx_u64(0x0, x246, x228); + uint64_t _, uint8_t x252 = addcarryx_u64(0x0, x182, x209); + uint64_t x254, uint8_t x255 = addcarryx_u64(x252, x185, x230); + uint64_t x257, uint8_t x258 = addcarryx_u64(x255, x188, x233); + uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x191, x236); + uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x194, x239); + uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x197, x242); + uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x200, x245); + uint64_t x272, uint8_t x273 = addcarryx_u64(x270, x203, x248); + uint8_t x274 = (x273 + x204); + uint64_t x276, uint64_t x277 = mulx_u64(x9, x17); + uint64_t x279, uint64_t x280 = mulx_u64(x9, x19); + uint64_t x282, uint64_t x283 = mulx_u64(x9, x21); + uint64_t x285, uint64_t x286 = mulx_u64(x9, x23); + uint64_t x288, uint64_t x289 = mulx_u64(x9, x25); + uint64_t x291, uint64_t x292 = mulx_u64(x9, x27); + uint64_t x294, uint64_t x295 = mulx_u64(x9, x26); + uint64_t x297, uint8_t x298 = addcarryx_u64(0x0, x277, x279); + uint64_t x300, uint8_t x301 = addcarryx_u64(x298, x280, x282); + uint64_t x303, uint8_t x304 = addcarryx_u64(x301, x283, x285); + uint64_t x306, uint8_t x307 = addcarryx_u64(x304, x286, x288); + uint64_t x309, uint8_t x310 = addcarryx_u64(x307, x289, x291); + uint64_t x312, uint8_t x313 = addcarryx_u64(x310, x292, x294); + uint64_t x315, uint8_t _ = addcarryx_u64(0x0, x313, x295); + uint64_t x318, uint8_t x319 = addcarryx_u64(0x0, x254, x276); + uint64_t x321, uint8_t x322 = addcarryx_u64(x319, x257, x297); + uint64_t x324, uint8_t x325 = addcarryx_u64(x322, x260, x300); + uint64_t x327, uint8_t x328 = addcarryx_u64(x325, x263, x303); + uint64_t x330, uint8_t x331 = addcarryx_u64(x328, x266, x306); + uint64_t x333, uint8_t x334 = addcarryx_u64(x331, x269, x309); + uint64_t x336, uint8_t x337 = addcarryx_u64(x334, x272, x312); + uint64_t x339, uint8_t x340 = addcarryx_u64(x337, x274, x315); + uint64_t x342, uint64_t _ = mulx_u64(x318, 0xf0f0f0f0f0f0f0f1L); + uint64_t x345, uint64_t x346 = mulx_u64(x342, 0xffffffffffffffefL); + uint64_t x348, uint64_t x349 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x351, uint64_t x352 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x354, uint64_t x355 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x357, uint64_t x358 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x360, uint64_t x361 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x363, uint64_t x364 = mulx_u64(x342, 0x3fffffff); + uint64_t x366, uint8_t x367 = addcarryx_u64(0x0, x346, x348); + uint64_t x369, uint8_t x370 = addcarryx_u64(x367, x349, x351); + uint64_t x372, uint8_t x373 = addcarryx_u64(x370, x352, x354); + uint64_t x375, uint8_t x376 = addcarryx_u64(x373, x355, x357); + uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x358, x360); + uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x361, x363); + uint64_t x384, uint8_t _ = addcarryx_u64(0x0, x382, x364); + uint64_t _, uint8_t x388 = addcarryx_u64(0x0, x318, x345); + uint64_t x390, uint8_t x391 = addcarryx_u64(x388, x321, x366); + uint64_t x393, uint8_t x394 = addcarryx_u64(x391, x324, x369); + uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x327, x372); + uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x330, x375); + uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x333, x378); + uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x336, x381); + uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x339, x384); + uint8_t x410 = (x409 + x340); + uint64_t x412, uint64_t x413 = mulx_u64(x11, x17); + uint64_t x415, uint64_t x416 = mulx_u64(x11, x19); + uint64_t x418, uint64_t x419 = mulx_u64(x11, x21); + uint64_t x421, uint64_t x422 = mulx_u64(x11, x23); + uint64_t x424, uint64_t x425 = mulx_u64(x11, x25); + uint64_t x427, uint64_t x428 = mulx_u64(x11, x27); + uint64_t x430, uint64_t x431 = mulx_u64(x11, x26); + uint64_t x433, uint8_t x434 = addcarryx_u64(0x0, x413, x415); + uint64_t x436, uint8_t x437 = addcarryx_u64(x434, x416, x418); + uint64_t x439, uint8_t x440 = addcarryx_u64(x437, x419, x421); + uint64_t x442, uint8_t x443 = addcarryx_u64(x440, x422, x424); + uint64_t x445, uint8_t x446 = addcarryx_u64(x443, x425, x427); + uint64_t x448, uint8_t x449 = addcarryx_u64(x446, x428, x430); + uint64_t x451, uint8_t _ = addcarryx_u64(0x0, x449, x431); + uint64_t x454, uint8_t x455 = addcarryx_u64(0x0, x390, x412); + uint64_t x457, uint8_t x458 = addcarryx_u64(x455, x393, x433); + uint64_t x460, uint8_t x461 = addcarryx_u64(x458, x396, x436); + uint64_t x463, uint8_t x464 = addcarryx_u64(x461, x399, x439); + uint64_t x466, uint8_t x467 = addcarryx_u64(x464, x402, x442); + uint64_t x469, uint8_t x470 = addcarryx_u64(x467, x405, x445); + uint64_t x472, uint8_t x473 = addcarryx_u64(x470, x408, x448); + uint64_t x475, uint8_t x476 = addcarryx_u64(x473, x410, x451); + uint64_t x478, uint64_t _ = mulx_u64(x454, 0xf0f0f0f0f0f0f0f1L); + uint64_t x481, uint64_t x482 = mulx_u64(x478, 0xffffffffffffffefL); + uint64_t x484, uint64_t x485 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x487, uint64_t x488 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x490, uint64_t x491 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x493, uint64_t x494 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x496, uint64_t x497 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x499, uint64_t x500 = mulx_u64(x478, 0x3fffffff); + uint64_t x502, uint8_t x503 = addcarryx_u64(0x0, x482, x484); + uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x485, x487); + uint64_t x508, uint8_t x509 = addcarryx_u64(x506, x488, x490); + uint64_t x511, uint8_t x512 = addcarryx_u64(x509, x491, x493); + uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x494, x496); + uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x497, x499); + uint64_t x520, uint8_t _ = addcarryx_u64(0x0, x518, x500); + uint64_t _, uint8_t x524 = addcarryx_u64(0x0, x454, x481); + uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x457, x502); + uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x460, x505); + uint64_t x532, uint8_t x533 = addcarryx_u64(x530, x463, x508); + uint64_t x535, uint8_t x536 = addcarryx_u64(x533, x466, x511); + uint64_t x538, uint8_t x539 = addcarryx_u64(x536, x469, x514); + uint64_t x541, uint8_t x542 = addcarryx_u64(x539, x472, x517); + uint64_t x544, uint8_t x545 = addcarryx_u64(x542, x475, x520); + uint8_t x546 = (x545 + x476); + uint64_t x548, uint64_t x549 = mulx_u64(x13, x17); + uint64_t x551, uint64_t x552 = mulx_u64(x13, x19); + uint64_t x554, uint64_t x555 = mulx_u64(x13, x21); + uint64_t x557, uint64_t x558 = mulx_u64(x13, x23); + uint64_t x560, uint64_t x561 = mulx_u64(x13, x25); + uint64_t x563, uint64_t x564 = mulx_u64(x13, x27); + uint64_t x566, uint64_t x567 = mulx_u64(x13, x26); + uint64_t x569, uint8_t x570 = addcarryx_u64(0x0, x549, x551); + uint64_t x572, uint8_t x573 = addcarryx_u64(x570, x552, x554); + uint64_t x575, uint8_t x576 = addcarryx_u64(x573, x555, x557); + uint64_t x578, uint8_t x579 = addcarryx_u64(x576, x558, x560); + uint64_t x581, uint8_t x582 = addcarryx_u64(x579, x561, x563); + uint64_t x584, uint8_t x585 = addcarryx_u64(x582, x564, x566); + uint64_t x587, uint8_t _ = addcarryx_u64(0x0, x585, x567); + uint64_t x590, uint8_t x591 = addcarryx_u64(0x0, x526, x548); + uint64_t x593, uint8_t x594 = addcarryx_u64(x591, x529, x569); + uint64_t x596, uint8_t x597 = addcarryx_u64(x594, x532, x572); + uint64_t x599, uint8_t x600 = addcarryx_u64(x597, x535, x575); + uint64_t x602, uint8_t x603 = addcarryx_u64(x600, x538, x578); + uint64_t x605, uint8_t x606 = addcarryx_u64(x603, x541, x581); + uint64_t x608, uint8_t x609 = addcarryx_u64(x606, x544, x584); + uint64_t x611, uint8_t x612 = addcarryx_u64(x609, x546, x587); + uint64_t x614, uint64_t _ = mulx_u64(x590, 0xf0f0f0f0f0f0f0f1L); + uint64_t x617, uint64_t x618 = mulx_u64(x614, 0xffffffffffffffefL); + uint64_t x620, uint64_t x621 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x623, uint64_t x624 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x626, uint64_t x627 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x629, uint64_t x630 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x632, uint64_t x633 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x635, uint64_t x636 = mulx_u64(x614, 0x3fffffff); + uint64_t x638, uint8_t x639 = addcarryx_u64(0x0, x618, x620); + uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x621, x623); + uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x624, x626); + uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x627, x629); + uint64_t x650, uint8_t x651 = addcarryx_u64(x648, x630, x632); + uint64_t x653, uint8_t x654 = addcarryx_u64(x651, x633, x635); + uint64_t x656, uint8_t _ = addcarryx_u64(0x0, x654, x636); + uint64_t _, uint8_t x660 = addcarryx_u64(0x0, x590, x617); + uint64_t x662, uint8_t x663 = addcarryx_u64(x660, x593, x638); + uint64_t x665, uint8_t x666 = addcarryx_u64(x663, x596, x641); + uint64_t x668, uint8_t x669 = addcarryx_u64(x666, x599, x644); + uint64_t x671, uint8_t x672 = addcarryx_u64(x669, x602, x647); + uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x605, x650); + uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x608, x653); + uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x611, x656); + uint8_t x682 = (x681 + x612); + uint64_t x684, uint64_t x685 = mulx_u64(x15, x17); + uint64_t x687, uint64_t x688 = mulx_u64(x15, x19); + uint64_t x690, uint64_t x691 = mulx_u64(x15, x21); + uint64_t x693, uint64_t x694 = mulx_u64(x15, x23); + uint64_t x696, uint64_t x697 = mulx_u64(x15, x25); + uint64_t x699, uint64_t x700 = mulx_u64(x15, x27); + uint64_t x702, uint64_t x703 = mulx_u64(x15, x26); + uint64_t x705, uint8_t x706 = addcarryx_u64(0x0, x685, x687); + uint64_t x708, uint8_t x709 = addcarryx_u64(x706, x688, x690); + uint64_t x711, uint8_t x712 = addcarryx_u64(x709, x691, x693); + uint64_t x714, uint8_t x715 = addcarryx_u64(x712, x694, x696); + uint64_t x717, uint8_t x718 = addcarryx_u64(x715, x697, x699); + uint64_t x720, uint8_t x721 = addcarryx_u64(x718, x700, x702); + uint64_t x723, uint8_t _ = addcarryx_u64(0x0, x721, x703); + uint64_t x726, uint8_t x727 = addcarryx_u64(0x0, x662, x684); + uint64_t x729, uint8_t x730 = addcarryx_u64(x727, x665, x705); + uint64_t x732, uint8_t x733 = addcarryx_u64(x730, x668, x708); + uint64_t x735, uint8_t x736 = addcarryx_u64(x733, x671, x711); + uint64_t x738, uint8_t x739 = addcarryx_u64(x736, x674, x714); + uint64_t x741, uint8_t x742 = addcarryx_u64(x739, x677, x717); + uint64_t x744, uint8_t x745 = addcarryx_u64(x742, x680, x720); + uint64_t x747, uint8_t x748 = addcarryx_u64(x745, x682, x723); + uint64_t x750, uint64_t _ = mulx_u64(x726, 0xf0f0f0f0f0f0f0f1L); + uint64_t x753, uint64_t x754 = mulx_u64(x750, 0xffffffffffffffefL); + uint64_t x756, uint64_t x757 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x759, uint64_t x760 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x762, uint64_t x763 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x765, uint64_t x766 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x768, uint64_t x769 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x771, uint64_t x772 = mulx_u64(x750, 0x3fffffff); + uint64_t x774, uint8_t x775 = addcarryx_u64(0x0, x754, x756); + uint64_t x777, uint8_t x778 = addcarryx_u64(x775, x757, x759); + uint64_t x780, uint8_t x781 = addcarryx_u64(x778, x760, x762); + uint64_t x783, uint8_t x784 = addcarryx_u64(x781, x763, x765); + uint64_t x786, uint8_t x787 = addcarryx_u64(x784, x766, x768); + uint64_t x789, uint8_t x790 = addcarryx_u64(x787, x769, x771); + uint64_t x792, uint8_t _ = addcarryx_u64(0x0, x790, x772); + uint64_t _, uint8_t x796 = addcarryx_u64(0x0, x726, x753); + uint64_t x798, uint8_t x799 = addcarryx_u64(x796, x729, x774); + uint64_t x801, uint8_t x802 = addcarryx_u64(x799, x732, x777); + uint64_t x804, uint8_t x805 = addcarryx_u64(x802, x735, x780); + uint64_t x807, uint8_t x808 = addcarryx_u64(x805, x738, x783); + uint64_t x810, uint8_t x811 = addcarryx_u64(x808, x741, x786); + uint64_t x813, uint8_t x814 = addcarryx_u64(x811, x744, x789); + uint64_t x816, uint8_t x817 = addcarryx_u64(x814, x747, x792); + uint8_t x818 = (x817 + x748); + uint64_t x820, uint64_t x821 = mulx_u64(x14, x17); + uint64_t x823, uint64_t x824 = mulx_u64(x14, x19); + uint64_t x826, uint64_t x827 = mulx_u64(x14, x21); + uint64_t x829, uint64_t x830 = mulx_u64(x14, x23); + uint64_t x832, uint64_t x833 = mulx_u64(x14, x25); + uint64_t x835, uint64_t x836 = mulx_u64(x14, x27); + uint64_t x838, uint64_t x839 = mulx_u64(x14, x26); + uint64_t x841, uint8_t x842 = addcarryx_u64(0x0, x821, x823); + uint64_t x844, uint8_t x845 = addcarryx_u64(x842, x824, x826); + uint64_t x847, uint8_t x848 = addcarryx_u64(x845, x827, x829); + uint64_t x850, uint8_t x851 = addcarryx_u64(x848, x830, x832); + uint64_t x853, uint8_t x854 = addcarryx_u64(x851, x833, x835); + uint64_t x856, uint8_t x857 = addcarryx_u64(x854, x836, x838); + uint64_t x859, uint8_t _ = addcarryx_u64(0x0, x857, x839); + uint64_t x862, uint8_t x863 = addcarryx_u64(0x0, x798, x820); + uint64_t x865, uint8_t x866 = addcarryx_u64(x863, x801, x841); + uint64_t x868, uint8_t x869 = addcarryx_u64(x866, x804, x844); + uint64_t x871, uint8_t x872 = addcarryx_u64(x869, x807, x847); + uint64_t x874, uint8_t x875 = addcarryx_u64(x872, x810, x850); + uint64_t x877, uint8_t x878 = addcarryx_u64(x875, x813, x853); + uint64_t x880, uint8_t x881 = addcarryx_u64(x878, x816, x856); + uint64_t x883, uint8_t x884 = addcarryx_u64(x881, x818, x859); + uint64_t x886, uint64_t _ = mulx_u64(x862, 0xf0f0f0f0f0f0f0f1L); + uint64_t x889, uint64_t x890 = mulx_u64(x886, 0xffffffffffffffefL); + uint64_t x892, uint64_t x893 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x895, uint64_t x896 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x898, uint64_t x899 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x901, uint64_t x902 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x904, uint64_t x905 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x907, uint64_t x908 = mulx_u64(x886, 0x3fffffff); + uint64_t x910, uint8_t x911 = addcarryx_u64(0x0, x890, x892); + uint64_t x913, uint8_t x914 = addcarryx_u64(x911, x893, x895); + uint64_t x916, uint8_t x917 = addcarryx_u64(x914, x896, x898); + uint64_t x919, uint8_t x920 = addcarryx_u64(x917, x899, x901); + uint64_t x922, uint8_t x923 = addcarryx_u64(x920, x902, x904); + uint64_t x925, uint8_t x926 = addcarryx_u64(x923, x905, x907); + uint64_t x928, uint8_t _ = addcarryx_u64(0x0, x926, x908); + uint64_t _, uint8_t x932 = addcarryx_u64(0x0, x862, x889); + uint64_t x934, uint8_t x935 = addcarryx_u64(x932, x865, x910); + uint64_t x937, uint8_t x938 = addcarryx_u64(x935, x868, x913); + uint64_t x940, uint8_t x941 = addcarryx_u64(x938, x871, x916); + uint64_t x943, uint8_t x944 = addcarryx_u64(x941, x874, x919); + uint64_t x946, uint8_t x947 = addcarryx_u64(x944, x877, x922); + uint64_t x949, uint8_t x950 = addcarryx_u64(x947, x880, x925); + uint64_t x952, uint8_t x953 = addcarryx_u64(x950, x883, x928); + uint8_t x954 = (x953 + x884); + uint64_t x956, uint8_t x957 = subborrow_u64(0x0, x934, 0xffffffffffffffefL); + uint64_t x959, uint8_t x960 = subborrow_u64(x957, x937, 0xffffffffffffffffL); + uint64_t x962, uint8_t x963 = subborrow_u64(x960, x940, 0xffffffffffffffffL); + uint64_t x965, uint8_t x966 = subborrow_u64(x963, x943, 0xffffffffffffffffL); + uint64_t x968, uint8_t x969 = subborrow_u64(x966, x946, 0xffffffffffffffffL); + uint64_t x971, uint8_t x972 = subborrow_u64(x969, x949, 0xffffffffffffffffL); + uint64_t x974, uint8_t x975 = subborrow_u64(x972, x952, 0x3fffffff); + uint64_t _, uint8_t x978 = subborrow_u64(x975, x954, 0x0); + uint64_t x979 = cmovznz(x978, x974, x952); + uint64_t x980 = cmovznz(x978, x971, x949); + uint64_t x981 = cmovznz(x978, x968, x946); + uint64_t x982 = cmovznz(x978, x965, x943); + uint64_t x983 = cmovznz(x978, x962, x940); + uint64_t x984 = cmovznz(x978, x959, x937); + uint64_t x985 = cmovznz(x978, x956, x934); + return (x979, x980, x981, x982, x983, x984, x985)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e414m17/feoppDisplay.log b/src/Specific/montgomery64_2e414m17/feoppDisplay.log new file mode 100644 index 000000000..6295b4ba4 --- /dev/null +++ b/src/Specific/montgomery64_2e414m17/feoppDisplay.log @@ -0,0 +1,29 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x11, x12, x10, x8, x6, x4, x2)%core, + uint64_t x14, uint8_t x15 = subborrow_u64(0x0, 0x0, x2); + uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x4); + uint64_t x20, uint8_t x21 = subborrow_u64(x18, 0x0, x6); + uint64_t x23, uint8_t x24 = subborrow_u64(x21, 0x0, x8); + uint64_t x26, uint8_t x27 = subborrow_u64(x24, 0x0, x10); + uint64_t x29, uint8_t x30 = subborrow_u64(x27, 0x0, x12); + uint64_t x32, uint8_t x33 = subborrow_u64(x30, 0x0, x11); + uint64_t x34 = (uint64_t)cmovznz(x33, 0x0, 0xffffffffffffffffL); + uint64_t x35 = (x34 & 0xffffffffffffffefL); + uint64_t x37, uint8_t x38 = addcarryx_u64(0x0, x14, x35); + uint64_t x39 = (x34 & 0xffffffffffffffffL); + uint64_t x41, uint8_t x42 = addcarryx_u64(x38, x17, x39); + uint64_t x43 = (x34 & 0xffffffffffffffffL); + uint64_t x45, uint8_t x46 = addcarryx_u64(x42, x20, x43); + uint64_t x47 = (x34 & 0xffffffffffffffffL); + uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x23, x47); + uint64_t x51 = (x34 & 0xffffffffffffffffL); + uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x26, x51); + uint64_t x55 = (x34 & 0xffffffffffffffffL); + uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x29, x55); + uint64_t x59 = (x34 & 0x3fffffff); + uint64_t x61, uint8_t _ = addcarryx_u64(x58, x32, x59); + (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e414m17/fesubDisplay.log b/src/Specific/montgomery64_2e414m17/fesubDisplay.log new file mode 100644 index 000000000..4fffd0d76 --- /dev/null +++ b/src/Specific/montgomery64_2e414m17/fesubDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x5, x17); + uint64_t x32, uint8_t x33 = subborrow_u64(x30, x7, x19); + uint64_t x35, uint8_t x36 = subborrow_u64(x33, x9, x21); + uint64_t x38, uint8_t x39 = subborrow_u64(x36, x11, x23); + uint64_t x41, uint8_t x42 = subborrow_u64(x39, x13, x25); + uint64_t x44, uint8_t x45 = subborrow_u64(x42, x15, x27); + uint64_t x47, uint8_t x48 = subborrow_u64(x45, x14, x26); + uint64_t x49 = (uint64_t)cmovznz(x48, 0x0, 0xffffffffffffffffL); + uint64_t x50 = (x49 & 0xffffffffffffffefL); + uint64_t x52, uint8_t x53 = addcarryx_u64(0x0, x29, x50); + uint64_t x54 = (x49 & 0xffffffffffffffffL); + uint64_t x56, uint8_t x57 = addcarryx_u64(x53, x32, x54); + uint64_t x58 = (x49 & 0xffffffffffffffffL); + uint64_t x60, uint8_t x61 = addcarryx_u64(x57, x35, x58); + uint64_t x62 = (x49 & 0xffffffffffffffffL); + uint64_t x64, uint8_t x65 = addcarryx_u64(x61, x38, x62); + uint64_t x66 = (x49 & 0xffffffffffffffffL); + uint64_t x68, uint8_t x69 = addcarryx_u64(x65, x41, x66); + uint64_t x70 = (x49 & 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = addcarryx_u64(x69, x44, x70); + uint64_t x74 = (x49 & 0x3fffffff); + uint64_t x76, uint8_t _ = addcarryx_u64(x73, x47, x74); + (Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e416m2e208m1/feaddDisplay.log b/src/Specific/montgomery64_2e416m2e208m1/feaddDisplay.log new file mode 100644 index 000000000..d8202eb2d --- /dev/null +++ b/src/Specific/montgomery64_2e416m2e208m1/feaddDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x5, x17); + uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x7, x19); + uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x9, x21); + uint64_t x38, uint8_t x39 = addcarryx_u64(x36, x11, x23); + uint64_t x41, uint8_t x42 = addcarryx_u64(x39, x13, x25); + uint64_t x44, uint8_t x45 = addcarryx_u64(x42, x15, x27); + uint64_t x47, uint8_t x48 = addcarryx_u64(x45, x14, x26); + uint64_t x50, uint8_t x51 = subborrow_u64(0x0, x29, 0xffffffffffffffffL); + uint64_t x53, uint8_t x54 = subborrow_u64(x51, x32, 0xffffffffffffffffL); + uint64_t x56, uint8_t x57 = subborrow_u64(x54, x35, 0xffffffffffffffffL); + uint64_t x59, uint8_t x60 = subborrow_u64(x57, x38, 0xfffffffffffeffffL); + uint64_t x62, uint8_t x63 = subborrow_u64(x60, x41, 0xffffffffffffffffL); + uint64_t x65, uint8_t x66 = subborrow_u64(x63, x44, 0xffffffffffffffffL); + uint64_t x68, uint8_t x69 = subborrow_u64(x66, x47, 0xffffffff); + uint64_t _, uint8_t x72 = subborrow_u64(x69, x48, 0x0); + uint64_t x73 = cmovznz(x72, x68, x47); + uint64_t x74 = cmovznz(x72, x65, x44); + uint64_t x75 = cmovznz(x72, x62, x41); + uint64_t x76 = cmovznz(x72, x59, x38); + uint64_t x77 = cmovznz(x72, x56, x35); + uint64_t x78 = cmovznz(x72, x53, x32); + uint64_t x79 = cmovznz(x72, x50, x29); + return (x73, x74, x75, x76, x77, x78, x79)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e416m2e208m1/femulDisplay.log b/src/Specific/montgomery64_2e416m2e208m1/femulDisplay.log new file mode 100644 index 000000000..63d260a8e --- /dev/null +++ b/src/Specific/montgomery64_2e416m2e208m1/femulDisplay.log @@ -0,0 +1,328 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint64_t x30 = mulx_u64(x5, x17); + uint64_t x32, uint64_t x33 = mulx_u64(x5, x19); + uint64_t x35, uint64_t x36 = mulx_u64(x5, x21); + uint64_t x38, uint64_t x39 = mulx_u64(x5, x23); + uint64_t x41, uint64_t x42 = mulx_u64(x5, x25); + uint64_t x44, uint64_t x45 = mulx_u64(x5, x27); + uint64_t x47, uint64_t x48 = mulx_u64(x5, x26); + uint64_t x50, uint8_t x51 = addcarryx_u64(0x0, x30, x32); + uint64_t x53, uint8_t x54 = addcarryx_u64(x51, x33, x35); + uint64_t x56, uint8_t x57 = addcarryx_u64(x54, x36, x38); + uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x39, x41); + uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x42, x44); + uint64_t x65, uint8_t x66 = addcarryx_u64(x63, x45, x47); + uint64_t x68, uint8_t _ = addcarryx_u64(0x0, x66, x48); + uint64_t x71, uint64_t x72 = mulx_u64(x29, 0xffffffffffffffffL); + uint64_t x74, uint64_t x75 = mulx_u64(x29, 0xffffffffffffffffL); + uint64_t x77, uint64_t x78 = mulx_u64(x29, 0xffffffffffffffffL); + uint64_t x80, uint64_t x81 = mulx_u64(x29, 0xfffffffffffeffffL); + uint64_t x83, uint64_t x84 = mulx_u64(x29, 0xffffffffffffffffL); + uint64_t x86, uint64_t x87 = mulx_u64(x29, 0xffffffffffffffffL); + uint64_t x89, uint64_t x90 = mulx_u64(x29, 0xffffffff); + uint64_t x92, uint8_t x93 = addcarryx_u64(0x0, x72, x74); + uint64_t x95, uint8_t x96 = addcarryx_u64(x93, x75, x77); + uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x78, x80); + uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x81, x83); + uint64_t x104, uint8_t x105 = addcarryx_u64(x102, x84, x86); + uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x87, x89); + uint64_t x110, uint8_t _ = addcarryx_u64(0x0, x108, x90); + uint64_t _, uint8_t x114 = addcarryx_u64(0x0, x29, x71); + uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x50, x92); + uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x53, x95); + uint64_t x122, uint8_t x123 = addcarryx_u64(x120, x56, x98); + uint64_t x125, uint8_t x126 = addcarryx_u64(x123, x59, x101); + uint64_t x128, uint8_t x129 = addcarryx_u64(x126, x62, x104); + uint64_t x131, uint8_t x132 = addcarryx_u64(x129, x65, x107); + uint64_t x134, uint8_t x135 = addcarryx_u64(x132, x68, x110); + uint64_t x137, uint64_t x138 = mulx_u64(x7, x17); + uint64_t x140, uint64_t x141 = mulx_u64(x7, x19); + uint64_t x143, uint64_t x144 = mulx_u64(x7, x21); + uint64_t x146, uint64_t x147 = mulx_u64(x7, x23); + uint64_t x149, uint64_t x150 = mulx_u64(x7, x25); + uint64_t x152, uint64_t x153 = mulx_u64(x7, x27); + uint64_t x155, uint64_t x156 = mulx_u64(x7, x26); + uint64_t x158, uint8_t x159 = addcarryx_u64(0x0, x138, x140); + uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x141, x143); + uint64_t x164, uint8_t x165 = addcarryx_u64(x162, x144, x146); + uint64_t x167, uint8_t x168 = addcarryx_u64(x165, x147, x149); + uint64_t x170, uint8_t x171 = addcarryx_u64(x168, x150, x152); + uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x153, x155); + uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x156); + uint64_t x179, uint8_t x180 = addcarryx_u64(0x0, x116, x137); + uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x119, x158); + uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x122, x161); + uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x125, x164); + uint64_t x191, uint8_t x192 = addcarryx_u64(x189, x128, x167); + uint64_t x194, uint8_t x195 = addcarryx_u64(x192, x131, x170); + uint64_t x197, uint8_t x198 = addcarryx_u64(x195, x134, x173); + uint64_t x200, uint8_t x201 = addcarryx_u64(x198, x135, x176); + uint64_t x203, uint64_t x204 = mulx_u64(x179, 0xffffffffffffffffL); + uint64_t x206, uint64_t x207 = mulx_u64(x179, 0xffffffffffffffffL); + uint64_t x209, uint64_t x210 = mulx_u64(x179, 0xffffffffffffffffL); + uint64_t x212, uint64_t x213 = mulx_u64(x179, 0xfffffffffffeffffL); + uint64_t x215, uint64_t x216 = mulx_u64(x179, 0xffffffffffffffffL); + uint64_t x218, uint64_t x219 = mulx_u64(x179, 0xffffffffffffffffL); + uint64_t x221, uint64_t x222 = mulx_u64(x179, 0xffffffff); + uint64_t x224, uint8_t x225 = addcarryx_u64(0x0, x204, x206); + uint64_t x227, uint8_t x228 = addcarryx_u64(x225, x207, x209); + uint64_t x230, uint8_t x231 = addcarryx_u64(x228, x210, x212); + uint64_t x233, uint8_t x234 = addcarryx_u64(x231, x213, x215); + uint64_t x236, uint8_t x237 = addcarryx_u64(x234, x216, x218); + uint64_t x239, uint8_t x240 = addcarryx_u64(x237, x219, x221); + uint64_t x242, uint8_t _ = addcarryx_u64(0x0, x240, x222); + uint64_t _, uint8_t x246 = addcarryx_u64(0x0, x179, x203); + uint64_t x248, uint8_t x249 = addcarryx_u64(x246, x182, x224); + uint64_t x251, uint8_t x252 = addcarryx_u64(x249, x185, x227); + uint64_t x254, uint8_t x255 = addcarryx_u64(x252, x188, x230); + uint64_t x257, uint8_t x258 = addcarryx_u64(x255, x191, x233); + uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x194, x236); + uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x197, x239); + uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x200, x242); + uint8_t x268 = (x267 + x201); + uint64_t x270, uint64_t x271 = mulx_u64(x9, x17); + uint64_t x273, uint64_t x274 = mulx_u64(x9, x19); + uint64_t x276, uint64_t x277 = mulx_u64(x9, x21); + uint64_t x279, uint64_t x280 = mulx_u64(x9, x23); + uint64_t x282, uint64_t x283 = mulx_u64(x9, x25); + uint64_t x285, uint64_t x286 = mulx_u64(x9, x27); + uint64_t x288, uint64_t x289 = mulx_u64(x9, x26); + uint64_t x291, uint8_t x292 = addcarryx_u64(0x0, x271, x273); + uint64_t x294, uint8_t x295 = addcarryx_u64(x292, x274, x276); + uint64_t x297, uint8_t x298 = addcarryx_u64(x295, x277, x279); + uint64_t x300, uint8_t x301 = addcarryx_u64(x298, x280, x282); + uint64_t x303, uint8_t x304 = addcarryx_u64(x301, x283, x285); + uint64_t x306, uint8_t x307 = addcarryx_u64(x304, x286, x288); + uint64_t x309, uint8_t _ = addcarryx_u64(0x0, x307, x289); + uint64_t x312, uint8_t x313 = addcarryx_u64(0x0, x248, x270); + uint64_t x315, uint8_t x316 = addcarryx_u64(x313, x251, x291); + uint64_t x318, uint8_t x319 = addcarryx_u64(x316, x254, x294); + uint64_t x321, uint8_t x322 = addcarryx_u64(x319, x257, x297); + uint64_t x324, uint8_t x325 = addcarryx_u64(x322, x260, x300); + uint64_t x327, uint8_t x328 = addcarryx_u64(x325, x263, x303); + uint64_t x330, uint8_t x331 = addcarryx_u64(x328, x266, x306); + uint64_t x333, uint8_t x334 = addcarryx_u64(x331, x268, x309); + uint64_t x336, uint64_t x337 = mulx_u64(x312, 0xffffffffffffffffL); + uint64_t x339, uint64_t x340 = mulx_u64(x312, 0xffffffffffffffffL); + uint64_t x342, uint64_t x343 = mulx_u64(x312, 0xffffffffffffffffL); + uint64_t x345, uint64_t x346 = mulx_u64(x312, 0xfffffffffffeffffL); + uint64_t x348, uint64_t x349 = mulx_u64(x312, 0xffffffffffffffffL); + uint64_t x351, uint64_t x352 = mulx_u64(x312, 0xffffffffffffffffL); + uint64_t x354, uint64_t x355 = mulx_u64(x312, 0xffffffff); + uint64_t x357, uint8_t x358 = addcarryx_u64(0x0, x337, x339); + uint64_t x360, uint8_t x361 = addcarryx_u64(x358, x340, x342); + uint64_t x363, uint8_t x364 = addcarryx_u64(x361, x343, x345); + uint64_t x366, uint8_t x367 = addcarryx_u64(x364, x346, x348); + uint64_t x369, uint8_t x370 = addcarryx_u64(x367, x349, x351); + uint64_t x372, uint8_t x373 = addcarryx_u64(x370, x352, x354); + uint64_t x375, uint8_t _ = addcarryx_u64(0x0, x373, x355); + uint64_t _, uint8_t x379 = addcarryx_u64(0x0, x312, x336); + uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x315, x357); + uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x318, x360); + uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x321, x363); + uint64_t x390, uint8_t x391 = addcarryx_u64(x388, x324, x366); + uint64_t x393, uint8_t x394 = addcarryx_u64(x391, x327, x369); + uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x330, x372); + uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x333, x375); + uint8_t x401 = (x400 + x334); + uint64_t x403, uint64_t x404 = mulx_u64(x11, x17); + uint64_t x406, uint64_t x407 = mulx_u64(x11, x19); + uint64_t x409, uint64_t x410 = mulx_u64(x11, x21); + uint64_t x412, uint64_t x413 = mulx_u64(x11, x23); + uint64_t x415, uint64_t x416 = mulx_u64(x11, x25); + uint64_t x418, uint64_t x419 = mulx_u64(x11, x27); + uint64_t x421, uint64_t x422 = mulx_u64(x11, x26); + uint64_t x424, uint8_t x425 = addcarryx_u64(0x0, x404, x406); + uint64_t x427, uint8_t x428 = addcarryx_u64(x425, x407, x409); + uint64_t x430, uint8_t x431 = addcarryx_u64(x428, x410, x412); + uint64_t x433, uint8_t x434 = addcarryx_u64(x431, x413, x415); + uint64_t x436, uint8_t x437 = addcarryx_u64(x434, x416, x418); + uint64_t x439, uint8_t x440 = addcarryx_u64(x437, x419, x421); + uint64_t x442, uint8_t _ = addcarryx_u64(0x0, x440, x422); + uint64_t x445, uint8_t x446 = addcarryx_u64(0x0, x381, x403); + uint64_t x448, uint8_t x449 = addcarryx_u64(x446, x384, x424); + uint64_t x451, uint8_t x452 = addcarryx_u64(x449, x387, x427); + uint64_t x454, uint8_t x455 = addcarryx_u64(x452, x390, x430); + uint64_t x457, uint8_t x458 = addcarryx_u64(x455, x393, x433); + uint64_t x460, uint8_t x461 = addcarryx_u64(x458, x396, x436); + uint64_t x463, uint8_t x464 = addcarryx_u64(x461, x399, x439); + uint64_t x466, uint8_t x467 = addcarryx_u64(x464, x401, x442); + uint64_t x469, uint64_t x470 = mulx_u64(x445, 0xffffffffffffffffL); + uint64_t x472, uint64_t x473 = mulx_u64(x445, 0xffffffffffffffffL); + uint64_t x475, uint64_t x476 = mulx_u64(x445, 0xffffffffffffffffL); + uint64_t x478, uint64_t x479 = mulx_u64(x445, 0xfffffffffffeffffL); + uint64_t x481, uint64_t x482 = mulx_u64(x445, 0xffffffffffffffffL); + uint64_t x484, uint64_t x485 = mulx_u64(x445, 0xffffffffffffffffL); + uint64_t x487, uint64_t x488 = mulx_u64(x445, 0xffffffff); + uint64_t x490, uint8_t x491 = addcarryx_u64(0x0, x470, x472); + uint64_t x493, uint8_t x494 = addcarryx_u64(x491, x473, x475); + uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x476, x478); + uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x479, x481); + uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x482, x484); + uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x485, x487); + uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x488); + uint64_t _, uint8_t x512 = addcarryx_u64(0x0, x445, x469); + uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x448, x490); + uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x451, x493); + uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x454, x496); + uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x457, x499); + uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x460, x502); + uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x463, x505); + uint64_t x532, uint8_t x533 = addcarryx_u64(x530, x466, x508); + uint8_t x534 = (x533 + x467); + uint64_t x536, uint64_t x537 = mulx_u64(x13, x17); + uint64_t x539, uint64_t x540 = mulx_u64(x13, x19); + uint64_t x542, uint64_t x543 = mulx_u64(x13, x21); + uint64_t x545, uint64_t x546 = mulx_u64(x13, x23); + uint64_t x548, uint64_t x549 = mulx_u64(x13, x25); + uint64_t x551, uint64_t x552 = mulx_u64(x13, x27); + uint64_t x554, uint64_t x555 = mulx_u64(x13, x26); + uint64_t x557, uint8_t x558 = addcarryx_u64(0x0, x537, x539); + uint64_t x560, uint8_t x561 = addcarryx_u64(x558, x540, x542); + uint64_t x563, uint8_t x564 = addcarryx_u64(x561, x543, x545); + uint64_t x566, uint8_t x567 = addcarryx_u64(x564, x546, x548); + uint64_t x569, uint8_t x570 = addcarryx_u64(x567, x549, x551); + uint64_t x572, uint8_t x573 = addcarryx_u64(x570, x552, x554); + uint64_t x575, uint8_t _ = addcarryx_u64(0x0, x573, x555); + uint64_t x578, uint8_t x579 = addcarryx_u64(0x0, x514, x536); + uint64_t x581, uint8_t x582 = addcarryx_u64(x579, x517, x557); + uint64_t x584, uint8_t x585 = addcarryx_u64(x582, x520, x560); + uint64_t x587, uint8_t x588 = addcarryx_u64(x585, x523, x563); + uint64_t x590, uint8_t x591 = addcarryx_u64(x588, x526, x566); + uint64_t x593, uint8_t x594 = addcarryx_u64(x591, x529, x569); + uint64_t x596, uint8_t x597 = addcarryx_u64(x594, x532, x572); + uint64_t x599, uint8_t x600 = addcarryx_u64(x597, x534, x575); + uint64_t x602, uint64_t x603 = mulx_u64(x578, 0xffffffffffffffffL); + uint64_t x605, uint64_t x606 = mulx_u64(x578, 0xffffffffffffffffL); + uint64_t x608, uint64_t x609 = mulx_u64(x578, 0xffffffffffffffffL); + uint64_t x611, uint64_t x612 = mulx_u64(x578, 0xfffffffffffeffffL); + uint64_t x614, uint64_t x615 = mulx_u64(x578, 0xffffffffffffffffL); + uint64_t x617, uint64_t x618 = mulx_u64(x578, 0xffffffffffffffffL); + uint64_t x620, uint64_t x621 = mulx_u64(x578, 0xffffffff); + uint64_t x623, uint8_t x624 = addcarryx_u64(0x0, x603, x605); + uint64_t x626, uint8_t x627 = addcarryx_u64(x624, x606, x608); + uint64_t x629, uint8_t x630 = addcarryx_u64(x627, x609, x611); + uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x612, x614); + uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x615, x617); + uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x618, x620); + uint64_t x641, uint8_t _ = addcarryx_u64(0x0, x639, x621); + uint64_t _, uint8_t x645 = addcarryx_u64(0x0, x578, x602); + uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x581, x623); + uint64_t x650, uint8_t x651 = addcarryx_u64(x648, x584, x626); + uint64_t x653, uint8_t x654 = addcarryx_u64(x651, x587, x629); + uint64_t x656, uint8_t x657 = addcarryx_u64(x654, x590, x632); + uint64_t x659, uint8_t x660 = addcarryx_u64(x657, x593, x635); + uint64_t x662, uint8_t x663 = addcarryx_u64(x660, x596, x638); + uint64_t x665, uint8_t x666 = addcarryx_u64(x663, x599, x641); + uint8_t x667 = (x666 + x600); + uint64_t x669, uint64_t x670 = mulx_u64(x15, x17); + uint64_t x672, uint64_t x673 = mulx_u64(x15, x19); + uint64_t x675, uint64_t x676 = mulx_u64(x15, x21); + uint64_t x678, uint64_t x679 = mulx_u64(x15, x23); + uint64_t x681, uint64_t x682 = mulx_u64(x15, x25); + uint64_t x684, uint64_t x685 = mulx_u64(x15, x27); + uint64_t x687, uint64_t x688 = mulx_u64(x15, x26); + uint64_t x690, uint8_t x691 = addcarryx_u64(0x0, x670, x672); + uint64_t x693, uint8_t x694 = addcarryx_u64(x691, x673, x675); + uint64_t x696, uint8_t x697 = addcarryx_u64(x694, x676, x678); + uint64_t x699, uint8_t x700 = addcarryx_u64(x697, x679, x681); + uint64_t x702, uint8_t x703 = addcarryx_u64(x700, x682, x684); + uint64_t x705, uint8_t x706 = addcarryx_u64(x703, x685, x687); + uint64_t x708, uint8_t _ = addcarryx_u64(0x0, x706, x688); + uint64_t x711, uint8_t x712 = addcarryx_u64(0x0, x647, x669); + uint64_t x714, uint8_t x715 = addcarryx_u64(x712, x650, x690); + uint64_t x717, uint8_t x718 = addcarryx_u64(x715, x653, x693); + uint64_t x720, uint8_t x721 = addcarryx_u64(x718, x656, x696); + uint64_t x723, uint8_t x724 = addcarryx_u64(x721, x659, x699); + uint64_t x726, uint8_t x727 = addcarryx_u64(x724, x662, x702); + uint64_t x729, uint8_t x730 = addcarryx_u64(x727, x665, x705); + uint64_t x732, uint8_t x733 = addcarryx_u64(x730, x667, x708); + uint64_t x735, uint64_t x736 = mulx_u64(x711, 0xffffffffffffffffL); + uint64_t x738, uint64_t x739 = mulx_u64(x711, 0xffffffffffffffffL); + uint64_t x741, uint64_t x742 = mulx_u64(x711, 0xffffffffffffffffL); + uint64_t x744, uint64_t x745 = mulx_u64(x711, 0xfffffffffffeffffL); + uint64_t x747, uint64_t x748 = mulx_u64(x711, 0xffffffffffffffffL); + uint64_t x750, uint64_t x751 = mulx_u64(x711, 0xffffffffffffffffL); + uint64_t x753, uint64_t x754 = mulx_u64(x711, 0xffffffff); + uint64_t x756, uint8_t x757 = addcarryx_u64(0x0, x736, x738); + uint64_t x759, uint8_t x760 = addcarryx_u64(x757, x739, x741); + uint64_t x762, uint8_t x763 = addcarryx_u64(x760, x742, x744); + uint64_t x765, uint8_t x766 = addcarryx_u64(x763, x745, x747); + uint64_t x768, uint8_t x769 = addcarryx_u64(x766, x748, x750); + uint64_t x771, uint8_t x772 = addcarryx_u64(x769, x751, x753); + uint64_t x774, uint8_t _ = addcarryx_u64(0x0, x772, x754); + uint64_t _, uint8_t x778 = addcarryx_u64(0x0, x711, x735); + uint64_t x780, uint8_t x781 = addcarryx_u64(x778, x714, x756); + uint64_t x783, uint8_t x784 = addcarryx_u64(x781, x717, x759); + uint64_t x786, uint8_t x787 = addcarryx_u64(x784, x720, x762); + uint64_t x789, uint8_t x790 = addcarryx_u64(x787, x723, x765); + uint64_t x792, uint8_t x793 = addcarryx_u64(x790, x726, x768); + uint64_t x795, uint8_t x796 = addcarryx_u64(x793, x729, x771); + uint64_t x798, uint8_t x799 = addcarryx_u64(x796, x732, x774); + uint8_t x800 = (x799 + x733); + uint64_t x802, uint64_t x803 = mulx_u64(x14, x17); + uint64_t x805, uint64_t x806 = mulx_u64(x14, x19); + uint64_t x808, uint64_t x809 = mulx_u64(x14, x21); + uint64_t x811, uint64_t x812 = mulx_u64(x14, x23); + uint64_t x814, uint64_t x815 = mulx_u64(x14, x25); + uint64_t x817, uint64_t x818 = mulx_u64(x14, x27); + uint64_t x820, uint64_t x821 = mulx_u64(x14, x26); + uint64_t x823, uint8_t x824 = addcarryx_u64(0x0, x803, x805); + uint64_t x826, uint8_t x827 = addcarryx_u64(x824, x806, x808); + uint64_t x829, uint8_t x830 = addcarryx_u64(x827, x809, x811); + uint64_t x832, uint8_t x833 = addcarryx_u64(x830, x812, x814); + uint64_t x835, uint8_t x836 = addcarryx_u64(x833, x815, x817); + uint64_t x838, uint8_t x839 = addcarryx_u64(x836, x818, x820); + uint64_t x841, uint8_t _ = addcarryx_u64(0x0, x839, x821); + uint64_t x844, uint8_t x845 = addcarryx_u64(0x0, x780, x802); + uint64_t x847, uint8_t x848 = addcarryx_u64(x845, x783, x823); + uint64_t x850, uint8_t x851 = addcarryx_u64(x848, x786, x826); + uint64_t x853, uint8_t x854 = addcarryx_u64(x851, x789, x829); + uint64_t x856, uint8_t x857 = addcarryx_u64(x854, x792, x832); + uint64_t x859, uint8_t x860 = addcarryx_u64(x857, x795, x835); + uint64_t x862, uint8_t x863 = addcarryx_u64(x860, x798, x838); + uint64_t x865, uint8_t x866 = addcarryx_u64(x863, x800, x841); + uint64_t x868, uint64_t x869 = mulx_u64(x844, 0xffffffffffffffffL); + uint64_t x871, uint64_t x872 = mulx_u64(x844, 0xffffffffffffffffL); + uint64_t x874, uint64_t x875 = mulx_u64(x844, 0xffffffffffffffffL); + uint64_t x877, uint64_t x878 = mulx_u64(x844, 0xfffffffffffeffffL); + uint64_t x880, uint64_t x881 = mulx_u64(x844, 0xffffffffffffffffL); + uint64_t x883, uint64_t x884 = mulx_u64(x844, 0xffffffffffffffffL); + uint64_t x886, uint64_t x887 = mulx_u64(x844, 0xffffffff); + uint64_t x889, uint8_t x890 = addcarryx_u64(0x0, x869, x871); + uint64_t x892, uint8_t x893 = addcarryx_u64(x890, x872, x874); + uint64_t x895, uint8_t x896 = addcarryx_u64(x893, x875, x877); + uint64_t x898, uint8_t x899 = addcarryx_u64(x896, x878, x880); + uint64_t x901, uint8_t x902 = addcarryx_u64(x899, x881, x883); + uint64_t x904, uint8_t x905 = addcarryx_u64(x902, x884, x886); + uint64_t x907, uint8_t _ = addcarryx_u64(0x0, x905, x887); + uint64_t _, uint8_t x911 = addcarryx_u64(0x0, x844, x868); + uint64_t x913, uint8_t x914 = addcarryx_u64(x911, x847, x889); + uint64_t x916, uint8_t x917 = addcarryx_u64(x914, x850, x892); + uint64_t x919, uint8_t x920 = addcarryx_u64(x917, x853, x895); + uint64_t x922, uint8_t x923 = addcarryx_u64(x920, x856, x898); + uint64_t x925, uint8_t x926 = addcarryx_u64(x923, x859, x901); + uint64_t x928, uint8_t x929 = addcarryx_u64(x926, x862, x904); + uint64_t x931, uint8_t x932 = addcarryx_u64(x929, x865, x907); + uint8_t x933 = (x932 + x866); + uint64_t x935, uint8_t x936 = subborrow_u64(0x0, x913, 0xffffffffffffffffL); + uint64_t x938, uint8_t x939 = subborrow_u64(x936, x916, 0xffffffffffffffffL); + uint64_t x941, uint8_t x942 = subborrow_u64(x939, x919, 0xffffffffffffffffL); + uint64_t x944, uint8_t x945 = subborrow_u64(x942, x922, 0xfffffffffffeffffL); + uint64_t x947, uint8_t x948 = subborrow_u64(x945, x925, 0xffffffffffffffffL); + uint64_t x950, uint8_t x951 = subborrow_u64(x948, x928, 0xffffffffffffffffL); + uint64_t x953, uint8_t x954 = subborrow_u64(x951, x931, 0xffffffff); + uint64_t _, uint8_t x957 = subborrow_u64(x954, x933, 0x0); + uint64_t x958 = cmovznz(x957, x953, x931); + uint64_t x959 = cmovznz(x957, x950, x928); + uint64_t x960 = cmovznz(x957, x947, x925); + uint64_t x961 = cmovznz(x957, x944, x922); + uint64_t x962 = cmovznz(x957, x941, x919); + uint64_t x963 = cmovznz(x957, x938, x916); + uint64_t x964 = cmovznz(x957, x935, x913); + return (x958, x959, x960, x961, x962, x963, x964)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e416m2e208m1/feoppDisplay.log b/src/Specific/montgomery64_2e416m2e208m1/feoppDisplay.log new file mode 100644 index 000000000..42c860bbd --- /dev/null +++ b/src/Specific/montgomery64_2e416m2e208m1/feoppDisplay.log @@ -0,0 +1,29 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x11, x12, x10, x8, x6, x4, x2)%core, + uint64_t x14, uint8_t x15 = subborrow_u64(0x0, 0x0, x2); + uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x4); + uint64_t x20, uint8_t x21 = subborrow_u64(x18, 0x0, x6); + uint64_t x23, uint8_t x24 = subborrow_u64(x21, 0x0, x8); + uint64_t x26, uint8_t x27 = subborrow_u64(x24, 0x0, x10); + uint64_t x29, uint8_t x30 = subborrow_u64(x27, 0x0, x12); + uint64_t x32, uint8_t x33 = subborrow_u64(x30, 0x0, x11); + uint64_t x34 = (uint64_t)cmovznz(x33, 0x0, 0xffffffffffffffffL); + uint64_t x35 = (x34 & 0xffffffffffffffffL); + uint64_t x37, uint8_t x38 = addcarryx_u64(0x0, x14, x35); + uint64_t x39 = (x34 & 0xffffffffffffffffL); + uint64_t x41, uint8_t x42 = addcarryx_u64(x38, x17, x39); + uint64_t x43 = (x34 & 0xffffffffffffffffL); + uint64_t x45, uint8_t x46 = addcarryx_u64(x42, x20, x43); + uint64_t x47 = (x34 & 0xfffffffffffeffffL); + uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x23, x47); + uint64_t x51 = (x34 & 0xffffffffffffffffL); + uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x26, x51); + uint64_t x55 = (x34 & 0xffffffffffffffffL); + uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x29, x55); + uint64_t x59 = (x34 & 0xffffffff); + uint64_t x61, uint8_t _ = addcarryx_u64(x58, x32, x59); + (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e416m2e208m1/fesubDisplay.log b/src/Specific/montgomery64_2e416m2e208m1/fesubDisplay.log new file mode 100644 index 000000000..78774d931 --- /dev/null +++ b/src/Specific/montgomery64_2e416m2e208m1/fesubDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x5, x17); + uint64_t x32, uint8_t x33 = subborrow_u64(x30, x7, x19); + uint64_t x35, uint8_t x36 = subborrow_u64(x33, x9, x21); + uint64_t x38, uint8_t x39 = subborrow_u64(x36, x11, x23); + uint64_t x41, uint8_t x42 = subborrow_u64(x39, x13, x25); + uint64_t x44, uint8_t x45 = subborrow_u64(x42, x15, x27); + uint64_t x47, uint8_t x48 = subborrow_u64(x45, x14, x26); + uint64_t x49 = (uint64_t)cmovznz(x48, 0x0, 0xffffffffffffffffL); + uint64_t x50 = (x49 & 0xffffffffffffffffL); + uint64_t x52, uint8_t x53 = addcarryx_u64(0x0, x29, x50); + uint64_t x54 = (x49 & 0xffffffffffffffffL); + uint64_t x56, uint8_t x57 = addcarryx_u64(x53, x32, x54); + uint64_t x58 = (x49 & 0xffffffffffffffffL); + uint64_t x60, uint8_t x61 = addcarryx_u64(x57, x35, x58); + uint64_t x62 = (x49 & 0xfffffffffffeffffL); + uint64_t x64, uint8_t x65 = addcarryx_u64(x61, x38, x62); + uint64_t x66 = (x49 & 0xffffffffffffffffL); + uint64_t x68, uint8_t x69 = addcarryx_u64(x65, x41, x66); + uint64_t x70 = (x49 & 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = addcarryx_u64(x69, x44, x70); + uint64_t x74 = (x49 & 0xffffffff); + uint64_t x76, uint8_t _ = addcarryx_u64(x73, x47, x74); + (Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e444m17/feaddDisplay.log b/src/Specific/montgomery64_2e444m17/feaddDisplay.log new file mode 100644 index 000000000..07c77fb40 --- /dev/null +++ b/src/Specific/montgomery64_2e444m17/feaddDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x5, x17); + uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x7, x19); + uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x9, x21); + uint64_t x38, uint8_t x39 = addcarryx_u64(x36, x11, x23); + uint64_t x41, uint8_t x42 = addcarryx_u64(x39, x13, x25); + uint64_t x44, uint8_t x45 = addcarryx_u64(x42, x15, x27); + uint64_t x47, uint8_t x48 = addcarryx_u64(x45, x14, x26); + uint64_t x50, uint8_t x51 = subborrow_u64(0x0, x29, 0xffffffffffffffefL); + uint64_t x53, uint8_t x54 = subborrow_u64(x51, x32, 0xffffffffffffffffL); + uint64_t x56, uint8_t x57 = subborrow_u64(x54, x35, 0xffffffffffffffffL); + uint64_t x59, uint8_t x60 = subborrow_u64(x57, x38, 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = subborrow_u64(x60, x41, 0xffffffffffffffffL); + uint64_t x65, uint8_t x66 = subborrow_u64(x63, x44, 0xffffffffffffffffL); + uint64_t x68, uint8_t x69 = subborrow_u64(x66, x47, 0xfffffffffffffff); + uint64_t _, uint8_t x72 = subborrow_u64(x69, x48, 0x0); + uint64_t x73 = cmovznz(x72, x68, x47); + uint64_t x74 = cmovznz(x72, x65, x44); + uint64_t x75 = cmovznz(x72, x62, x41); + uint64_t x76 = cmovznz(x72, x59, x38); + uint64_t x77 = cmovznz(x72, x56, x35); + uint64_t x78 = cmovznz(x72, x53, x32); + uint64_t x79 = cmovznz(x72, x50, x29); + return (x73, x74, x75, x76, x77, x78, x79)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e444m17/femulDisplay.log b/src/Specific/montgomery64_2e444m17/femulDisplay.log new file mode 100644 index 000000000..9b567e249 --- /dev/null +++ b/src/Specific/montgomery64_2e444m17/femulDisplay.log @@ -0,0 +1,335 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint64_t x30 = mulx_u64(x5, x17); + uint64_t x32, uint64_t x33 = mulx_u64(x5, x19); + uint64_t x35, uint64_t x36 = mulx_u64(x5, x21); + uint64_t x38, uint64_t x39 = mulx_u64(x5, x23); + uint64_t x41, uint64_t x42 = mulx_u64(x5, x25); + uint64_t x44, uint64_t x45 = mulx_u64(x5, x27); + uint64_t x47, uint64_t x48 = mulx_u64(x5, x26); + uint64_t x50, uint8_t x51 = addcarryx_u64(0x0, x30, x32); + uint64_t x53, uint8_t x54 = addcarryx_u64(x51, x33, x35); + uint64_t x56, uint8_t x57 = addcarryx_u64(x54, x36, x38); + uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x39, x41); + uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x42, x44); + uint64_t x65, uint8_t x66 = addcarryx_u64(x63, x45, x47); + uint64_t x68, uint8_t _ = addcarryx_u64(0x0, x66, x48); + uint64_t x71, uint64_t _ = mulx_u64(x29, 0xf0f0f0f0f0f0f0f1L); + uint64_t x74, uint64_t x75 = mulx_u64(x71, 0xffffffffffffffefL); + uint64_t x77, uint64_t x78 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x80, uint64_t x81 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x83, uint64_t x84 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x86, uint64_t x87 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x89, uint64_t x90 = mulx_u64(x71, 0xffffffffffffffffL); + uint64_t x92, uint64_t x93 = mulx_u64(x71, 0xfffffffffffffff); + uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x75, x77); + uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x78, x80); + uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x81, x83); + uint64_t x104, uint8_t x105 = addcarryx_u64(x102, x84, x86); + uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x87, x89); + uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x90, x92); + uint64_t x113, uint8_t _ = addcarryx_u64(0x0, x111, x93); + uint64_t _, uint8_t x117 = addcarryx_u64(0x0, x29, x74); + uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x50, x95); + uint64_t x122, uint8_t x123 = addcarryx_u64(x120, x53, x98); + uint64_t x125, uint8_t x126 = addcarryx_u64(x123, x56, x101); + uint64_t x128, uint8_t x129 = addcarryx_u64(x126, x59, x104); + uint64_t x131, uint8_t x132 = addcarryx_u64(x129, x62, x107); + uint64_t x134, uint8_t x135 = addcarryx_u64(x132, x65, x110); + uint64_t x137, uint8_t x138 = addcarryx_u64(x135, x68, x113); + uint64_t x140, uint64_t x141 = mulx_u64(x7, x17); + uint64_t x143, uint64_t x144 = mulx_u64(x7, x19); + uint64_t x146, uint64_t x147 = mulx_u64(x7, x21); + uint64_t x149, uint64_t x150 = mulx_u64(x7, x23); + uint64_t x152, uint64_t x153 = mulx_u64(x7, x25); + uint64_t x155, uint64_t x156 = mulx_u64(x7, x27); + uint64_t x158, uint64_t x159 = mulx_u64(x7, x26); + uint64_t x161, uint8_t x162 = addcarryx_u64(0x0, x141, x143); + uint64_t x164, uint8_t x165 = addcarryx_u64(x162, x144, x146); + uint64_t x167, uint8_t x168 = addcarryx_u64(x165, x147, x149); + uint64_t x170, uint8_t x171 = addcarryx_u64(x168, x150, x152); + uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x153, x155); + uint64_t x176, uint8_t x177 = addcarryx_u64(x174, x156, x158); + uint64_t x179, uint8_t _ = addcarryx_u64(0x0, x177, x159); + uint64_t x182, uint8_t x183 = addcarryx_u64(0x0, x119, x140); + uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x122, x161); + uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x125, x164); + uint64_t x191, uint8_t x192 = addcarryx_u64(x189, x128, x167); + uint64_t x194, uint8_t x195 = addcarryx_u64(x192, x131, x170); + uint64_t x197, uint8_t x198 = addcarryx_u64(x195, x134, x173); + uint64_t x200, uint8_t x201 = addcarryx_u64(x198, x137, x176); + uint64_t x203, uint8_t x204 = addcarryx_u64(x201, x138, x179); + uint64_t x206, uint64_t _ = mulx_u64(x182, 0xf0f0f0f0f0f0f0f1L); + uint64_t x209, uint64_t x210 = mulx_u64(x206, 0xffffffffffffffefL); + uint64_t x212, uint64_t x213 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x215, uint64_t x216 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x218, uint64_t x219 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x221, uint64_t x222 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x224, uint64_t x225 = mulx_u64(x206, 0xffffffffffffffffL); + uint64_t x227, uint64_t x228 = mulx_u64(x206, 0xfffffffffffffff); + uint64_t x230, uint8_t x231 = addcarryx_u64(0x0, x210, x212); + uint64_t x233, uint8_t x234 = addcarryx_u64(x231, x213, x215); + uint64_t x236, uint8_t x237 = addcarryx_u64(x234, x216, x218); + uint64_t x239, uint8_t x240 = addcarryx_u64(x237, x219, x221); + uint64_t x242, uint8_t x243 = addcarryx_u64(x240, x222, x224); + uint64_t x245, uint8_t x246 = addcarryx_u64(x243, x225, x227); + uint64_t x248, uint8_t _ = addcarryx_u64(0x0, x246, x228); + uint64_t _, uint8_t x252 = addcarryx_u64(0x0, x182, x209); + uint64_t x254, uint8_t x255 = addcarryx_u64(x252, x185, x230); + uint64_t x257, uint8_t x258 = addcarryx_u64(x255, x188, x233); + uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x191, x236); + uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x194, x239); + uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x197, x242); + uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x200, x245); + uint64_t x272, uint8_t x273 = addcarryx_u64(x270, x203, x248); + uint8_t x274 = (x273 + x204); + uint64_t x276, uint64_t x277 = mulx_u64(x9, x17); + uint64_t x279, uint64_t x280 = mulx_u64(x9, x19); + uint64_t x282, uint64_t x283 = mulx_u64(x9, x21); + uint64_t x285, uint64_t x286 = mulx_u64(x9, x23); + uint64_t x288, uint64_t x289 = mulx_u64(x9, x25); + uint64_t x291, uint64_t x292 = mulx_u64(x9, x27); + uint64_t x294, uint64_t x295 = mulx_u64(x9, x26); + uint64_t x297, uint8_t x298 = addcarryx_u64(0x0, x277, x279); + uint64_t x300, uint8_t x301 = addcarryx_u64(x298, x280, x282); + uint64_t x303, uint8_t x304 = addcarryx_u64(x301, x283, x285); + uint64_t x306, uint8_t x307 = addcarryx_u64(x304, x286, x288); + uint64_t x309, uint8_t x310 = addcarryx_u64(x307, x289, x291); + uint64_t x312, uint8_t x313 = addcarryx_u64(x310, x292, x294); + uint64_t x315, uint8_t _ = addcarryx_u64(0x0, x313, x295); + uint64_t x318, uint8_t x319 = addcarryx_u64(0x0, x254, x276); + uint64_t x321, uint8_t x322 = addcarryx_u64(x319, x257, x297); + uint64_t x324, uint8_t x325 = addcarryx_u64(x322, x260, x300); + uint64_t x327, uint8_t x328 = addcarryx_u64(x325, x263, x303); + uint64_t x330, uint8_t x331 = addcarryx_u64(x328, x266, x306); + uint64_t x333, uint8_t x334 = addcarryx_u64(x331, x269, x309); + uint64_t x336, uint8_t x337 = addcarryx_u64(x334, x272, x312); + uint64_t x339, uint8_t x340 = addcarryx_u64(x337, x274, x315); + uint64_t x342, uint64_t _ = mulx_u64(x318, 0xf0f0f0f0f0f0f0f1L); + uint64_t x345, uint64_t x346 = mulx_u64(x342, 0xffffffffffffffefL); + uint64_t x348, uint64_t x349 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x351, uint64_t x352 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x354, uint64_t x355 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x357, uint64_t x358 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x360, uint64_t x361 = mulx_u64(x342, 0xffffffffffffffffL); + uint64_t x363, uint64_t x364 = mulx_u64(x342, 0xfffffffffffffff); + uint64_t x366, uint8_t x367 = addcarryx_u64(0x0, x346, x348); + uint64_t x369, uint8_t x370 = addcarryx_u64(x367, x349, x351); + uint64_t x372, uint8_t x373 = addcarryx_u64(x370, x352, x354); + uint64_t x375, uint8_t x376 = addcarryx_u64(x373, x355, x357); + uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x358, x360); + uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x361, x363); + uint64_t x384, uint8_t _ = addcarryx_u64(0x0, x382, x364); + uint64_t _, uint8_t x388 = addcarryx_u64(0x0, x318, x345); + uint64_t x390, uint8_t x391 = addcarryx_u64(x388, x321, x366); + uint64_t x393, uint8_t x394 = addcarryx_u64(x391, x324, x369); + uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x327, x372); + uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x330, x375); + uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x333, x378); + uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x336, x381); + uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x339, x384); + uint8_t x410 = (x409 + x340); + uint64_t x412, uint64_t x413 = mulx_u64(x11, x17); + uint64_t x415, uint64_t x416 = mulx_u64(x11, x19); + uint64_t x418, uint64_t x419 = mulx_u64(x11, x21); + uint64_t x421, uint64_t x422 = mulx_u64(x11, x23); + uint64_t x424, uint64_t x425 = mulx_u64(x11, x25); + uint64_t x427, uint64_t x428 = mulx_u64(x11, x27); + uint64_t x430, uint64_t x431 = mulx_u64(x11, x26); + uint64_t x433, uint8_t x434 = addcarryx_u64(0x0, x413, x415); + uint64_t x436, uint8_t x437 = addcarryx_u64(x434, x416, x418); + uint64_t x439, uint8_t x440 = addcarryx_u64(x437, x419, x421); + uint64_t x442, uint8_t x443 = addcarryx_u64(x440, x422, x424); + uint64_t x445, uint8_t x446 = addcarryx_u64(x443, x425, x427); + uint64_t x448, uint8_t x449 = addcarryx_u64(x446, x428, x430); + uint64_t x451, uint8_t _ = addcarryx_u64(0x0, x449, x431); + uint64_t x454, uint8_t x455 = addcarryx_u64(0x0, x390, x412); + uint64_t x457, uint8_t x458 = addcarryx_u64(x455, x393, x433); + uint64_t x460, uint8_t x461 = addcarryx_u64(x458, x396, x436); + uint64_t x463, uint8_t x464 = addcarryx_u64(x461, x399, x439); + uint64_t x466, uint8_t x467 = addcarryx_u64(x464, x402, x442); + uint64_t x469, uint8_t x470 = addcarryx_u64(x467, x405, x445); + uint64_t x472, uint8_t x473 = addcarryx_u64(x470, x408, x448); + uint64_t x475, uint8_t x476 = addcarryx_u64(x473, x410, x451); + uint64_t x478, uint64_t _ = mulx_u64(x454, 0xf0f0f0f0f0f0f0f1L); + uint64_t x481, uint64_t x482 = mulx_u64(x478, 0xffffffffffffffefL); + uint64_t x484, uint64_t x485 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x487, uint64_t x488 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x490, uint64_t x491 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x493, uint64_t x494 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x496, uint64_t x497 = mulx_u64(x478, 0xffffffffffffffffL); + uint64_t x499, uint64_t x500 = mulx_u64(x478, 0xfffffffffffffff); + uint64_t x502, uint8_t x503 = addcarryx_u64(0x0, x482, x484); + uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x485, x487); + uint64_t x508, uint8_t x509 = addcarryx_u64(x506, x488, x490); + uint64_t x511, uint8_t x512 = addcarryx_u64(x509, x491, x493); + uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x494, x496); + uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x497, x499); + uint64_t x520, uint8_t _ = addcarryx_u64(0x0, x518, x500); + uint64_t _, uint8_t x524 = addcarryx_u64(0x0, x454, x481); + uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x457, x502); + uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x460, x505); + uint64_t x532, uint8_t x533 = addcarryx_u64(x530, x463, x508); + uint64_t x535, uint8_t x536 = addcarryx_u64(x533, x466, x511); + uint64_t x538, uint8_t x539 = addcarryx_u64(x536, x469, x514); + uint64_t x541, uint8_t x542 = addcarryx_u64(x539, x472, x517); + uint64_t x544, uint8_t x545 = addcarryx_u64(x542, x475, x520); + uint8_t x546 = (x545 + x476); + uint64_t x548, uint64_t x549 = mulx_u64(x13, x17); + uint64_t x551, uint64_t x552 = mulx_u64(x13, x19); + uint64_t x554, uint64_t x555 = mulx_u64(x13, x21); + uint64_t x557, uint64_t x558 = mulx_u64(x13, x23); + uint64_t x560, uint64_t x561 = mulx_u64(x13, x25); + uint64_t x563, uint64_t x564 = mulx_u64(x13, x27); + uint64_t x566, uint64_t x567 = mulx_u64(x13, x26); + uint64_t x569, uint8_t x570 = addcarryx_u64(0x0, x549, x551); + uint64_t x572, uint8_t x573 = addcarryx_u64(x570, x552, x554); + uint64_t x575, uint8_t x576 = addcarryx_u64(x573, x555, x557); + uint64_t x578, uint8_t x579 = addcarryx_u64(x576, x558, x560); + uint64_t x581, uint8_t x582 = addcarryx_u64(x579, x561, x563); + uint64_t x584, uint8_t x585 = addcarryx_u64(x582, x564, x566); + uint64_t x587, uint8_t _ = addcarryx_u64(0x0, x585, x567); + uint64_t x590, uint8_t x591 = addcarryx_u64(0x0, x526, x548); + uint64_t x593, uint8_t x594 = addcarryx_u64(x591, x529, x569); + uint64_t x596, uint8_t x597 = addcarryx_u64(x594, x532, x572); + uint64_t x599, uint8_t x600 = addcarryx_u64(x597, x535, x575); + uint64_t x602, uint8_t x603 = addcarryx_u64(x600, x538, x578); + uint64_t x605, uint8_t x606 = addcarryx_u64(x603, x541, x581); + uint64_t x608, uint8_t x609 = addcarryx_u64(x606, x544, x584); + uint64_t x611, uint8_t x612 = addcarryx_u64(x609, x546, x587); + uint64_t x614, uint64_t _ = mulx_u64(x590, 0xf0f0f0f0f0f0f0f1L); + uint64_t x617, uint64_t x618 = mulx_u64(x614, 0xffffffffffffffefL); + uint64_t x620, uint64_t x621 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x623, uint64_t x624 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x626, uint64_t x627 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x629, uint64_t x630 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x632, uint64_t x633 = mulx_u64(x614, 0xffffffffffffffffL); + uint64_t x635, uint64_t x636 = mulx_u64(x614, 0xfffffffffffffff); + uint64_t x638, uint8_t x639 = addcarryx_u64(0x0, x618, x620); + uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x621, x623); + uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x624, x626); + uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x627, x629); + uint64_t x650, uint8_t x651 = addcarryx_u64(x648, x630, x632); + uint64_t x653, uint8_t x654 = addcarryx_u64(x651, x633, x635); + uint64_t x656, uint8_t _ = addcarryx_u64(0x0, x654, x636); + uint64_t _, uint8_t x660 = addcarryx_u64(0x0, x590, x617); + uint64_t x662, uint8_t x663 = addcarryx_u64(x660, x593, x638); + uint64_t x665, uint8_t x666 = addcarryx_u64(x663, x596, x641); + uint64_t x668, uint8_t x669 = addcarryx_u64(x666, x599, x644); + uint64_t x671, uint8_t x672 = addcarryx_u64(x669, x602, x647); + uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x605, x650); + uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x608, x653); + uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x611, x656); + uint8_t x682 = (x681 + x612); + uint64_t x684, uint64_t x685 = mulx_u64(x15, x17); + uint64_t x687, uint64_t x688 = mulx_u64(x15, x19); + uint64_t x690, uint64_t x691 = mulx_u64(x15, x21); + uint64_t x693, uint64_t x694 = mulx_u64(x15, x23); + uint64_t x696, uint64_t x697 = mulx_u64(x15, x25); + uint64_t x699, uint64_t x700 = mulx_u64(x15, x27); + uint64_t x702, uint64_t x703 = mulx_u64(x15, x26); + uint64_t x705, uint8_t x706 = addcarryx_u64(0x0, x685, x687); + uint64_t x708, uint8_t x709 = addcarryx_u64(x706, x688, x690); + uint64_t x711, uint8_t x712 = addcarryx_u64(x709, x691, x693); + uint64_t x714, uint8_t x715 = addcarryx_u64(x712, x694, x696); + uint64_t x717, uint8_t x718 = addcarryx_u64(x715, x697, x699); + uint64_t x720, uint8_t x721 = addcarryx_u64(x718, x700, x702); + uint64_t x723, uint8_t _ = addcarryx_u64(0x0, x721, x703); + uint64_t x726, uint8_t x727 = addcarryx_u64(0x0, x662, x684); + uint64_t x729, uint8_t x730 = addcarryx_u64(x727, x665, x705); + uint64_t x732, uint8_t x733 = addcarryx_u64(x730, x668, x708); + uint64_t x735, uint8_t x736 = addcarryx_u64(x733, x671, x711); + uint64_t x738, uint8_t x739 = addcarryx_u64(x736, x674, x714); + uint64_t x741, uint8_t x742 = addcarryx_u64(x739, x677, x717); + uint64_t x744, uint8_t x745 = addcarryx_u64(x742, x680, x720); + uint64_t x747, uint8_t x748 = addcarryx_u64(x745, x682, x723); + uint64_t x750, uint64_t _ = mulx_u64(x726, 0xf0f0f0f0f0f0f0f1L); + uint64_t x753, uint64_t x754 = mulx_u64(x750, 0xffffffffffffffefL); + uint64_t x756, uint64_t x757 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x759, uint64_t x760 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x762, uint64_t x763 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x765, uint64_t x766 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x768, uint64_t x769 = mulx_u64(x750, 0xffffffffffffffffL); + uint64_t x771, uint64_t x772 = mulx_u64(x750, 0xfffffffffffffff); + uint64_t x774, uint8_t x775 = addcarryx_u64(0x0, x754, x756); + uint64_t x777, uint8_t x778 = addcarryx_u64(x775, x757, x759); + uint64_t x780, uint8_t x781 = addcarryx_u64(x778, x760, x762); + uint64_t x783, uint8_t x784 = addcarryx_u64(x781, x763, x765); + uint64_t x786, uint8_t x787 = addcarryx_u64(x784, x766, x768); + uint64_t x789, uint8_t x790 = addcarryx_u64(x787, x769, x771); + uint64_t x792, uint8_t _ = addcarryx_u64(0x0, x790, x772); + uint64_t _, uint8_t x796 = addcarryx_u64(0x0, x726, x753); + uint64_t x798, uint8_t x799 = addcarryx_u64(x796, x729, x774); + uint64_t x801, uint8_t x802 = addcarryx_u64(x799, x732, x777); + uint64_t x804, uint8_t x805 = addcarryx_u64(x802, x735, x780); + uint64_t x807, uint8_t x808 = addcarryx_u64(x805, x738, x783); + uint64_t x810, uint8_t x811 = addcarryx_u64(x808, x741, x786); + uint64_t x813, uint8_t x814 = addcarryx_u64(x811, x744, x789); + uint64_t x816, uint8_t x817 = addcarryx_u64(x814, x747, x792); + uint8_t x818 = (x817 + x748); + uint64_t x820, uint64_t x821 = mulx_u64(x14, x17); + uint64_t x823, uint64_t x824 = mulx_u64(x14, x19); + uint64_t x826, uint64_t x827 = mulx_u64(x14, x21); + uint64_t x829, uint64_t x830 = mulx_u64(x14, x23); + uint64_t x832, uint64_t x833 = mulx_u64(x14, x25); + uint64_t x835, uint64_t x836 = mulx_u64(x14, x27); + uint64_t x838, uint64_t x839 = mulx_u64(x14, x26); + uint64_t x841, uint8_t x842 = addcarryx_u64(0x0, x821, x823); + uint64_t x844, uint8_t x845 = addcarryx_u64(x842, x824, x826); + uint64_t x847, uint8_t x848 = addcarryx_u64(x845, x827, x829); + uint64_t x850, uint8_t x851 = addcarryx_u64(x848, x830, x832); + uint64_t x853, uint8_t x854 = addcarryx_u64(x851, x833, x835); + uint64_t x856, uint8_t x857 = addcarryx_u64(x854, x836, x838); + uint64_t x859, uint8_t _ = addcarryx_u64(0x0, x857, x839); + uint64_t x862, uint8_t x863 = addcarryx_u64(0x0, x798, x820); + uint64_t x865, uint8_t x866 = addcarryx_u64(x863, x801, x841); + uint64_t x868, uint8_t x869 = addcarryx_u64(x866, x804, x844); + uint64_t x871, uint8_t x872 = addcarryx_u64(x869, x807, x847); + uint64_t x874, uint8_t x875 = addcarryx_u64(x872, x810, x850); + uint64_t x877, uint8_t x878 = addcarryx_u64(x875, x813, x853); + uint64_t x880, uint8_t x881 = addcarryx_u64(x878, x816, x856); + uint64_t x883, uint8_t x884 = addcarryx_u64(x881, x818, x859); + uint64_t x886, uint64_t _ = mulx_u64(x862, 0xf0f0f0f0f0f0f0f1L); + uint64_t x889, uint64_t x890 = mulx_u64(x886, 0xffffffffffffffefL); + uint64_t x892, uint64_t x893 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x895, uint64_t x896 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x898, uint64_t x899 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x901, uint64_t x902 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x904, uint64_t x905 = mulx_u64(x886, 0xffffffffffffffffL); + uint64_t x907, uint64_t x908 = mulx_u64(x886, 0xfffffffffffffff); + uint64_t x910, uint8_t x911 = addcarryx_u64(0x0, x890, x892); + uint64_t x913, uint8_t x914 = addcarryx_u64(x911, x893, x895); + uint64_t x916, uint8_t x917 = addcarryx_u64(x914, x896, x898); + uint64_t x919, uint8_t x920 = addcarryx_u64(x917, x899, x901); + uint64_t x922, uint8_t x923 = addcarryx_u64(x920, x902, x904); + uint64_t x925, uint8_t x926 = addcarryx_u64(x923, x905, x907); + uint64_t x928, uint8_t _ = addcarryx_u64(0x0, x926, x908); + uint64_t _, uint8_t x932 = addcarryx_u64(0x0, x862, x889); + uint64_t x934, uint8_t x935 = addcarryx_u64(x932, x865, x910); + uint64_t x937, uint8_t x938 = addcarryx_u64(x935, x868, x913); + uint64_t x940, uint8_t x941 = addcarryx_u64(x938, x871, x916); + uint64_t x943, uint8_t x944 = addcarryx_u64(x941, x874, x919); + uint64_t x946, uint8_t x947 = addcarryx_u64(x944, x877, x922); + uint64_t x949, uint8_t x950 = addcarryx_u64(x947, x880, x925); + uint64_t x952, uint8_t x953 = addcarryx_u64(x950, x883, x928); + uint8_t x954 = (x953 + x884); + uint64_t x956, uint8_t x957 = subborrow_u64(0x0, x934, 0xffffffffffffffefL); + uint64_t x959, uint8_t x960 = subborrow_u64(x957, x937, 0xffffffffffffffffL); + uint64_t x962, uint8_t x963 = subborrow_u64(x960, x940, 0xffffffffffffffffL); + uint64_t x965, uint8_t x966 = subborrow_u64(x963, x943, 0xffffffffffffffffL); + uint64_t x968, uint8_t x969 = subborrow_u64(x966, x946, 0xffffffffffffffffL); + uint64_t x971, uint8_t x972 = subborrow_u64(x969, x949, 0xffffffffffffffffL); + uint64_t x974, uint8_t x975 = subborrow_u64(x972, x952, 0xfffffffffffffff); + uint64_t _, uint8_t x978 = subborrow_u64(x975, x954, 0x0); + uint64_t x979 = cmovznz(x978, x974, x952); + uint64_t x980 = cmovznz(x978, x971, x949); + uint64_t x981 = cmovznz(x978, x968, x946); + uint64_t x982 = cmovznz(x978, x965, x943); + uint64_t x983 = cmovznz(x978, x962, x940); + uint64_t x984 = cmovznz(x978, x959, x937); + uint64_t x985 = cmovznz(x978, x956, x934); + return (x979, x980, x981, x982, x983, x984, x985)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e444m17/feoppDisplay.log b/src/Specific/montgomery64_2e444m17/feoppDisplay.log new file mode 100644 index 000000000..de7df3687 --- /dev/null +++ b/src/Specific/montgomery64_2e444m17/feoppDisplay.log @@ -0,0 +1,29 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x11, x12, x10, x8, x6, x4, x2)%core, + uint64_t x14, uint8_t x15 = subborrow_u64(0x0, 0x0, x2); + uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x4); + uint64_t x20, uint8_t x21 = subborrow_u64(x18, 0x0, x6); + uint64_t x23, uint8_t x24 = subborrow_u64(x21, 0x0, x8); + uint64_t x26, uint8_t x27 = subborrow_u64(x24, 0x0, x10); + uint64_t x29, uint8_t x30 = subborrow_u64(x27, 0x0, x12); + uint64_t x32, uint8_t x33 = subborrow_u64(x30, 0x0, x11); + uint64_t x34 = (uint64_t)cmovznz(x33, 0x0, 0xffffffffffffffffL); + uint64_t x35 = (x34 & 0xffffffffffffffefL); + uint64_t x37, uint8_t x38 = addcarryx_u64(0x0, x14, x35); + uint64_t x39 = (x34 & 0xffffffffffffffffL); + uint64_t x41, uint8_t x42 = addcarryx_u64(x38, x17, x39); + uint64_t x43 = (x34 & 0xffffffffffffffffL); + uint64_t x45, uint8_t x46 = addcarryx_u64(x42, x20, x43); + uint64_t x47 = (x34 & 0xffffffffffffffffL); + uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x23, x47); + uint64_t x51 = (x34 & 0xffffffffffffffffL); + uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x26, x51); + uint64_t x55 = (x34 & 0xffffffffffffffffL); + uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x29, x55); + uint64_t x59 = (x34 & 0xfffffffffffffff); + uint64_t x61, uint8_t _ = addcarryx_u64(x58, x32, x59); + (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e444m17/fesubDisplay.log b/src/Specific/montgomery64_2e444m17/fesubDisplay.log new file mode 100644 index 000000000..3466e5141 --- /dev/null +++ b/src/Specific/montgomery64_2e444m17/fesubDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x5, x17); + uint64_t x32, uint8_t x33 = subborrow_u64(x30, x7, x19); + uint64_t x35, uint8_t x36 = subborrow_u64(x33, x9, x21); + uint64_t x38, uint8_t x39 = subborrow_u64(x36, x11, x23); + uint64_t x41, uint8_t x42 = subborrow_u64(x39, x13, x25); + uint64_t x44, uint8_t x45 = subborrow_u64(x42, x15, x27); + uint64_t x47, uint8_t x48 = subborrow_u64(x45, x14, x26); + uint64_t x49 = (uint64_t)cmovznz(x48, 0x0, 0xffffffffffffffffL); + uint64_t x50 = (x49 & 0xffffffffffffffefL); + uint64_t x52, uint8_t x53 = addcarryx_u64(0x0, x29, x50); + uint64_t x54 = (x49 & 0xffffffffffffffffL); + uint64_t x56, uint8_t x57 = addcarryx_u64(x53, x32, x54); + uint64_t x58 = (x49 & 0xffffffffffffffffL); + uint64_t x60, uint8_t x61 = addcarryx_u64(x57, x35, x58); + uint64_t x62 = (x49 & 0xffffffffffffffffL); + uint64_t x64, uint8_t x65 = addcarryx_u64(x61, x38, x62); + uint64_t x66 = (x49 & 0xffffffffffffffffL); + uint64_t x68, uint8_t x69 = addcarryx_u64(x65, x41, x66); + uint64_t x70 = (x49 & 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = addcarryx_u64(x69, x44, x70); + uint64_t x74 = (x49 & 0xfffffffffffffff); + uint64_t x76, uint8_t _ = addcarryx_u64(x73, x47, x74); + (Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e448m2e224m1/feaddDisplay.log b/src/Specific/montgomery64_2e448m2e224m1/feaddDisplay.log index 90dd2f368..566d9f75c 100644 --- a/src/Specific/montgomery64_2e448m2e224m1/feaddDisplay.log +++ b/src/Specific/montgomery64_2e448m2e224m1/feaddDisplay.log @@ -12,7 +12,7 @@ Interp-η uint64_t x50, uint8_t x51 = subborrow_u64(0x0, x29, 0xffffffffffffffffL); uint64_t x53, uint8_t x54 = subborrow_u64(x51, x32, 0xffffffffffffffffL); uint64_t x56, uint8_t x57 = subborrow_u64(x54, x35, 0xffffffffffffffffL); - uint64_t x59, uint8_t x60 = subborrow_u64(x57, x38, Const 18446744069414584319); + uint64_t x59, uint8_t x60 = subborrow_u64(x57, x38, 0xfffffffeffffffffL); uint64_t x62, uint8_t x63 = subborrow_u64(x60, x41, 0xffffffffffffffffL); uint64_t x65, uint8_t x66 = subborrow_u64(x63, x44, 0xffffffffffffffffL); uint64_t x68, uint8_t x69 = subborrow_u64(x66, x47, 0xffffffffffffffffL); diff --git a/src/Specific/montgomery64_2e448m2e224m1/femulDisplay.log b/src/Specific/montgomery64_2e448m2e224m1/femulDisplay.log new file mode 100644 index 000000000..9540c04d8 --- /dev/null +++ b/src/Specific/montgomery64_2e448m2e224m1/femulDisplay.log @@ -0,0 +1,328 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint64_t x30 = mulx_u64(x5, x17); + uint64_t x32, uint64_t x33 = mulx_u64(x5, x19); + uint64_t x35, uint64_t x36 = mulx_u64(x5, x21); + uint64_t x38, uint64_t x39 = mulx_u64(x5, x23); + uint64_t x41, uint64_t x42 = mulx_u64(x5, x25); + uint64_t x44, uint64_t x45 = mulx_u64(x5, x27); + uint64_t x47, uint64_t x48 = mulx_u64(x5, x26); + uint64_t x50, uint8_t x51 = addcarryx_u64(0x0, x30, x32); + uint64_t x53, uint8_t x54 = addcarryx_u64(x51, x33, x35); + uint64_t x56, uint8_t x57 = addcarryx_u64(x54, x36, x38); + uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x39, x41); + uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x42, x44); + uint64_t x65, uint8_t x66 = addcarryx_u64(x63, x45, x47); + uint64_t x68, uint8_t _ = addcarryx_u64(0x0, x66, x48); + uint64_t x71, uint64_t x72 = mulx_u64(x29, 0xffffffffffffffffL); + uint64_t x74, uint64_t x75 = mulx_u64(x29, 0xffffffffffffffffL); + uint64_t x77, uint64_t x78 = mulx_u64(x29, 0xffffffffffffffffL); + uint64_t x80, uint64_t x81 = mulx_u64(x29, 0xfffffffeffffffffL); + uint64_t x83, uint64_t x84 = mulx_u64(x29, 0xffffffffffffffffL); + uint64_t x86, uint64_t x87 = mulx_u64(x29, 0xffffffffffffffffL); + uint64_t x89, uint64_t x90 = mulx_u64(x29, 0xffffffffffffffffL); + uint64_t x92, uint8_t x93 = addcarryx_u64(0x0, x72, x74); + uint64_t x95, uint8_t x96 = addcarryx_u64(x93, x75, x77); + uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x78, x80); + uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x81, x83); + uint64_t x104, uint8_t x105 = addcarryx_u64(x102, x84, x86); + uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x87, x89); + uint64_t x110, uint8_t _ = addcarryx_u64(0x0, x108, x90); + uint64_t _, uint8_t x114 = addcarryx_u64(0x0, x29, x71); + uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x50, x92); + uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x53, x95); + uint64_t x122, uint8_t x123 = addcarryx_u64(x120, x56, x98); + uint64_t x125, uint8_t x126 = addcarryx_u64(x123, x59, x101); + uint64_t x128, uint8_t x129 = addcarryx_u64(x126, x62, x104); + uint64_t x131, uint8_t x132 = addcarryx_u64(x129, x65, x107); + uint64_t x134, uint8_t x135 = addcarryx_u64(x132, x68, x110); + uint64_t x137, uint64_t x138 = mulx_u64(x7, x17); + uint64_t x140, uint64_t x141 = mulx_u64(x7, x19); + uint64_t x143, uint64_t x144 = mulx_u64(x7, x21); + uint64_t x146, uint64_t x147 = mulx_u64(x7, x23); + uint64_t x149, uint64_t x150 = mulx_u64(x7, x25); + uint64_t x152, uint64_t x153 = mulx_u64(x7, x27); + uint64_t x155, uint64_t x156 = mulx_u64(x7, x26); + uint64_t x158, uint8_t x159 = addcarryx_u64(0x0, x138, x140); + uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x141, x143); + uint64_t x164, uint8_t x165 = addcarryx_u64(x162, x144, x146); + uint64_t x167, uint8_t x168 = addcarryx_u64(x165, x147, x149); + uint64_t x170, uint8_t x171 = addcarryx_u64(x168, x150, x152); + uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x153, x155); + uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x156); + uint64_t x179, uint8_t x180 = addcarryx_u64(0x0, x116, x137); + uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x119, x158); + uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x122, x161); + uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x125, x164); + uint64_t x191, uint8_t x192 = addcarryx_u64(x189, x128, x167); + uint64_t x194, uint8_t x195 = addcarryx_u64(x192, x131, x170); + uint64_t x197, uint8_t x198 = addcarryx_u64(x195, x134, x173); + uint64_t x200, uint8_t x201 = addcarryx_u64(x198, x135, x176); + uint64_t x203, uint64_t x204 = mulx_u64(x179, 0xffffffffffffffffL); + uint64_t x206, uint64_t x207 = mulx_u64(x179, 0xffffffffffffffffL); + uint64_t x209, uint64_t x210 = mulx_u64(x179, 0xffffffffffffffffL); + uint64_t x212, uint64_t x213 = mulx_u64(x179, 0xfffffffeffffffffL); + uint64_t x215, uint64_t x216 = mulx_u64(x179, 0xffffffffffffffffL); + uint64_t x218, uint64_t x219 = mulx_u64(x179, 0xffffffffffffffffL); + uint64_t x221, uint64_t x222 = mulx_u64(x179, 0xffffffffffffffffL); + uint64_t x224, uint8_t x225 = addcarryx_u64(0x0, x204, x206); + uint64_t x227, uint8_t x228 = addcarryx_u64(x225, x207, x209); + uint64_t x230, uint8_t x231 = addcarryx_u64(x228, x210, x212); + uint64_t x233, uint8_t x234 = addcarryx_u64(x231, x213, x215); + uint64_t x236, uint8_t x237 = addcarryx_u64(x234, x216, x218); + uint64_t x239, uint8_t x240 = addcarryx_u64(x237, x219, x221); + uint64_t x242, uint8_t _ = addcarryx_u64(0x0, x240, x222); + uint64_t _, uint8_t x246 = addcarryx_u64(0x0, x179, x203); + uint64_t x248, uint8_t x249 = addcarryx_u64(x246, x182, x224); + uint64_t x251, uint8_t x252 = addcarryx_u64(x249, x185, x227); + uint64_t x254, uint8_t x255 = addcarryx_u64(x252, x188, x230); + uint64_t x257, uint8_t x258 = addcarryx_u64(x255, x191, x233); + uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x194, x236); + uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x197, x239); + uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x200, x242); + uint8_t x268 = (x267 + x201); + uint64_t x270, uint64_t x271 = mulx_u64(x9, x17); + uint64_t x273, uint64_t x274 = mulx_u64(x9, x19); + uint64_t x276, uint64_t x277 = mulx_u64(x9, x21); + uint64_t x279, uint64_t x280 = mulx_u64(x9, x23); + uint64_t x282, uint64_t x283 = mulx_u64(x9, x25); + uint64_t x285, uint64_t x286 = mulx_u64(x9, x27); + uint64_t x288, uint64_t x289 = mulx_u64(x9, x26); + uint64_t x291, uint8_t x292 = addcarryx_u64(0x0, x271, x273); + uint64_t x294, uint8_t x295 = addcarryx_u64(x292, x274, x276); + uint64_t x297, uint8_t x298 = addcarryx_u64(x295, x277, x279); + uint64_t x300, uint8_t x301 = addcarryx_u64(x298, x280, x282); + uint64_t x303, uint8_t x304 = addcarryx_u64(x301, x283, x285); + uint64_t x306, uint8_t x307 = addcarryx_u64(x304, x286, x288); + uint64_t x309, uint8_t _ = addcarryx_u64(0x0, x307, x289); + uint64_t x312, uint8_t x313 = addcarryx_u64(0x0, x248, x270); + uint64_t x315, uint8_t x316 = addcarryx_u64(x313, x251, x291); + uint64_t x318, uint8_t x319 = addcarryx_u64(x316, x254, x294); + uint64_t x321, uint8_t x322 = addcarryx_u64(x319, x257, x297); + uint64_t x324, uint8_t x325 = addcarryx_u64(x322, x260, x300); + uint64_t x327, uint8_t x328 = addcarryx_u64(x325, x263, x303); + uint64_t x330, uint8_t x331 = addcarryx_u64(x328, x266, x306); + uint64_t x333, uint8_t x334 = addcarryx_u64(x331, x268, x309); + uint64_t x336, uint64_t x337 = mulx_u64(x312, 0xffffffffffffffffL); + uint64_t x339, uint64_t x340 = mulx_u64(x312, 0xffffffffffffffffL); + uint64_t x342, uint64_t x343 = mulx_u64(x312, 0xffffffffffffffffL); + uint64_t x345, uint64_t x346 = mulx_u64(x312, 0xfffffffeffffffffL); + uint64_t x348, uint64_t x349 = mulx_u64(x312, 0xffffffffffffffffL); + uint64_t x351, uint64_t x352 = mulx_u64(x312, 0xffffffffffffffffL); + uint64_t x354, uint64_t x355 = mulx_u64(x312, 0xffffffffffffffffL); + uint64_t x357, uint8_t x358 = addcarryx_u64(0x0, x337, x339); + uint64_t x360, uint8_t x361 = addcarryx_u64(x358, x340, x342); + uint64_t x363, uint8_t x364 = addcarryx_u64(x361, x343, x345); + uint64_t x366, uint8_t x367 = addcarryx_u64(x364, x346, x348); + uint64_t x369, uint8_t x370 = addcarryx_u64(x367, x349, x351); + uint64_t x372, uint8_t x373 = addcarryx_u64(x370, x352, x354); + uint64_t x375, uint8_t _ = addcarryx_u64(0x0, x373, x355); + uint64_t _, uint8_t x379 = addcarryx_u64(0x0, x312, x336); + uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x315, x357); + uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x318, x360); + uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x321, x363); + uint64_t x390, uint8_t x391 = addcarryx_u64(x388, x324, x366); + uint64_t x393, uint8_t x394 = addcarryx_u64(x391, x327, x369); + uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x330, x372); + uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x333, x375); + uint8_t x401 = (x400 + x334); + uint64_t x403, uint64_t x404 = mulx_u64(x11, x17); + uint64_t x406, uint64_t x407 = mulx_u64(x11, x19); + uint64_t x409, uint64_t x410 = mulx_u64(x11, x21); + uint64_t x412, uint64_t x413 = mulx_u64(x11, x23); + uint64_t x415, uint64_t x416 = mulx_u64(x11, x25); + uint64_t x418, uint64_t x419 = mulx_u64(x11, x27); + uint64_t x421, uint64_t x422 = mulx_u64(x11, x26); + uint64_t x424, uint8_t x425 = addcarryx_u64(0x0, x404, x406); + uint64_t x427, uint8_t x428 = addcarryx_u64(x425, x407, x409); + uint64_t x430, uint8_t x431 = addcarryx_u64(x428, x410, x412); + uint64_t x433, uint8_t x434 = addcarryx_u64(x431, x413, x415); + uint64_t x436, uint8_t x437 = addcarryx_u64(x434, x416, x418); + uint64_t x439, uint8_t x440 = addcarryx_u64(x437, x419, x421); + uint64_t x442, uint8_t _ = addcarryx_u64(0x0, x440, x422); + uint64_t x445, uint8_t x446 = addcarryx_u64(0x0, x381, x403); + uint64_t x448, uint8_t x449 = addcarryx_u64(x446, x384, x424); + uint64_t x451, uint8_t x452 = addcarryx_u64(x449, x387, x427); + uint64_t x454, uint8_t x455 = addcarryx_u64(x452, x390, x430); + uint64_t x457, uint8_t x458 = addcarryx_u64(x455, x393, x433); + uint64_t x460, uint8_t x461 = addcarryx_u64(x458, x396, x436); + uint64_t x463, uint8_t x464 = addcarryx_u64(x461, x399, x439); + uint64_t x466, uint8_t x467 = addcarryx_u64(x464, x401, x442); + uint64_t x469, uint64_t x470 = mulx_u64(x445, 0xffffffffffffffffL); + uint64_t x472, uint64_t x473 = mulx_u64(x445, 0xffffffffffffffffL); + uint64_t x475, uint64_t x476 = mulx_u64(x445, 0xffffffffffffffffL); + uint64_t x478, uint64_t x479 = mulx_u64(x445, 0xfffffffeffffffffL); + uint64_t x481, uint64_t x482 = mulx_u64(x445, 0xffffffffffffffffL); + uint64_t x484, uint64_t x485 = mulx_u64(x445, 0xffffffffffffffffL); + uint64_t x487, uint64_t x488 = mulx_u64(x445, 0xffffffffffffffffL); + uint64_t x490, uint8_t x491 = addcarryx_u64(0x0, x470, x472); + uint64_t x493, uint8_t x494 = addcarryx_u64(x491, x473, x475); + uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x476, x478); + uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x479, x481); + uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x482, x484); + uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x485, x487); + uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x488); + uint64_t _, uint8_t x512 = addcarryx_u64(0x0, x445, x469); + uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x448, x490); + uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x451, x493); + uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x454, x496); + uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x457, x499); + uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x460, x502); + uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x463, x505); + uint64_t x532, uint8_t x533 = addcarryx_u64(x530, x466, x508); + uint8_t x534 = (x533 + x467); + uint64_t x536, uint64_t x537 = mulx_u64(x13, x17); + uint64_t x539, uint64_t x540 = mulx_u64(x13, x19); + uint64_t x542, uint64_t x543 = mulx_u64(x13, x21); + uint64_t x545, uint64_t x546 = mulx_u64(x13, x23); + uint64_t x548, uint64_t x549 = mulx_u64(x13, x25); + uint64_t x551, uint64_t x552 = mulx_u64(x13, x27); + uint64_t x554, uint64_t x555 = mulx_u64(x13, x26); + uint64_t x557, uint8_t x558 = addcarryx_u64(0x0, x537, x539); + uint64_t x560, uint8_t x561 = addcarryx_u64(x558, x540, x542); + uint64_t x563, uint8_t x564 = addcarryx_u64(x561, x543, x545); + uint64_t x566, uint8_t x567 = addcarryx_u64(x564, x546, x548); + uint64_t x569, uint8_t x570 = addcarryx_u64(x567, x549, x551); + uint64_t x572, uint8_t x573 = addcarryx_u64(x570, x552, x554); + uint64_t x575, uint8_t _ = addcarryx_u64(0x0, x573, x555); + uint64_t x578, uint8_t x579 = addcarryx_u64(0x0, x514, x536); + uint64_t x581, uint8_t x582 = addcarryx_u64(x579, x517, x557); + uint64_t x584, uint8_t x585 = addcarryx_u64(x582, x520, x560); + uint64_t x587, uint8_t x588 = addcarryx_u64(x585, x523, x563); + uint64_t x590, uint8_t x591 = addcarryx_u64(x588, x526, x566); + uint64_t x593, uint8_t x594 = addcarryx_u64(x591, x529, x569); + uint64_t x596, uint8_t x597 = addcarryx_u64(x594, x532, x572); + uint64_t x599, uint8_t x600 = addcarryx_u64(x597, x534, x575); + uint64_t x602, uint64_t x603 = mulx_u64(x578, 0xffffffffffffffffL); + uint64_t x605, uint64_t x606 = mulx_u64(x578, 0xffffffffffffffffL); + uint64_t x608, uint64_t x609 = mulx_u64(x578, 0xffffffffffffffffL); + uint64_t x611, uint64_t x612 = mulx_u64(x578, 0xfffffffeffffffffL); + uint64_t x614, uint64_t x615 = mulx_u64(x578, 0xffffffffffffffffL); + uint64_t x617, uint64_t x618 = mulx_u64(x578, 0xffffffffffffffffL); + uint64_t x620, uint64_t x621 = mulx_u64(x578, 0xffffffffffffffffL); + uint64_t x623, uint8_t x624 = addcarryx_u64(0x0, x603, x605); + uint64_t x626, uint8_t x627 = addcarryx_u64(x624, x606, x608); + uint64_t x629, uint8_t x630 = addcarryx_u64(x627, x609, x611); + uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x612, x614); + uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x615, x617); + uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x618, x620); + uint64_t x641, uint8_t _ = addcarryx_u64(0x0, x639, x621); + uint64_t _, uint8_t x645 = addcarryx_u64(0x0, x578, x602); + uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x581, x623); + uint64_t x650, uint8_t x651 = addcarryx_u64(x648, x584, x626); + uint64_t x653, uint8_t x654 = addcarryx_u64(x651, x587, x629); + uint64_t x656, uint8_t x657 = addcarryx_u64(x654, x590, x632); + uint64_t x659, uint8_t x660 = addcarryx_u64(x657, x593, x635); + uint64_t x662, uint8_t x663 = addcarryx_u64(x660, x596, x638); + uint64_t x665, uint8_t x666 = addcarryx_u64(x663, x599, x641); + uint8_t x667 = (x666 + x600); + uint64_t x669, uint64_t x670 = mulx_u64(x15, x17); + uint64_t x672, uint64_t x673 = mulx_u64(x15, x19); + uint64_t x675, uint64_t x676 = mulx_u64(x15, x21); + uint64_t x678, uint64_t x679 = mulx_u64(x15, x23); + uint64_t x681, uint64_t x682 = mulx_u64(x15, x25); + uint64_t x684, uint64_t x685 = mulx_u64(x15, x27); + uint64_t x687, uint64_t x688 = mulx_u64(x15, x26); + uint64_t x690, uint8_t x691 = addcarryx_u64(0x0, x670, x672); + uint64_t x693, uint8_t x694 = addcarryx_u64(x691, x673, x675); + uint64_t x696, uint8_t x697 = addcarryx_u64(x694, x676, x678); + uint64_t x699, uint8_t x700 = addcarryx_u64(x697, x679, x681); + uint64_t x702, uint8_t x703 = addcarryx_u64(x700, x682, x684); + uint64_t x705, uint8_t x706 = addcarryx_u64(x703, x685, x687); + uint64_t x708, uint8_t _ = addcarryx_u64(0x0, x706, x688); + uint64_t x711, uint8_t x712 = addcarryx_u64(0x0, x647, x669); + uint64_t x714, uint8_t x715 = addcarryx_u64(x712, x650, x690); + uint64_t x717, uint8_t x718 = addcarryx_u64(x715, x653, x693); + uint64_t x720, uint8_t x721 = addcarryx_u64(x718, x656, x696); + uint64_t x723, uint8_t x724 = addcarryx_u64(x721, x659, x699); + uint64_t x726, uint8_t x727 = addcarryx_u64(x724, x662, x702); + uint64_t x729, uint8_t x730 = addcarryx_u64(x727, x665, x705); + uint64_t x732, uint8_t x733 = addcarryx_u64(x730, x667, x708); + uint64_t x735, uint64_t x736 = mulx_u64(x711, 0xffffffffffffffffL); + uint64_t x738, uint64_t x739 = mulx_u64(x711, 0xffffffffffffffffL); + uint64_t x741, uint64_t x742 = mulx_u64(x711, 0xffffffffffffffffL); + uint64_t x744, uint64_t x745 = mulx_u64(x711, 0xfffffffeffffffffL); + uint64_t x747, uint64_t x748 = mulx_u64(x711, 0xffffffffffffffffL); + uint64_t x750, uint64_t x751 = mulx_u64(x711, 0xffffffffffffffffL); + uint64_t x753, uint64_t x754 = mulx_u64(x711, 0xffffffffffffffffL); + uint64_t x756, uint8_t x757 = addcarryx_u64(0x0, x736, x738); + uint64_t x759, uint8_t x760 = addcarryx_u64(x757, x739, x741); + uint64_t x762, uint8_t x763 = addcarryx_u64(x760, x742, x744); + uint64_t x765, uint8_t x766 = addcarryx_u64(x763, x745, x747); + uint64_t x768, uint8_t x769 = addcarryx_u64(x766, x748, x750); + uint64_t x771, uint8_t x772 = addcarryx_u64(x769, x751, x753); + uint64_t x774, uint8_t _ = addcarryx_u64(0x0, x772, x754); + uint64_t _, uint8_t x778 = addcarryx_u64(0x0, x711, x735); + uint64_t x780, uint8_t x781 = addcarryx_u64(x778, x714, x756); + uint64_t x783, uint8_t x784 = addcarryx_u64(x781, x717, x759); + uint64_t x786, uint8_t x787 = addcarryx_u64(x784, x720, x762); + uint64_t x789, uint8_t x790 = addcarryx_u64(x787, x723, x765); + uint64_t x792, uint8_t x793 = addcarryx_u64(x790, x726, x768); + uint64_t x795, uint8_t x796 = addcarryx_u64(x793, x729, x771); + uint64_t x798, uint8_t x799 = addcarryx_u64(x796, x732, x774); + uint8_t x800 = (x799 + x733); + uint64_t x802, uint64_t x803 = mulx_u64(x14, x17); + uint64_t x805, uint64_t x806 = mulx_u64(x14, x19); + uint64_t x808, uint64_t x809 = mulx_u64(x14, x21); + uint64_t x811, uint64_t x812 = mulx_u64(x14, x23); + uint64_t x814, uint64_t x815 = mulx_u64(x14, x25); + uint64_t x817, uint64_t x818 = mulx_u64(x14, x27); + uint64_t x820, uint64_t x821 = mulx_u64(x14, x26); + uint64_t x823, uint8_t x824 = addcarryx_u64(0x0, x803, x805); + uint64_t x826, uint8_t x827 = addcarryx_u64(x824, x806, x808); + uint64_t x829, uint8_t x830 = addcarryx_u64(x827, x809, x811); + uint64_t x832, uint8_t x833 = addcarryx_u64(x830, x812, x814); + uint64_t x835, uint8_t x836 = addcarryx_u64(x833, x815, x817); + uint64_t x838, uint8_t x839 = addcarryx_u64(x836, x818, x820); + uint64_t x841, uint8_t _ = addcarryx_u64(0x0, x839, x821); + uint64_t x844, uint8_t x845 = addcarryx_u64(0x0, x780, x802); + uint64_t x847, uint8_t x848 = addcarryx_u64(x845, x783, x823); + uint64_t x850, uint8_t x851 = addcarryx_u64(x848, x786, x826); + uint64_t x853, uint8_t x854 = addcarryx_u64(x851, x789, x829); + uint64_t x856, uint8_t x857 = addcarryx_u64(x854, x792, x832); + uint64_t x859, uint8_t x860 = addcarryx_u64(x857, x795, x835); + uint64_t x862, uint8_t x863 = addcarryx_u64(x860, x798, x838); + uint64_t x865, uint8_t x866 = addcarryx_u64(x863, x800, x841); + uint64_t x868, uint64_t x869 = mulx_u64(x844, 0xffffffffffffffffL); + uint64_t x871, uint64_t x872 = mulx_u64(x844, 0xffffffffffffffffL); + uint64_t x874, uint64_t x875 = mulx_u64(x844, 0xffffffffffffffffL); + uint64_t x877, uint64_t x878 = mulx_u64(x844, 0xfffffffeffffffffL); + uint64_t x880, uint64_t x881 = mulx_u64(x844, 0xffffffffffffffffL); + uint64_t x883, uint64_t x884 = mulx_u64(x844, 0xffffffffffffffffL); + uint64_t x886, uint64_t x887 = mulx_u64(x844, 0xffffffffffffffffL); + uint64_t x889, uint8_t x890 = addcarryx_u64(0x0, x869, x871); + uint64_t x892, uint8_t x893 = addcarryx_u64(x890, x872, x874); + uint64_t x895, uint8_t x896 = addcarryx_u64(x893, x875, x877); + uint64_t x898, uint8_t x899 = addcarryx_u64(x896, x878, x880); + uint64_t x901, uint8_t x902 = addcarryx_u64(x899, x881, x883); + uint64_t x904, uint8_t x905 = addcarryx_u64(x902, x884, x886); + uint64_t x907, uint8_t _ = addcarryx_u64(0x0, x905, x887); + uint64_t _, uint8_t x911 = addcarryx_u64(0x0, x844, x868); + uint64_t x913, uint8_t x914 = addcarryx_u64(x911, x847, x889); + uint64_t x916, uint8_t x917 = addcarryx_u64(x914, x850, x892); + uint64_t x919, uint8_t x920 = addcarryx_u64(x917, x853, x895); + uint64_t x922, uint8_t x923 = addcarryx_u64(x920, x856, x898); + uint64_t x925, uint8_t x926 = addcarryx_u64(x923, x859, x901); + uint64_t x928, uint8_t x929 = addcarryx_u64(x926, x862, x904); + uint64_t x931, uint8_t x932 = addcarryx_u64(x929, x865, x907); + uint8_t x933 = (x932 + x866); + uint64_t x935, uint8_t x936 = subborrow_u64(0x0, x913, 0xffffffffffffffffL); + uint64_t x938, uint8_t x939 = subborrow_u64(x936, x916, 0xffffffffffffffffL); + uint64_t x941, uint8_t x942 = subborrow_u64(x939, x919, 0xffffffffffffffffL); + uint64_t x944, uint8_t x945 = subborrow_u64(x942, x922, 0xfffffffeffffffffL); + uint64_t x947, uint8_t x948 = subborrow_u64(x945, x925, 0xffffffffffffffffL); + uint64_t x950, uint8_t x951 = subborrow_u64(x948, x928, 0xffffffffffffffffL); + uint64_t x953, uint8_t x954 = subborrow_u64(x951, x931, 0xffffffffffffffffL); + uint64_t _, uint8_t x957 = subborrow_u64(x954, x933, 0x0); + uint64_t x958 = cmovznz(x957, x953, x931); + uint64_t x959 = cmovznz(x957, x950, x928); + uint64_t x960 = cmovznz(x957, x947, x925); + uint64_t x961 = cmovznz(x957, x944, x922); + uint64_t x962 = cmovznz(x957, x941, x919); + uint64_t x963 = cmovznz(x957, x938, x916); + uint64_t x964 = cmovznz(x957, x935, x913); + return (x958, x959, x960, x961, x962, x963, x964)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e448m2e224m1/feoppDisplay.log b/src/Specific/montgomery64_2e448m2e224m1/feoppDisplay.log new file mode 100644 index 000000000..1f8c31dca --- /dev/null +++ b/src/Specific/montgomery64_2e448m2e224m1/feoppDisplay.log @@ -0,0 +1,29 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x11, x12, x10, x8, x6, x4, x2)%core, + uint64_t x14, uint8_t x15 = subborrow_u64(0x0, 0x0, x2); + uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x4); + uint64_t x20, uint8_t x21 = subborrow_u64(x18, 0x0, x6); + uint64_t x23, uint8_t x24 = subborrow_u64(x21, 0x0, x8); + uint64_t x26, uint8_t x27 = subborrow_u64(x24, 0x0, x10); + uint64_t x29, uint8_t x30 = subborrow_u64(x27, 0x0, x12); + uint64_t x32, uint8_t x33 = subborrow_u64(x30, 0x0, x11); + uint64_t x34 = (uint64_t)cmovznz(x33, 0x0, 0xffffffffffffffffL); + uint64_t x35 = (x34 & 0xffffffffffffffffL); + uint64_t x37, uint8_t x38 = addcarryx_u64(0x0, x14, x35); + uint64_t x39 = (x34 & 0xffffffffffffffffL); + uint64_t x41, uint8_t x42 = addcarryx_u64(x38, x17, x39); + uint64_t x43 = (x34 & 0xffffffffffffffffL); + uint64_t x45, uint8_t x46 = addcarryx_u64(x42, x20, x43); + uint64_t x47 = (x34 & 0xfffffffeffffffffL); + uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x23, x47); + uint64_t x51 = (x34 & 0xffffffffffffffffL); + uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x26, x51); + uint64_t x55 = (x34 & 0xffffffffffffffffL); + uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x29, x55); + uint64_t x59 = (x34 & 0xffffffffffffffffL); + uint64_t x61, uint8_t _ = addcarryx_u64(x58, x32, x59); + (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e448m2e224m1/fesubDisplay.log b/src/Specific/montgomery64_2e448m2e224m1/fesubDisplay.log new file mode 100644 index 000000000..38b616606 --- /dev/null +++ b/src/Specific/montgomery64_2e448m2e224m1/fesubDisplay.log @@ -0,0 +1,29 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core, + uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x5, x17); + uint64_t x32, uint8_t x33 = subborrow_u64(x30, x7, x19); + uint64_t x35, uint8_t x36 = subborrow_u64(x33, x9, x21); + uint64_t x38, uint8_t x39 = subborrow_u64(x36, x11, x23); + uint64_t x41, uint8_t x42 = subborrow_u64(x39, x13, x25); + uint64_t x44, uint8_t x45 = subborrow_u64(x42, x15, x27); + uint64_t x47, uint8_t x48 = subborrow_u64(x45, x14, x26); + uint64_t x49 = (uint64_t)cmovznz(x48, 0x0, 0xffffffffffffffffL); + uint64_t x50 = (x49 & 0xffffffffffffffffL); + uint64_t x52, uint8_t x53 = addcarryx_u64(0x0, x29, x50); + uint64_t x54 = (x49 & 0xffffffffffffffffL); + uint64_t x56, uint8_t x57 = addcarryx_u64(x53, x32, x54); + uint64_t x58 = (x49 & 0xffffffffffffffffL); + uint64_t x60, uint8_t x61 = addcarryx_u64(x57, x35, x58); + uint64_t x62 = (x49 & 0xfffffffeffffffffL); + uint64_t x64, uint8_t x65 = addcarryx_u64(x61, x38, x62); + uint64_t x66 = (x49 & 0xffffffffffffffffL); + uint64_t x68, uint8_t x69 = addcarryx_u64(x65, x41, x66); + uint64_t x70 = (x49 & 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = addcarryx_u64(x69, x44, x70); + uint64_t x74 = (x49 & 0xffffffffffffffffL); + uint64_t x76, uint8_t _ = addcarryx_u64(x73, x47, x74); + (Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e450m2e225m1/feaddDisplay.log b/src/Specific/montgomery64_2e450m2e225m1/feaddDisplay.log new file mode 100644 index 000000000..7f8f7d912 --- /dev/null +++ b/src/Specific/montgomery64_2e450m2e225m1/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30); + uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffffL); + uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xfffffffdffffffffL); + uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL); + uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0x3); + uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0); + uint64_t x83 = cmovznz(x82, x78, x54); + uint64_t x84 = cmovznz(x82, x75, x51); + uint64_t x85 = cmovznz(x82, x72, x48); + uint64_t x86 = cmovznz(x82, x69, x45); + uint64_t x87 = cmovznz(x82, x66, x42); + uint64_t x88 = cmovznz(x82, x63, x39); + uint64_t x89 = cmovznz(x82, x60, x36); + uint64_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e450m2e225m1/feoppDisplay.log b/src/Specific/montgomery64_2e450m2e225m1/feoppDisplay.log new file mode 100644 index 000000000..a1b5164cc --- /dev/null +++ b/src/Specific/montgomery64_2e450m2e225m1/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = subborrow_u64(0x0, 0x0, x2); + uint64_t x19, uint8_t x20 = subborrow_u64(x17, 0x0, x4); + uint64_t x22, uint8_t x23 = subborrow_u64(x20, 0x0, x6); + uint64_t x25, uint8_t x26 = subborrow_u64(x23, 0x0, x8); + uint64_t x28, uint8_t x29 = subborrow_u64(x26, 0x0, x10); + uint64_t x31, uint8_t x32 = subborrow_u64(x29, 0x0, x12); + uint64_t x34, uint8_t x35 = subborrow_u64(x32, 0x0, x14); + uint64_t x37, uint8_t x38 = subborrow_u64(x35, 0x0, x13); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xffffffffffffffffL); + uint64_t x42, uint8_t x43 = addcarryx_u64(0x0, x16, x40); + uint64_t x44 = (x39 & 0xffffffffffffffffL); + uint64_t x46, uint8_t x47 = addcarryx_u64(x43, x19, x44); + uint64_t x48 = (x39 & 0xffffffffffffffffL); + uint64_t x50, uint8_t x51 = addcarryx_u64(x47, x22, x48); + uint64_t x52 = (x39 & 0xfffffffdffffffffL); + uint64_t x54, uint8_t x55 = addcarryx_u64(x51, x25, x52); + uint64_t x56 = (x39 & 0xffffffffffffffffL); + uint64_t x58, uint8_t x59 = addcarryx_u64(x55, x28, x56); + uint64_t x60 = (x39 & 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = addcarryx_u64(x59, x31, x60); + uint64_t x64 = (x39 & 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = addcarryx_u64(x63, x34, x64); + uint8_t x68 = ((uint8_t)x39 & 0x3); + uint64_t x70, uint8_t _ = addcarryx_u64(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e450m2e225m1/fesubDisplay.log b/src/Specific/montgomery64_2e450m2e225m1/fesubDisplay.log new file mode 100644 index 000000000..b1fb363b3 --- /dev/null +++ b/src/Specific/montgomery64_2e450m2e225m1/fesubDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = subborrow_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = subborrow_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = subborrow_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = subborrow_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = subborrow_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = subborrow_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = subborrow_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = subborrow_u64(x52, x16, x30); + uint64_t x56 = (uint64_t)cmovznz(x55, 0x0, 0xffffffffffffffffL); + uint64_t x57 = (x56 & 0xffffffffffffffffL); + uint64_t x59, uint8_t x60 = addcarryx_u64(0x0, x33, x57); + uint64_t x61 = (x56 & 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = addcarryx_u64(x60, x36, x61); + uint64_t x65 = (x56 & 0xffffffffffffffffL); + uint64_t x67, uint8_t x68 = addcarryx_u64(x64, x39, x65); + uint64_t x69 = (x56 & 0xfffffffdffffffffL); + uint64_t x71, uint8_t x72 = addcarryx_u64(x68, x42, x69); + uint64_t x73 = (x56 & 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = addcarryx_u64(x72, x45, x73); + uint64_t x77 = (x56 & 0xffffffffffffffffL); + uint64_t x79, uint8_t x80 = addcarryx_u64(x76, x48, x77); + uint64_t x81 = (x56 & 0xffffffffffffffffL); + uint64_t x83, uint8_t x84 = addcarryx_u64(x80, x51, x81); + uint8_t x85 = ((uint8_t)x56 & 0x3); + uint64_t x87, uint8_t _ = addcarryx_u64(x84, x54, x85); + (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e452m3/feaddDisplay.log b/src/Specific/montgomery64_2e452m3/feaddDisplay.log new file mode 100644 index 000000000..891912d50 --- /dev/null +++ b/src/Specific/montgomery64_2e452m3/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30); + uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xfffffffffffffffdL); + uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL); + uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL); + uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0xf); + uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0); + uint64_t x83 = cmovznz(x82, x78, x54); + uint64_t x84 = cmovznz(x82, x75, x51); + uint64_t x85 = cmovznz(x82, x72, x48); + uint64_t x86 = cmovznz(x82, x69, x45); + uint64_t x87 = cmovznz(x82, x66, x42); + uint64_t x88 = cmovznz(x82, x63, x39); + uint64_t x89 = cmovznz(x82, x60, x36); + uint64_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e468m17/feaddDisplay.log b/src/Specific/montgomery64_2e468m17/feaddDisplay.log new file mode 100644 index 000000000..539e92b3c --- /dev/null +++ b/src/Specific/montgomery64_2e468m17/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30); + uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffefL); + uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL); + uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL); + uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0xfffff); + uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0); + uint64_t x83 = cmovznz(x82, x78, x54); + uint64_t x84 = cmovznz(x82, x75, x51); + uint64_t x85 = cmovznz(x82, x72, x48); + uint64_t x86 = cmovznz(x82, x69, x45); + uint64_t x87 = cmovznz(x82, x66, x42); + uint64_t x88 = cmovznz(x82, x63, x39); + uint64_t x89 = cmovznz(x82, x60, x36); + uint64_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e468m17/feoppDisplay.log b/src/Specific/montgomery64_2e468m17/feoppDisplay.log new file mode 100644 index 000000000..9b8bb168b --- /dev/null +++ b/src/Specific/montgomery64_2e468m17/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = subborrow_u64(0x0, 0x0, x2); + uint64_t x19, uint8_t x20 = subborrow_u64(x17, 0x0, x4); + uint64_t x22, uint8_t x23 = subborrow_u64(x20, 0x0, x6); + uint64_t x25, uint8_t x26 = subborrow_u64(x23, 0x0, x8); + uint64_t x28, uint8_t x29 = subborrow_u64(x26, 0x0, x10); + uint64_t x31, uint8_t x32 = subborrow_u64(x29, 0x0, x12); + uint64_t x34, uint8_t x35 = subborrow_u64(x32, 0x0, x14); + uint64_t x37, uint8_t x38 = subborrow_u64(x35, 0x0, x13); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xffffffffffffffefL); + uint64_t x42, uint8_t x43 = addcarryx_u64(0x0, x16, x40); + uint64_t x44 = (x39 & 0xffffffffffffffffL); + uint64_t x46, uint8_t x47 = addcarryx_u64(x43, x19, x44); + uint64_t x48 = (x39 & 0xffffffffffffffffL); + uint64_t x50, uint8_t x51 = addcarryx_u64(x47, x22, x48); + uint64_t x52 = (x39 & 0xffffffffffffffffL); + uint64_t x54, uint8_t x55 = addcarryx_u64(x51, x25, x52); + uint64_t x56 = (x39 & 0xffffffffffffffffL); + uint64_t x58, uint8_t x59 = addcarryx_u64(x55, x28, x56); + uint64_t x60 = (x39 & 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = addcarryx_u64(x59, x31, x60); + uint64_t x64 = (x39 & 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = addcarryx_u64(x63, x34, x64); + uint64_t x68 = (x39 & 0xfffff); + uint64_t x70, uint8_t _ = addcarryx_u64(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e468m17/fesubDisplay.log b/src/Specific/montgomery64_2e468m17/fesubDisplay.log new file mode 100644 index 000000000..17b24fcc1 --- /dev/null +++ b/src/Specific/montgomery64_2e468m17/fesubDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = subborrow_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = subborrow_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = subborrow_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = subborrow_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = subborrow_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = subborrow_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = subborrow_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = subborrow_u64(x52, x16, x30); + uint64_t x56 = (uint64_t)cmovznz(x55, 0x0, 0xffffffffffffffffL); + uint64_t x57 = (x56 & 0xffffffffffffffefL); + uint64_t x59, uint8_t x60 = addcarryx_u64(0x0, x33, x57); + uint64_t x61 = (x56 & 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = addcarryx_u64(x60, x36, x61); + uint64_t x65 = (x56 & 0xffffffffffffffffL); + uint64_t x67, uint8_t x68 = addcarryx_u64(x64, x39, x65); + uint64_t x69 = (x56 & 0xffffffffffffffffL); + uint64_t x71, uint8_t x72 = addcarryx_u64(x68, x42, x69); + uint64_t x73 = (x56 & 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = addcarryx_u64(x72, x45, x73); + uint64_t x77 = (x56 & 0xffffffffffffffffL); + uint64_t x79, uint8_t x80 = addcarryx_u64(x76, x48, x77); + uint64_t x81 = (x56 & 0xffffffffffffffffL); + uint64_t x83, uint8_t x84 = addcarryx_u64(x80, x51, x81); + uint64_t x85 = (x56 & 0xfffff); + uint64_t x87, uint8_t _ = addcarryx_u64(x84, x54, x85); + (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e480m2e240m1/feaddDisplay.log b/src/Specific/montgomery64_2e480m2e240m1/feaddDisplay.log new file mode 100644 index 000000000..2d14dff39 --- /dev/null +++ b/src/Specific/montgomery64_2e480m2e240m1/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30); + uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffffL); + uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xfffeffffffffffffL); + uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL); + uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0xffffffff); + uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0); + uint64_t x83 = cmovznz(x82, x78, x54); + uint64_t x84 = cmovznz(x82, x75, x51); + uint64_t x85 = cmovznz(x82, x72, x48); + uint64_t x86 = cmovznz(x82, x69, x45); + uint64_t x87 = cmovznz(x82, x66, x42); + uint64_t x88 = cmovznz(x82, x63, x39); + uint64_t x89 = cmovznz(x82, x60, x36); + uint64_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e480m2e240m1/feoppDisplay.log b/src/Specific/montgomery64_2e480m2e240m1/feoppDisplay.log new file mode 100644 index 000000000..8d32e155c --- /dev/null +++ b/src/Specific/montgomery64_2e480m2e240m1/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = subborrow_u64(0x0, 0x0, x2); + uint64_t x19, uint8_t x20 = subborrow_u64(x17, 0x0, x4); + uint64_t x22, uint8_t x23 = subborrow_u64(x20, 0x0, x6); + uint64_t x25, uint8_t x26 = subborrow_u64(x23, 0x0, x8); + uint64_t x28, uint8_t x29 = subborrow_u64(x26, 0x0, x10); + uint64_t x31, uint8_t x32 = subborrow_u64(x29, 0x0, x12); + uint64_t x34, uint8_t x35 = subborrow_u64(x32, 0x0, x14); + uint64_t x37, uint8_t x38 = subborrow_u64(x35, 0x0, x13); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xffffffffffffffffL); + uint64_t x42, uint8_t x43 = addcarryx_u64(0x0, x16, x40); + uint64_t x44 = (x39 & 0xffffffffffffffffL); + uint64_t x46, uint8_t x47 = addcarryx_u64(x43, x19, x44); + uint64_t x48 = (x39 & 0xffffffffffffffffL); + uint64_t x50, uint8_t x51 = addcarryx_u64(x47, x22, x48); + uint64_t x52 = (x39 & 0xfffeffffffffffffL); + uint64_t x54, uint8_t x55 = addcarryx_u64(x51, x25, x52); + uint64_t x56 = (x39 & 0xffffffffffffffffL); + uint64_t x58, uint8_t x59 = addcarryx_u64(x55, x28, x56); + uint64_t x60 = (x39 & 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = addcarryx_u64(x59, x31, x60); + uint64_t x64 = (x39 & 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = addcarryx_u64(x63, x34, x64); + uint64_t x68 = (x39 & 0xffffffff); + uint64_t x70, uint8_t _ = addcarryx_u64(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e480m2e240m1/fesubDisplay.log b/src/Specific/montgomery64_2e480m2e240m1/fesubDisplay.log new file mode 100644 index 000000000..38552ca21 --- /dev/null +++ b/src/Specific/montgomery64_2e480m2e240m1/fesubDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = subborrow_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = subborrow_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = subborrow_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = subborrow_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = subborrow_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = subborrow_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = subborrow_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = subborrow_u64(x52, x16, x30); + uint64_t x56 = (uint64_t)cmovznz(x55, 0x0, 0xffffffffffffffffL); + uint64_t x57 = (x56 & 0xffffffffffffffffL); + uint64_t x59, uint8_t x60 = addcarryx_u64(0x0, x33, x57); + uint64_t x61 = (x56 & 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = addcarryx_u64(x60, x36, x61); + uint64_t x65 = (x56 & 0xffffffffffffffffL); + uint64_t x67, uint8_t x68 = addcarryx_u64(x64, x39, x65); + uint64_t x69 = (x56 & 0xfffeffffffffffffL); + uint64_t x71, uint8_t x72 = addcarryx_u64(x68, x42, x69); + uint64_t x73 = (x56 & 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = addcarryx_u64(x72, x45, x73); + uint64_t x77 = (x56 & 0xffffffffffffffffL); + uint64_t x79, uint8_t x80 = addcarryx_u64(x76, x48, x77); + uint64_t x81 = (x56 & 0xffffffffffffffffL); + uint64_t x83, uint8_t x84 = addcarryx_u64(x80, x51, x81); + uint64_t x85 = (x56 & 0xffffffff); + uint64_t x87, uint8_t _ = addcarryx_u64(x84, x54, x85); + (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e488m17/feaddDisplay.log b/src/Specific/montgomery64_2e488m17/feaddDisplay.log new file mode 100644 index 000000000..e4e837f7a --- /dev/null +++ b/src/Specific/montgomery64_2e488m17/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30); + uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffefL); + uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL); + uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL); + uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0xffffffffff); + uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0); + uint64_t x83 = cmovznz(x82, x78, x54); + uint64_t x84 = cmovznz(x82, x75, x51); + uint64_t x85 = cmovznz(x82, x72, x48); + uint64_t x86 = cmovznz(x82, x69, x45); + uint64_t x87 = cmovznz(x82, x66, x42); + uint64_t x88 = cmovznz(x82, x63, x39); + uint64_t x89 = cmovznz(x82, x60, x36); + uint64_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e488m17/feoppDisplay.log b/src/Specific/montgomery64_2e488m17/feoppDisplay.log new file mode 100644 index 000000000..1bced6031 --- /dev/null +++ b/src/Specific/montgomery64_2e488m17/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = subborrow_u64(0x0, 0x0, x2); + uint64_t x19, uint8_t x20 = subborrow_u64(x17, 0x0, x4); + uint64_t x22, uint8_t x23 = subborrow_u64(x20, 0x0, x6); + uint64_t x25, uint8_t x26 = subborrow_u64(x23, 0x0, x8); + uint64_t x28, uint8_t x29 = subborrow_u64(x26, 0x0, x10); + uint64_t x31, uint8_t x32 = subborrow_u64(x29, 0x0, x12); + uint64_t x34, uint8_t x35 = subborrow_u64(x32, 0x0, x14); + uint64_t x37, uint8_t x38 = subborrow_u64(x35, 0x0, x13); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xffffffffffffffefL); + uint64_t x42, uint8_t x43 = addcarryx_u64(0x0, x16, x40); + uint64_t x44 = (x39 & 0xffffffffffffffffL); + uint64_t x46, uint8_t x47 = addcarryx_u64(x43, x19, x44); + uint64_t x48 = (x39 & 0xffffffffffffffffL); + uint64_t x50, uint8_t x51 = addcarryx_u64(x47, x22, x48); + uint64_t x52 = (x39 & 0xffffffffffffffffL); + uint64_t x54, uint8_t x55 = addcarryx_u64(x51, x25, x52); + uint64_t x56 = (x39 & 0xffffffffffffffffL); + uint64_t x58, uint8_t x59 = addcarryx_u64(x55, x28, x56); + uint64_t x60 = (x39 & 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = addcarryx_u64(x59, x31, x60); + uint64_t x64 = (x39 & 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = addcarryx_u64(x63, x34, x64); + uint64_t x68 = (x39 & 0xffffffffff); + uint64_t x70, uint8_t _ = addcarryx_u64(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e488m17/fesubDisplay.log b/src/Specific/montgomery64_2e488m17/fesubDisplay.log new file mode 100644 index 000000000..7dcdf7551 --- /dev/null +++ b/src/Specific/montgomery64_2e488m17/fesubDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = subborrow_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = subborrow_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = subborrow_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = subborrow_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = subborrow_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = subborrow_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = subborrow_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = subborrow_u64(x52, x16, x30); + uint64_t x56 = (uint64_t)cmovznz(x55, 0x0, 0xffffffffffffffffL); + uint64_t x57 = (x56 & 0xffffffffffffffefL); + uint64_t x59, uint8_t x60 = addcarryx_u64(0x0, x33, x57); + uint64_t x61 = (x56 & 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = addcarryx_u64(x60, x36, x61); + uint64_t x65 = (x56 & 0xffffffffffffffffL); + uint64_t x67, uint8_t x68 = addcarryx_u64(x64, x39, x65); + uint64_t x69 = (x56 & 0xffffffffffffffffL); + uint64_t x71, uint8_t x72 = addcarryx_u64(x68, x42, x69); + uint64_t x73 = (x56 & 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = addcarryx_u64(x72, x45, x73); + uint64_t x77 = (x56 & 0xffffffffffffffffL); + uint64_t x79, uint8_t x80 = addcarryx_u64(x76, x48, x77); + uint64_t x81 = (x56 & 0xffffffffffffffffL); + uint64_t x83, uint8_t x84 = addcarryx_u64(x80, x51, x81); + uint64_t x85 = (x56 & 0xffffffffff); + uint64_t x87, uint8_t _ = addcarryx_u64(x84, x54, x85); + (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e489m21/feaddDisplay.log b/src/Specific/montgomery64_2e489m21/feaddDisplay.log new file mode 100644 index 000000000..474a7d1d2 --- /dev/null +++ b/src/Specific/montgomery64_2e489m21/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30); + uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffebL); + uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL); + uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL); + uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0x1ffffffffff); + uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0); + uint64_t x83 = cmovznz(x82, x78, x54); + uint64_t x84 = cmovznz(x82, x75, x51); + uint64_t x85 = cmovznz(x82, x72, x48); + uint64_t x86 = cmovznz(x82, x69, x45); + uint64_t x87 = cmovznz(x82, x66, x42); + uint64_t x88 = cmovznz(x82, x63, x39); + uint64_t x89 = cmovznz(x82, x60, x36); + uint64_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e489m21/feoppDisplay.log b/src/Specific/montgomery64_2e489m21/feoppDisplay.log new file mode 100644 index 000000000..d6f5de4db --- /dev/null +++ b/src/Specific/montgomery64_2e489m21/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = subborrow_u64(0x0, 0x0, x2); + uint64_t x19, uint8_t x20 = subborrow_u64(x17, 0x0, x4); + uint64_t x22, uint8_t x23 = subborrow_u64(x20, 0x0, x6); + uint64_t x25, uint8_t x26 = subborrow_u64(x23, 0x0, x8); + uint64_t x28, uint8_t x29 = subborrow_u64(x26, 0x0, x10); + uint64_t x31, uint8_t x32 = subborrow_u64(x29, 0x0, x12); + uint64_t x34, uint8_t x35 = subborrow_u64(x32, 0x0, x14); + uint64_t x37, uint8_t x38 = subborrow_u64(x35, 0x0, x13); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xffffffffffffffebL); + uint64_t x42, uint8_t x43 = addcarryx_u64(0x0, x16, x40); + uint64_t x44 = (x39 & 0xffffffffffffffffL); + uint64_t x46, uint8_t x47 = addcarryx_u64(x43, x19, x44); + uint64_t x48 = (x39 & 0xffffffffffffffffL); + uint64_t x50, uint8_t x51 = addcarryx_u64(x47, x22, x48); + uint64_t x52 = (x39 & 0xffffffffffffffffL); + uint64_t x54, uint8_t x55 = addcarryx_u64(x51, x25, x52); + uint64_t x56 = (x39 & 0xffffffffffffffffL); + uint64_t x58, uint8_t x59 = addcarryx_u64(x55, x28, x56); + uint64_t x60 = (x39 & 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = addcarryx_u64(x59, x31, x60); + uint64_t x64 = (x39 & 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = addcarryx_u64(x63, x34, x64); + uint64_t x68 = (x39 & 0x1ffffffffff); + uint64_t x70, uint8_t _ = addcarryx_u64(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e489m21/fesubDisplay.log b/src/Specific/montgomery64_2e489m21/fesubDisplay.log new file mode 100644 index 000000000..2444fc24a --- /dev/null +++ b/src/Specific/montgomery64_2e489m21/fesubDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = subborrow_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = subborrow_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = subborrow_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = subborrow_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = subborrow_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = subborrow_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = subborrow_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = subborrow_u64(x52, x16, x30); + uint64_t x56 = (uint64_t)cmovznz(x55, 0x0, 0xffffffffffffffffL); + uint64_t x57 = (x56 & 0xffffffffffffffebL); + uint64_t x59, uint8_t x60 = addcarryx_u64(0x0, x33, x57); + uint64_t x61 = (x56 & 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = addcarryx_u64(x60, x36, x61); + uint64_t x65 = (x56 & 0xffffffffffffffffL); + uint64_t x67, uint8_t x68 = addcarryx_u64(x64, x39, x65); + uint64_t x69 = (x56 & 0xffffffffffffffffL); + uint64_t x71, uint8_t x72 = addcarryx_u64(x68, x42, x69); + uint64_t x73 = (x56 & 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = addcarryx_u64(x72, x45, x73); + uint64_t x77 = (x56 & 0xffffffffffffffffL); + uint64_t x79, uint8_t x80 = addcarryx_u64(x76, x48, x77); + uint64_t x81 = (x56 & 0xffffffffffffffffL); + uint64_t x83, uint8_t x84 = addcarryx_u64(x80, x51, x81); + uint64_t x85 = (x56 & 0x1ffffffffff); + uint64_t x87, uint8_t _ = addcarryx_u64(x84, x54, x85); + (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e495m31/feaddDisplay.log b/src/Specific/montgomery64_2e495m31/feaddDisplay.log new file mode 100644 index 000000000..924aa6e75 --- /dev/null +++ b/src/Specific/montgomery64_2e495m31/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30); + uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffe1L); + uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL); + uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL); + uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0x7fffffffffff); + uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0); + uint64_t x83 = cmovznz(x82, x78, x54); + uint64_t x84 = cmovznz(x82, x75, x51); + uint64_t x85 = cmovznz(x82, x72, x48); + uint64_t x86 = cmovznz(x82, x69, x45); + uint64_t x87 = cmovznz(x82, x66, x42); + uint64_t x88 = cmovznz(x82, x63, x39); + uint64_t x89 = cmovznz(x82, x60, x36); + uint64_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e495m31/feoppDisplay.log b/src/Specific/montgomery64_2e495m31/feoppDisplay.log new file mode 100644 index 000000000..fc9b89417 --- /dev/null +++ b/src/Specific/montgomery64_2e495m31/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = subborrow_u64(0x0, 0x0, x2); + uint64_t x19, uint8_t x20 = subborrow_u64(x17, 0x0, x4); + uint64_t x22, uint8_t x23 = subborrow_u64(x20, 0x0, x6); + uint64_t x25, uint8_t x26 = subborrow_u64(x23, 0x0, x8); + uint64_t x28, uint8_t x29 = subborrow_u64(x26, 0x0, x10); + uint64_t x31, uint8_t x32 = subborrow_u64(x29, 0x0, x12); + uint64_t x34, uint8_t x35 = subborrow_u64(x32, 0x0, x14); + uint64_t x37, uint8_t x38 = subborrow_u64(x35, 0x0, x13); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xffffffffffffffe1L); + uint64_t x42, uint8_t x43 = addcarryx_u64(0x0, x16, x40); + uint64_t x44 = (x39 & 0xffffffffffffffffL); + uint64_t x46, uint8_t x47 = addcarryx_u64(x43, x19, x44); + uint64_t x48 = (x39 & 0xffffffffffffffffL); + uint64_t x50, uint8_t x51 = addcarryx_u64(x47, x22, x48); + uint64_t x52 = (x39 & 0xffffffffffffffffL); + uint64_t x54, uint8_t x55 = addcarryx_u64(x51, x25, x52); + uint64_t x56 = (x39 & 0xffffffffffffffffL); + uint64_t x58, uint8_t x59 = addcarryx_u64(x55, x28, x56); + uint64_t x60 = (x39 & 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = addcarryx_u64(x59, x31, x60); + uint64_t x64 = (x39 & 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = addcarryx_u64(x63, x34, x64); + uint64_t x68 = (x39 & 0x7fffffffffff); + uint64_t x70, uint8_t _ = addcarryx_u64(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e495m31/fesubDisplay.log b/src/Specific/montgomery64_2e495m31/fesubDisplay.log new file mode 100644 index 000000000..6997b2899 --- /dev/null +++ b/src/Specific/montgomery64_2e495m31/fesubDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = subborrow_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = subborrow_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = subborrow_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = subborrow_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = subborrow_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = subborrow_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = subborrow_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = subborrow_u64(x52, x16, x30); + uint64_t x56 = (uint64_t)cmovznz(x55, 0x0, 0xffffffffffffffffL); + uint64_t x57 = (x56 & 0xffffffffffffffe1L); + uint64_t x59, uint8_t x60 = addcarryx_u64(0x0, x33, x57); + uint64_t x61 = (x56 & 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = addcarryx_u64(x60, x36, x61); + uint64_t x65 = (x56 & 0xffffffffffffffffL); + uint64_t x67, uint8_t x68 = addcarryx_u64(x64, x39, x65); + uint64_t x69 = (x56 & 0xffffffffffffffffL); + uint64_t x71, uint8_t x72 = addcarryx_u64(x68, x42, x69); + uint64_t x73 = (x56 & 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = addcarryx_u64(x72, x45, x73); + uint64_t x77 = (x56 & 0xffffffffffffffffL); + uint64_t x79, uint8_t x80 = addcarryx_u64(x76, x48, x77); + uint64_t x81 = (x56 & 0xffffffffffffffffL); + uint64_t x83, uint8_t x84 = addcarryx_u64(x80, x51, x81); + uint64_t x85 = (x56 & 0x7fffffffffff); + uint64_t x87, uint8_t _ = addcarryx_u64(x84, x54, x85); + (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e510m290x2e496m1/feaddDisplay.log b/src/Specific/montgomery64_2e510m290x2e496m1/feaddDisplay.log new file mode 100644 index 000000000..78a9aa96e --- /dev/null +++ b/src/Specific/montgomery64_2e510m290x2e496m1/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30); + uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffffL); + uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL); + uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL); + uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0x3eddffffffffffff); + uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0); + uint64_t x83 = cmovznz(x82, x78, x54); + uint64_t x84 = cmovznz(x82, x75, x51); + uint64_t x85 = cmovznz(x82, x72, x48); + uint64_t x86 = cmovznz(x82, x69, x45); + uint64_t x87 = cmovznz(x82, x66, x42); + uint64_t x88 = cmovznz(x82, x63, x39); + uint64_t x89 = cmovznz(x82, x60, x36); + uint64_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e510m290x2e496m1/feoppDisplay.log b/src/Specific/montgomery64_2e510m290x2e496m1/feoppDisplay.log new file mode 100644 index 000000000..4dee978ab --- /dev/null +++ b/src/Specific/montgomery64_2e510m290x2e496m1/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = subborrow_u64(0x0, 0x0, x2); + uint64_t x19, uint8_t x20 = subborrow_u64(x17, 0x0, x4); + uint64_t x22, uint8_t x23 = subborrow_u64(x20, 0x0, x6); + uint64_t x25, uint8_t x26 = subborrow_u64(x23, 0x0, x8); + uint64_t x28, uint8_t x29 = subborrow_u64(x26, 0x0, x10); + uint64_t x31, uint8_t x32 = subborrow_u64(x29, 0x0, x12); + uint64_t x34, uint8_t x35 = subborrow_u64(x32, 0x0, x14); + uint64_t x37, uint8_t x38 = subborrow_u64(x35, 0x0, x13); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xffffffffffffffffL); + uint64_t x42, uint8_t x43 = addcarryx_u64(0x0, x16, x40); + uint64_t x44 = (x39 & 0xffffffffffffffffL); + uint64_t x46, uint8_t x47 = addcarryx_u64(x43, x19, x44); + uint64_t x48 = (x39 & 0xffffffffffffffffL); + uint64_t x50, uint8_t x51 = addcarryx_u64(x47, x22, x48); + uint64_t x52 = (x39 & 0xffffffffffffffffL); + uint64_t x54, uint8_t x55 = addcarryx_u64(x51, x25, x52); + uint64_t x56 = (x39 & 0xffffffffffffffffL); + uint64_t x58, uint8_t x59 = addcarryx_u64(x55, x28, x56); + uint64_t x60 = (x39 & 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = addcarryx_u64(x59, x31, x60); + uint64_t x64 = (x39 & 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = addcarryx_u64(x63, x34, x64); + uint64_t x68 = (x39 & 0x3eddffffffffffff); + uint64_t x70, uint8_t _ = addcarryx_u64(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e511m187/feaddDisplay.log b/src/Specific/montgomery64_2e511m187/feaddDisplay.log new file mode 100644 index 000000000..c2bfe9410 --- /dev/null +++ b/src/Specific/montgomery64_2e511m187/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30); + uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffff45L); + uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL); + uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL); + uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0x7fffffffffffffffL); + uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0); + uint64_t x83 = cmovznz(x82, x78, x54); + uint64_t x84 = cmovznz(x82, x75, x51); + uint64_t x85 = cmovznz(x82, x72, x48); + uint64_t x86 = cmovznz(x82, x69, x45); + uint64_t x87 = cmovznz(x82, x66, x42); + uint64_t x88 = cmovznz(x82, x63, x39); + uint64_t x89 = cmovznz(x82, x60, x36); + uint64_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e511m187/feoppDisplay.log b/src/Specific/montgomery64_2e511m187/feoppDisplay.log new file mode 100644 index 000000000..dcf4bffc9 --- /dev/null +++ b/src/Specific/montgomery64_2e511m187/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = subborrow_u64(0x0, 0x0, x2); + uint64_t x19, uint8_t x20 = subborrow_u64(x17, 0x0, x4); + uint64_t x22, uint8_t x23 = subborrow_u64(x20, 0x0, x6); + uint64_t x25, uint8_t x26 = subborrow_u64(x23, 0x0, x8); + uint64_t x28, uint8_t x29 = subborrow_u64(x26, 0x0, x10); + uint64_t x31, uint8_t x32 = subborrow_u64(x29, 0x0, x12); + uint64_t x34, uint8_t x35 = subborrow_u64(x32, 0x0, x14); + uint64_t x37, uint8_t x38 = subborrow_u64(x35, 0x0, x13); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xffffffffffffff45L); + uint64_t x42, uint8_t x43 = addcarryx_u64(0x0, x16, x40); + uint64_t x44 = (x39 & 0xffffffffffffffffL); + uint64_t x46, uint8_t x47 = addcarryx_u64(x43, x19, x44); + uint64_t x48 = (x39 & 0xffffffffffffffffL); + uint64_t x50, uint8_t x51 = addcarryx_u64(x47, x22, x48); + uint64_t x52 = (x39 & 0xffffffffffffffffL); + uint64_t x54, uint8_t x55 = addcarryx_u64(x51, x25, x52); + uint64_t x56 = (x39 & 0xffffffffffffffffL); + uint64_t x58, uint8_t x59 = addcarryx_u64(x55, x28, x56); + uint64_t x60 = (x39 & 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = addcarryx_u64(x59, x31, x60); + uint64_t x64 = (x39 & 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = addcarryx_u64(x63, x34, x64); + uint64_t x68 = (x39 & 0x7fffffffffffffffL); + uint64_t x70, uint8_t _ = addcarryx_u64(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e511m187/fesubDisplay.log b/src/Specific/montgomery64_2e511m187/fesubDisplay.log new file mode 100644 index 000000000..3c6951c6a --- /dev/null +++ b/src/Specific/montgomery64_2e511m187/fesubDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = subborrow_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = subborrow_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = subborrow_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = subborrow_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = subborrow_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = subborrow_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = subborrow_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = subborrow_u64(x52, x16, x30); + uint64_t x56 = (uint64_t)cmovznz(x55, 0x0, 0xffffffffffffffffL); + uint64_t x57 = (x56 & 0xffffffffffffff45L); + uint64_t x59, uint8_t x60 = addcarryx_u64(0x0, x33, x57); + uint64_t x61 = (x56 & 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = addcarryx_u64(x60, x36, x61); + uint64_t x65 = (x56 & 0xffffffffffffffffL); + uint64_t x67, uint8_t x68 = addcarryx_u64(x64, x39, x65); + uint64_t x69 = (x56 & 0xffffffffffffffffL); + uint64_t x71, uint8_t x72 = addcarryx_u64(x68, x42, x69); + uint64_t x73 = (x56 & 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = addcarryx_u64(x72, x45, x73); + uint64_t x77 = (x56 & 0xffffffffffffffffL); + uint64_t x79, uint8_t x80 = addcarryx_u64(x76, x48, x77); + uint64_t x81 = (x56 & 0xffffffffffffffffL); + uint64_t x83, uint8_t x84 = addcarryx_u64(x80, x51, x81); + uint64_t x85 = (x56 & 0x7fffffffffffffffL); + uint64_t x87, uint8_t _ = addcarryx_u64(x84, x54, x85); + (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e511m481/feaddDisplay.log b/src/Specific/montgomery64_2e511m481/feaddDisplay.log new file mode 100644 index 000000000..5702bef05 --- /dev/null +++ b/src/Specific/montgomery64_2e511m481/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30); + uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xfffffffffffffe1fL); + uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL); + uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL); + uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0x7fffffffffffffffL); + uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0); + uint64_t x83 = cmovznz(x82, x78, x54); + uint64_t x84 = cmovznz(x82, x75, x51); + uint64_t x85 = cmovznz(x82, x72, x48); + uint64_t x86 = cmovznz(x82, x69, x45); + uint64_t x87 = cmovznz(x82, x66, x42); + uint64_t x88 = cmovznz(x82, x63, x39); + uint64_t x89 = cmovznz(x82, x60, x36); + uint64_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e511m481/feoppDisplay.log b/src/Specific/montgomery64_2e511m481/feoppDisplay.log new file mode 100644 index 000000000..bdf463140 --- /dev/null +++ b/src/Specific/montgomery64_2e511m481/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = subborrow_u64(0x0, 0x0, x2); + uint64_t x19, uint8_t x20 = subborrow_u64(x17, 0x0, x4); + uint64_t x22, uint8_t x23 = subborrow_u64(x20, 0x0, x6); + uint64_t x25, uint8_t x26 = subborrow_u64(x23, 0x0, x8); + uint64_t x28, uint8_t x29 = subborrow_u64(x26, 0x0, x10); + uint64_t x31, uint8_t x32 = subborrow_u64(x29, 0x0, x12); + uint64_t x34, uint8_t x35 = subborrow_u64(x32, 0x0, x14); + uint64_t x37, uint8_t x38 = subborrow_u64(x35, 0x0, x13); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xfffffffffffffe1fL); + uint64_t x42, uint8_t x43 = addcarryx_u64(0x0, x16, x40); + uint64_t x44 = (x39 & 0xffffffffffffffffL); + uint64_t x46, uint8_t x47 = addcarryx_u64(x43, x19, x44); + uint64_t x48 = (x39 & 0xffffffffffffffffL); + uint64_t x50, uint8_t x51 = addcarryx_u64(x47, x22, x48); + uint64_t x52 = (x39 & 0xffffffffffffffffL); + uint64_t x54, uint8_t x55 = addcarryx_u64(x51, x25, x52); + uint64_t x56 = (x39 & 0xffffffffffffffffL); + uint64_t x58, uint8_t x59 = addcarryx_u64(x55, x28, x56); + uint64_t x60 = (x39 & 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = addcarryx_u64(x59, x31, x60); + uint64_t x64 = (x39 & 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = addcarryx_u64(x63, x34, x64); + uint64_t x68 = (x39 & 0x7fffffffffffffffL); + uint64_t x70, uint8_t _ = addcarryx_u64(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e511m481/fesubDisplay.log b/src/Specific/montgomery64_2e511m481/fesubDisplay.log new file mode 100644 index 000000000..9d13a6db7 --- /dev/null +++ b/src/Specific/montgomery64_2e511m481/fesubDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = subborrow_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = subborrow_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = subborrow_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = subborrow_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = subborrow_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = subborrow_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = subborrow_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = subborrow_u64(x52, x16, x30); + uint64_t x56 = (uint64_t)cmovznz(x55, 0x0, 0xffffffffffffffffL); + uint64_t x57 = (x56 & 0xfffffffffffffe1fL); + uint64_t x59, uint8_t x60 = addcarryx_u64(0x0, x33, x57); + uint64_t x61 = (x56 & 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = addcarryx_u64(x60, x36, x61); + uint64_t x65 = (x56 & 0xffffffffffffffffL); + uint64_t x67, uint8_t x68 = addcarryx_u64(x64, x39, x65); + uint64_t x69 = (x56 & 0xffffffffffffffffL); + uint64_t x71, uint8_t x72 = addcarryx_u64(x68, x42, x69); + uint64_t x73 = (x56 & 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = addcarryx_u64(x72, x45, x73); + uint64_t x77 = (x56 & 0xffffffffffffffffL); + uint64_t x79, uint8_t x80 = addcarryx_u64(x76, x48, x77); + uint64_t x81 = (x56 & 0xffffffffffffffffL); + uint64_t x83, uint8_t x84 = addcarryx_u64(x80, x51, x81); + uint64_t x85 = (x56 & 0x7fffffffffffffffL); + uint64_t x87, uint8_t _ = addcarryx_u64(x84, x54, x85); + (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e512m491x2e496m1/feaddDisplay.log b/src/Specific/montgomery64_2e512m491x2e496m1/feaddDisplay.log new file mode 100644 index 000000000..a0d188d16 --- /dev/null +++ b/src/Specific/montgomery64_2e512m491x2e496m1/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30); + uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffffL); + uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL); + uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL); + uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0xfe14ffffffffffffL); + uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0); + uint64_t x83 = cmovznz(x82, x78, x54); + uint64_t x84 = cmovznz(x82, x75, x51); + uint64_t x85 = cmovznz(x82, x72, x48); + uint64_t x86 = cmovznz(x82, x69, x45); + uint64_t x87 = cmovznz(x82, x66, x42); + uint64_t x88 = cmovznz(x82, x63, x39); + uint64_t x89 = cmovznz(x82, x60, x36); + uint64_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e512m491x2e496m1/feoppDisplay.log b/src/Specific/montgomery64_2e512m491x2e496m1/feoppDisplay.log new file mode 100644 index 000000000..efeb12ab9 --- /dev/null +++ b/src/Specific/montgomery64_2e512m491x2e496m1/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = subborrow_u64(0x0, 0x0, x2); + uint64_t x19, uint8_t x20 = subborrow_u64(x17, 0x0, x4); + uint64_t x22, uint8_t x23 = subborrow_u64(x20, 0x0, x6); + uint64_t x25, uint8_t x26 = subborrow_u64(x23, 0x0, x8); + uint64_t x28, uint8_t x29 = subborrow_u64(x26, 0x0, x10); + uint64_t x31, uint8_t x32 = subborrow_u64(x29, 0x0, x12); + uint64_t x34, uint8_t x35 = subborrow_u64(x32, 0x0, x14); + uint64_t x37, uint8_t x38 = subborrow_u64(x35, 0x0, x13); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xffffffffffffffffL); + uint64_t x42, uint8_t x43 = addcarryx_u64(0x0, x16, x40); + uint64_t x44 = (x39 & 0xffffffffffffffffL); + uint64_t x46, uint8_t x47 = addcarryx_u64(x43, x19, x44); + uint64_t x48 = (x39 & 0xffffffffffffffffL); + uint64_t x50, uint8_t x51 = addcarryx_u64(x47, x22, x48); + uint64_t x52 = (x39 & 0xffffffffffffffffL); + uint64_t x54, uint8_t x55 = addcarryx_u64(x51, x25, x52); + uint64_t x56 = (x39 & 0xffffffffffffffffL); + uint64_t x58, uint8_t x59 = addcarryx_u64(x55, x28, x56); + uint64_t x60 = (x39 & 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = addcarryx_u64(x59, x31, x60); + uint64_t x64 = (x39 & 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = addcarryx_u64(x63, x34, x64); + uint64_t x68 = (x39 & 0xfe14ffffffffffffL); + uint64_t x70, uint8_t _ = addcarryx_u64(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e512m569/feaddDisplay.log b/src/Specific/montgomery64_2e512m569/feaddDisplay.log new file mode 100644 index 000000000..35aacd709 --- /dev/null +++ b/src/Specific/montgomery64_2e512m569/feaddDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30); + uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xfffffffffffffdc7L); + uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL); + uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL); + uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL); + uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0xffffffffffffffffL); + uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0); + uint64_t x83 = cmovznz(x82, x78, x54); + uint64_t x84 = cmovznz(x82, x75, x51); + uint64_t x85 = cmovznz(x82, x72, x48); + uint64_t x86 = cmovznz(x82, x69, x45); + uint64_t x87 = cmovznz(x82, x66, x42); + uint64_t x88 = cmovznz(x82, x63, x39); + uint64_t x89 = cmovznz(x82, x60, x36); + uint64_t x90 = cmovznz(x82, x57, x33); + return (x83, x84, x85, x86, x87, x88, x89, x90)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e512m569/feoppDisplay.log b/src/Specific/montgomery64_2e512m569/feoppDisplay.log new file mode 100644 index 000000000..2934a77a9 --- /dev/null +++ b/src/Specific/montgomery64_2e512m569/feoppDisplay.log @@ -0,0 +1,32 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = subborrow_u64(0x0, 0x0, x2); + uint64_t x19, uint8_t x20 = subborrow_u64(x17, 0x0, x4); + uint64_t x22, uint8_t x23 = subborrow_u64(x20, 0x0, x6); + uint64_t x25, uint8_t x26 = subborrow_u64(x23, 0x0, x8); + uint64_t x28, uint8_t x29 = subborrow_u64(x26, 0x0, x10); + uint64_t x31, uint8_t x32 = subborrow_u64(x29, 0x0, x12); + uint64_t x34, uint8_t x35 = subborrow_u64(x32, 0x0, x14); + uint64_t x37, uint8_t x38 = subborrow_u64(x35, 0x0, x13); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xfffffffffffffdc7L); + uint64_t x42, uint8_t x43 = addcarryx_u64(0x0, x16, x40); + uint64_t x44 = (x39 & 0xffffffffffffffffL); + uint64_t x46, uint8_t x47 = addcarryx_u64(x43, x19, x44); + uint64_t x48 = (x39 & 0xffffffffffffffffL); + uint64_t x50, uint8_t x51 = addcarryx_u64(x47, x22, x48); + uint64_t x52 = (x39 & 0xffffffffffffffffL); + uint64_t x54, uint8_t x55 = addcarryx_u64(x51, x25, x52); + uint64_t x56 = (x39 & 0xffffffffffffffffL); + uint64_t x58, uint8_t x59 = addcarryx_u64(x55, x28, x56); + uint64_t x60 = (x39 & 0xffffffffffffffffL); + uint64_t x62, uint8_t x63 = addcarryx_u64(x59, x31, x60); + uint64_t x64 = (x39 & 0xffffffffffffffffL); + uint64_t x66, uint8_t x67 = addcarryx_u64(x63, x34, x64); + uint64_t x68 = (x39 & 0xffffffffffffffffL); + uint64_t x70, uint8_t _ = addcarryx_u64(x67, x37, x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e512m569/fesubDisplay.log b/src/Specific/montgomery64_2e512m569/fesubDisplay.log new file mode 100644 index 000000000..82b5805f6 --- /dev/null +++ b/src/Specific/montgomery64_2e512m569/fesubDisplay.log @@ -0,0 +1,32 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x33, uint8_t x34 = subborrow_u64(0x0, x5, x19); + uint64_t x36, uint8_t x37 = subborrow_u64(x34, x7, x21); + uint64_t x39, uint8_t x40 = subborrow_u64(x37, x9, x23); + uint64_t x42, uint8_t x43 = subborrow_u64(x40, x11, x25); + uint64_t x45, uint8_t x46 = subborrow_u64(x43, x13, x27); + uint64_t x48, uint8_t x49 = subborrow_u64(x46, x15, x29); + uint64_t x51, uint8_t x52 = subborrow_u64(x49, x17, x31); + uint64_t x54, uint8_t x55 = subborrow_u64(x52, x16, x30); + uint64_t x56 = (uint64_t)cmovznz(x55, 0x0, 0xffffffffffffffffL); + uint64_t x57 = (x56 & 0xfffffffffffffdc7L); + uint64_t x59, uint8_t x60 = addcarryx_u64(0x0, x33, x57); + uint64_t x61 = (x56 & 0xffffffffffffffffL); + uint64_t x63, uint8_t x64 = addcarryx_u64(x60, x36, x61); + uint64_t x65 = (x56 & 0xffffffffffffffffL); + uint64_t x67, uint8_t x68 = addcarryx_u64(x64, x39, x65); + uint64_t x69 = (x56 & 0xffffffffffffffffL); + uint64_t x71, uint8_t x72 = addcarryx_u64(x68, x42, x69); + uint64_t x73 = (x56 & 0xffffffffffffffffL); + uint64_t x75, uint8_t x76 = addcarryx_u64(x72, x45, x73); + uint64_t x77 = (x56 & 0xffffffffffffffffL); + uint64_t x79, uint8_t x80 = addcarryx_u64(x76, x48, x77); + uint64_t x81 = (x56 & 0xffffffffffffffffL); + uint64_t x83, uint8_t x84 = addcarryx_u64(x80, x51, x81); + uint64_t x85 = (x56 & 0xffffffffffffffffL); + uint64_t x87, uint8_t _ = addcarryx_u64(x84, x54, x85); + (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/montgomery64_2e521m1/feaddDisplay.log b/src/Specific/montgomery64_2e521m1/feaddDisplay.log new file mode 100644 index 000000000..80652f836 --- /dev/null +++ b/src/Specific/montgomery64_2e521m1/feaddDisplay.log @@ -0,0 +1,35 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, + uint64_t x37, uint8_t x38 = addcarryx_u64(0x0, x5, x21); + uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x7, x23); + uint64_t x43, uint8_t x44 = addcarryx_u64(x41, x9, x25); + uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x11, x27); + uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x13, x29); + uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x15, x31); + uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x17, x33); + uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x19, x35); + uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x18, x34); + uint64_t x64, uint8_t x65 = subborrow_u64(0x0, x37, 0xffffffffffffffffL); + uint64_t x67, uint8_t x68 = subborrow_u64(x65, x40, 0xffffffffffffffffL); + uint64_t x70, uint8_t x71 = subborrow_u64(x68, x43, 0xffffffffffffffffL); + uint64_t x73, uint8_t x74 = subborrow_u64(x71, x46, 0xffffffffffffffffL); + uint64_t x76, uint8_t x77 = subborrow_u64(x74, x49, 0xffffffffffffffffL); + uint64_t x79, uint8_t x80 = subborrow_u64(x77, x52, 0xffffffffffffffffL); + uint64_t x82, uint8_t x83 = subborrow_u64(x80, x55, 0xffffffffffffffffL); + uint64_t x85, uint8_t x86 = subborrow_u64(x83, x58, 0xffffffffffffffffL); + uint64_t x88, uint8_t x89 = subborrow_u64(x86, x61, 0x1ff); + uint64_t _, uint8_t x92 = subborrow_u64(x89, x62, 0x0); + uint64_t x93 = cmovznz(x92, x88, x61); + uint64_t x94 = cmovznz(x92, x85, x58); + uint64_t x95 = cmovznz(x92, x82, x55); + uint64_t x96 = cmovznz(x92, x79, x52); + uint64_t x97 = cmovznz(x92, x76, x49); + uint64_t x98 = cmovznz(x92, x73, x46); + uint64_t x99 = cmovznz(x92, x70, x43); + uint64_t x100 = cmovznz(x92, x67, x40); + uint64_t x101 = cmovznz(x92, x64, x37); + return (x93, x94, x95, x96, x97, x98, x99, x100, x101)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas32_2e137m13/femulDisplay.log b/src/Specific/solinas32_2e137m13/femulDisplay.log index 25c6dbe8d..656d6af0d 100644 --- a/src/Specific/solinas32_2e137m13/femulDisplay.log +++ b/src/Specific/solinas32_2e137m13/femulDisplay.log @@ -2,43 +2,43 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, - uint64_t x32 = (uint64_t) x5 * x30 + (0x2 * ((uint64_t) x7 * x31) + (0x2 * ((uint64_t) x9 * x29) + (0x2 * ((uint64_t) x11 * x27) + (0x2 * ((uint64_t) x13 * x25) + (0x2 * ((uint64_t) x15 * x23) + (0x2 * ((uint64_t) x17 * x21) + (uint64_t) x16 * x19)))))); - uint64_t x33 = (uint64_t) x5 * x31 + (0x2 * ((uint64_t) x7 * x29) + (0x2 * ((uint64_t) x9 * x27) + (0x2 * ((uint64_t) x11 * x25) + (0x2 * ((uint64_t) x13 * x23) + (0x2 * ((uint64_t) x15 * x21) + (uint64_t) x17 * x19))))) + 0xd * ((uint64_t) x16 * x30); - uint64_t x34 = (uint64_t) x5 * x29 + (0x2 * ((uint64_t) x7 * x27) + (0x2 * ((uint64_t) x9 * x25) + (0x2 * ((uint64_t) x11 * x23) + (0x2 * ((uint64_t) x13 * x21) + (uint64_t) x15 * x19)))) + 0xd * ((uint64_t) x17 * x30 + (uint64_t) x16 * x31); - uint64_t x35 = (uint64_t) x5 * x27 + (0x2 * ((uint64_t) x7 * x25) + (0x2 * ((uint64_t) x9 * x23) + (0x2 * ((uint64_t) x11 * x21) + (uint64_t) x13 * x19))) + 0xd * ((uint64_t) x15 * x30 + ((uint64_t) x17 * x31 + (uint64_t) x16 * x29)); - uint64_t x36 = (uint64_t) x5 * x25 + (0x2 * ((uint64_t) x7 * x23) + (0x2 * ((uint64_t) x9 * x21) + (uint64_t) x11 * x19)) + 0xd * ((uint64_t) x13 * x30 + ((uint64_t) x15 * x31 + ((uint64_t) x17 * x29 + (uint64_t) x16 * x27))); - uint64_t x37 = (uint64_t) x5 * x23 + (0x2 * ((uint64_t) x7 * x21) + (uint64_t) x9 * x19) + 0xd * ((uint64_t) x11 * x30 + ((uint64_t) x13 * x31 + ((uint64_t) x15 * x29 + ((uint64_t) x17 * x27 + (uint64_t) x16 * x25)))); - uint64_t x38 = (uint64_t) x5 * x21 + (uint64_t) x7 * x19 + 0xd * ((uint64_t) x9 * x30 + ((uint64_t) x11 * x31 + ((uint64_t) x13 * x29 + ((uint64_t) x15 * x27 + ((uint64_t) x17 * x25 + (uint64_t) x16 * x23))))); - uint64_t x39 = (uint64_t) x5 * x19 + 0xd * (0x2 * ((uint64_t) x7 * x30) + (0x2 * ((uint64_t) x9 * x31) + (0x2 * ((uint64_t) x11 * x29) + (0x2 * ((uint64_t) x13 * x27) + (0x2 * ((uint64_t) x15 * x25) + (0x2 * ((uint64_t) x17 * x23) + 0x2 * ((uint64_t) x16 * x21))))))); + uint64_t x32 = (((uint64_t)x5 * x30) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((0x2 * ((uint64_t)x17 * x21)) + ((uint64_t)x16 * x19)))))))); + uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0xd * ((uint64_t)x16 * x30))); + uint64_t x34 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + ((0x2 * ((uint64_t)x13 * x21)) + ((uint64_t)x15 * x19)))))) + (0xd * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31)))); + uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0xd * (((uint64_t)x15 * x30) + (((uint64_t)x17 * x31) + ((uint64_t)x16 * x29))))); + uint64_t x36 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((uint64_t)x11 * x19)))) + (0xd * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27)))))); + uint64_t x37 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((uint64_t)x9 * x19))) + (0xd * (((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25))))))); + uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0xd * (((uint64_t)x9 * x30) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x16 * x23)))))))); + uint64_t x39 = (((uint64_t)x5 * x19) + (0xd * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21)))))))))); uint32_t x40 = (uint32_t) (x39 >> 0x12); - uint32_t x41 = (uint32_t) x39 & 0x3ffff; - uint64_t x42 = x40 + x38; + uint32_t x41 = ((uint32_t)x39 & 0x3ffff); + uint64_t x42 = (x40 + x38); uint32_t x43 = (uint32_t) (x42 >> 0x11); - uint32_t x44 = (uint32_t) x42 & 0x1ffff; - uint64_t x45 = x43 + x37; + uint32_t x44 = ((uint32_t)x42 & 0x1ffff); + uint64_t x45 = (x43 + x37); uint32_t x46 = (uint32_t) (x45 >> 0x11); - uint32_t x47 = (uint32_t) x45 & 0x1ffff; - uint64_t x48 = x46 + x36; + uint32_t x47 = ((uint32_t)x45 & 0x1ffff); + uint64_t x48 = (x46 + x36); uint32_t x49 = (uint32_t) (x48 >> 0x11); - uint32_t x50 = (uint32_t) x48 & 0x1ffff; - uint64_t x51 = x49 + x35; + uint32_t x50 = ((uint32_t)x48 & 0x1ffff); + uint64_t x51 = (x49 + x35); uint32_t x52 = (uint32_t) (x51 >> 0x11); - uint32_t x53 = (uint32_t) x51 & 0x1ffff; - uint64_t x54 = x52 + x34; + uint32_t x53 = ((uint32_t)x51 & 0x1ffff); + uint64_t x54 = (x52 + x34); uint32_t x55 = (uint32_t) (x54 >> 0x11); - uint32_t x56 = (uint32_t) x54 & 0x1ffff; - uint64_t x57 = x55 + x33; + uint32_t x56 = ((uint32_t)x54 & 0x1ffff); + uint64_t x57 = (x55 + x33); uint32_t x58 = (uint32_t) (x57 >> 0x11); - uint32_t x59 = (uint32_t) x57 & 0x1ffff; - uint64_t x60 = x58 + x32; + uint32_t x59 = ((uint32_t)x57 & 0x1ffff); + uint64_t x60 = (x58 + x32); uint32_t x61 = (uint32_t) (x60 >> 0x11); - uint32_t x62 = (uint32_t) x60 & 0x1ffff; - uint32_t x63 = x41 + 0xd * x61; - uint32_t x64 = x63 >> 0x12; - uint32_t x65 = x63 & 0x3ffff; - uint32_t x66 = x64 + x44; - uint32_t x67 = x66 >> 0x11; - uint32_t x68 = x66 & 0x1ffff; - return (Return x62, Return x59, Return x56, Return x53, Return x50, x67 + x47, Return x68, Return x65)) + uint32_t x62 = ((uint32_t)x60 & 0x1ffff); + uint32_t x63 = (x41 + (0xd * x61)); + uint32_t x64 = (x63 >> 0x12); + uint32_t x65 = (x63 & 0x3ffff); + uint32_t x66 = (x64 + x44); + uint32_t x67 = (x66 >> 0x11); + uint32_t x68 = (x66 & 0x1ffff); + return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65)) (x, x0)%core : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e137m13/fesquareDisplay.log b/src/Specific/solinas32_2e137m13/fesquareDisplay.log index 2bbaa3dde..5a352c69d 100644 --- a/src/Specific/solinas32_2e137m13/fesquareDisplay.log +++ b/src/Specific/solinas32_2e137m13/fesquareDisplay.log @@ -2,43 +2,43 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x15 = (uint64_t) x2 * x13 + (0x2 * ((uint64_t) x4 * x14) + (0x2 * ((uint64_t) x6 * x12) + (0x2 * ((uint64_t) x8 * x10) + (0x2 * ((uint64_t) x10 * x8) + (0x2 * ((uint64_t) x12 * x6) + (0x2 * ((uint64_t) x14 * x4) + (uint64_t) x13 * x2)))))); - uint64_t x16 = (uint64_t) x2 * x14 + (0x2 * ((uint64_t) x4 * x12) + (0x2 * ((uint64_t) x6 * x10) + (0x2 * ((uint64_t) x8 * x8) + (0x2 * ((uint64_t) x10 * x6) + (0x2 * ((uint64_t) x12 * x4) + (uint64_t) x14 * x2))))) + 0xd * ((uint64_t) x13 * x13); - uint64_t x17 = (uint64_t) x2 * x12 + (0x2 * ((uint64_t) x4 * x10) + (0x2 * ((uint64_t) x6 * x8) + (0x2 * ((uint64_t) x8 * x6) + (0x2 * ((uint64_t) x10 * x4) + (uint64_t) x12 * x2)))) + 0xd * ((uint64_t) x14 * x13 + (uint64_t) x13 * x14); - uint64_t x18 = (uint64_t) x2 * x10 + (0x2 * ((uint64_t) x4 * x8) + (0x2 * ((uint64_t) x6 * x6) + (0x2 * ((uint64_t) x8 * x4) + (uint64_t) x10 * x2))) + 0xd * ((uint64_t) x12 * x13 + ((uint64_t) x14 * x14 + (uint64_t) x13 * x12)); - uint64_t x19 = (uint64_t) x2 * x8 + (0x2 * ((uint64_t) x4 * x6) + (0x2 * ((uint64_t) x6 * x4) + (uint64_t) x8 * x2)) + 0xd * ((uint64_t) x10 * x13 + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + (uint64_t) x13 * x10))); - uint64_t x20 = (uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2) + 0xd * ((uint64_t) x8 * x13 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + (uint64_t) x13 * x8)))); - uint64_t x21 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0xd * ((uint64_t) x6 * x13 + ((uint64_t) x8 * x14 + ((uint64_t) x10 * x12 + ((uint64_t) x12 * x10 + ((uint64_t) x14 * x8 + (uint64_t) x13 * x6))))); - uint64_t x22 = (uint64_t) x2 * x2 + 0xd * (0x2 * ((uint64_t) x4 * x13) + (0x2 * ((uint64_t) x6 * x14) + (0x2 * ((uint64_t) x8 * x12) + (0x2 * ((uint64_t) x10 * x10) + (0x2 * ((uint64_t) x12 * x8) + (0x2 * ((uint64_t) x14 * x6) + 0x2 * ((uint64_t) x13 * x4))))))); + uint64_t x15 = (((uint64_t)x2 * x13) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x13 * x2)))))))); + uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xd * ((uint64_t)x13 * x13))); + uint64_t x17 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xd * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14)))); + uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xd * (((uint64_t)x12 * x13) + (((uint64_t)x14 * x14) + ((uint64_t)x13 * x12))))); + uint64_t x19 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xd * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10)))))); + uint64_t x20 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xd * (((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8))))))); + uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xd * (((uint64_t)x6 * x13) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x13 * x6)))))))); + uint64_t x22 = (((uint64_t)x2 * x2) + (0xd * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4)))))))))); uint32_t x23 = (uint32_t) (x22 >> 0x12); - uint32_t x24 = (uint32_t) x22 & 0x3ffff; - uint64_t x25 = x23 + x21; + uint32_t x24 = ((uint32_t)x22 & 0x3ffff); + uint64_t x25 = (x23 + x21); uint32_t x26 = (uint32_t) (x25 >> 0x11); - uint32_t x27 = (uint32_t) x25 & 0x1ffff; - uint64_t x28 = x26 + x20; + uint32_t x27 = ((uint32_t)x25 & 0x1ffff); + uint64_t x28 = (x26 + x20); uint32_t x29 = (uint32_t) (x28 >> 0x11); - uint32_t x30 = (uint32_t) x28 & 0x1ffff; - uint64_t x31 = x29 + x19; + uint32_t x30 = ((uint32_t)x28 & 0x1ffff); + uint64_t x31 = (x29 + x19); uint32_t x32 = (uint32_t) (x31 >> 0x11); - uint32_t x33 = (uint32_t) x31 & 0x1ffff; - uint64_t x34 = x32 + x18; + uint32_t x33 = ((uint32_t)x31 & 0x1ffff); + uint64_t x34 = (x32 + x18); uint32_t x35 = (uint32_t) (x34 >> 0x11); - uint32_t x36 = (uint32_t) x34 & 0x1ffff; - uint64_t x37 = x35 + x17; + uint32_t x36 = ((uint32_t)x34 & 0x1ffff); + uint64_t x37 = (x35 + x17); uint32_t x38 = (uint32_t) (x37 >> 0x11); - uint32_t x39 = (uint32_t) x37 & 0x1ffff; - uint64_t x40 = x38 + x16; + uint32_t x39 = ((uint32_t)x37 & 0x1ffff); + uint64_t x40 = (x38 + x16); uint32_t x41 = (uint32_t) (x40 >> 0x11); - uint32_t x42 = (uint32_t) x40 & 0x1ffff; - uint64_t x43 = x41 + x15; + uint32_t x42 = ((uint32_t)x40 & 0x1ffff); + uint64_t x43 = (x41 + x15); uint32_t x44 = (uint32_t) (x43 >> 0x11); - uint32_t x45 = (uint32_t) x43 & 0x1ffff; - uint32_t x46 = x24 + 0xd * x44; - uint32_t x47 = x46 >> 0x12; - uint32_t x48 = x46 & 0x3ffff; - uint32_t x49 = x47 + x27; - uint32_t x50 = x49 >> 0x11; - uint32_t x51 = x49 & 0x1ffff; - return (Return x45, Return x42, Return x39, Return x36, Return x33, x50 + x30, Return x51, Return x48)) + uint32_t x45 = ((uint32_t)x43 & 0x1ffff); + uint32_t x46 = (x24 + (0xd * x44)); + uint32_t x47 = (x46 >> 0x12); + uint32_t x48 = (x46 & 0x3ffff); + uint32_t x49 = (x47 + x27); + uint32_t x50 = (x49 >> 0x11); + uint32_t x51 = (x49 & 0x1ffff); + return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48)) x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e137m13/freezeDisplay.log b/src/Specific/solinas32_2e137m13/freezeDisplay.log index a5653a0ad..df593ca4b 100644 --- a/src/Specific/solinas32_2e137m13/freezeDisplay.log +++ b/src/Specific/solinas32_2e137m13/freezeDisplay.log @@ -11,21 +11,21 @@ Interp-η uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x1ffff); uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x1ffff); uint32_t x39 = (uint32_t)cmovznz(x38, 0x0, 0xffffffff); - uint32_t x40 = x39 & 0x3fff3; + uint32_t x40 = (x39 & 0x3fff3); uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 18 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40); - uint32_t x44 = x39 & 0x1ffff; + uint32_t x44 = (x39 & 0x1ffff); uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); - uint32_t x48 = x39 & 0x1ffff; + uint32_t x48 = (x39 & 0x1ffff); uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); - uint32_t x52 = x39 & 0x1ffff; + uint32_t x52 = (x39 & 0x1ffff); uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); - uint32_t x56 = x39 & 0x1ffff; + uint32_t x56 = (x39 & 0x1ffff); uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); - uint32_t x60 = x39 & 0x1ffff; + uint32_t x60 = (x39 & 0x1ffff); uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); - uint32_t x64 = x39 & 0x1ffff; + uint32_t x64 = (x39 & 0x1ffff); uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); - uint32_t x68 = x39 & 0x1ffff; + uint32_t x68 = (x39 & 0x1ffff); uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x diff --git a/src/Specific/solinas32_2e165m25/femulDisplay.log b/src/Specific/solinas32_2e165m25/femulDisplay.log index 5c8b0cac1..3606ff1fd 100644 --- a/src/Specific/solinas32_2e165m25/femulDisplay.log +++ b/src/Specific/solinas32_2e165m25/femulDisplay.log @@ -2,47 +2,47 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - uint64_t x36 = (uint64_t) x5 * x34 + (0x2 * ((uint64_t) x7 * x35) + ((uint64_t) x9 * x33 + ((uint64_t) x11 * x31 + (0x2 * ((uint64_t) x13 * x29) + ((uint64_t) x15 * x27 + ((uint64_t) x17 * x25 + (0x2 * ((uint64_t) x19 * x23) + (uint64_t) x18 * x21))))))); - uint64_t x37 = (uint64_t) x5 * x35 + ((uint64_t) x7 * x33 + ((uint64_t) x9 * x31 + ((uint64_t) x11 * x29 + ((uint64_t) x13 * x27 + ((uint64_t) x15 * x25 + ((uint64_t) x17 * x23 + (uint64_t) x19 * x21)))))) + 0x19 * ((uint64_t) x18 * x34); - uint64_t x38 = (uint64_t) x5 * x33 + (0x2 * ((uint64_t) x7 * x31) + (0x2 * ((uint64_t) x9 * x29) + ((uint64_t) x11 * x27 + (0x2 * ((uint64_t) x13 * x25) + (0x2 * ((uint64_t) x15 * x23) + (uint64_t) x17 * x21))))) + 0x19 * (0x2 * ((uint64_t) x19 * x34) + 0x2 * ((uint64_t) x18 * x35)); - uint64_t x39 = (uint64_t) x5 * x31 + (0x2 * ((uint64_t) x7 * x29) + ((uint64_t) x9 * x27 + ((uint64_t) x11 * x25 + (0x2 * ((uint64_t) x13 * x23) + (uint64_t) x15 * x21)))) + 0x19 * ((uint64_t) x17 * x34 + (0x2 * ((uint64_t) x19 * x35) + (uint64_t) x18 * x33)); - uint64_t x40 = (uint64_t) x5 * x29 + ((uint64_t) x7 * x27 + ((uint64_t) x9 * x25 + ((uint64_t) x11 * x23 + (uint64_t) x13 * x21))) + 0x19 * ((uint64_t) x15 * x34 + ((uint64_t) x17 * x35 + ((uint64_t) x19 * x33 + (uint64_t) x18 * x31))); - uint64_t x41 = (uint64_t) x5 * x27 + (0x2 * ((uint64_t) x7 * x25) + (0x2 * ((uint64_t) x9 * x23) + (uint64_t) x11 * x21)) + 0x19 * (0x2 * ((uint64_t) x13 * x34) + (0x2 * ((uint64_t) x15 * x35) + ((uint64_t) x17 * x33 + (0x2 * ((uint64_t) x19 * x31) + 0x2 * ((uint64_t) x18 * x29))))); - uint64_t x42 = (uint64_t) x5 * x25 + (0x2 * ((uint64_t) x7 * x23) + (uint64_t) x9 * x21) + 0x19 * ((uint64_t) x11 * x34 + (0x2 * ((uint64_t) x13 * x35) + ((uint64_t) x15 * x33 + ((uint64_t) x17 * x31 + (0x2 * ((uint64_t) x19 * x29) + (uint64_t) x18 * x27))))); - uint64_t x43 = (uint64_t) x5 * x23 + (uint64_t) x7 * x21 + 0x19 * ((uint64_t) x9 * x34 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + ((uint64_t) x15 * x31 + ((uint64_t) x17 * x29 + ((uint64_t) x19 * x27 + (uint64_t) x18 * x25)))))); - uint64_t x44 = (uint64_t) x5 * x21 + 0x19 * (0x2 * ((uint64_t) x7 * x34) + (0x2 * ((uint64_t) x9 * x35) + ((uint64_t) x11 * x33 + (0x2 * ((uint64_t) x13 * x31) + (0x2 * ((uint64_t) x15 * x29) + ((uint64_t) x17 * x27 + (0x2 * ((uint64_t) x19 * x25) + 0x2 * ((uint64_t) x18 * x23)))))))); + uint64_t x36 = (((uint64_t)x5 * x34) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((0x2 * ((uint64_t)x19 * x23)) + ((uint64_t)x18 * x21))))))))); + uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x19 * ((uint64_t)x18 * x34))); + uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (0x19 * ((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35))))); + uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0x19 * (((uint64_t)x17 * x34) + ((0x2 * ((uint64_t)x19 * x35)) + ((uint64_t)x18 * x33))))); + uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x19 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31)))))); + uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x19 * ((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29)))))))); + uint64_t x42 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((uint64_t)x9 * x21))) + (0x19 * (((uint64_t)x11 * x34) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x18 * x27)))))))); + uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x19 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25))))))))); + uint64_t x44 = (((uint64_t)x5 * x21) + (0x19 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23))))))))))); uint32_t x45 = (uint32_t) (x44 >> 0x13); - uint32_t x46 = (uint32_t) x44 & 0x7ffff; - uint64_t x47 = x45 + x43; + uint32_t x46 = ((uint32_t)x44 & 0x7ffff); + uint64_t x47 = (x45 + x43); uint32_t x48 = (uint32_t) (x47 >> 0x12); - uint32_t x49 = (uint32_t) x47 & 0x3ffff; - uint64_t x50 = x48 + x42; + uint32_t x49 = ((uint32_t)x47 & 0x3ffff); + uint64_t x50 = (x48 + x42); uint32_t x51 = (uint32_t) (x50 >> 0x12); - uint32_t x52 = (uint32_t) x50 & 0x3ffff; - uint64_t x53 = x51 + x41; + uint32_t x52 = ((uint32_t)x50 & 0x3ffff); + uint64_t x53 = (x51 + x41); uint32_t x54 = (uint32_t) (x53 >> 0x13); - uint32_t x55 = (uint32_t) x53 & 0x7ffff; - uint64_t x56 = x54 + x40; + uint32_t x55 = ((uint32_t)x53 & 0x7ffff); + uint64_t x56 = (x54 + x40); uint32_t x57 = (uint32_t) (x56 >> 0x12); - uint32_t x58 = (uint32_t) x56 & 0x3ffff; - uint64_t x59 = x57 + x39; + uint32_t x58 = ((uint32_t)x56 & 0x3ffff); + uint64_t x59 = (x57 + x39); uint32_t x60 = (uint32_t) (x59 >> 0x12); - uint32_t x61 = (uint32_t) x59 & 0x3ffff; - uint64_t x62 = x60 + x38; + uint32_t x61 = ((uint32_t)x59 & 0x3ffff); + uint64_t x62 = (x60 + x38); uint32_t x63 = (uint32_t) (x62 >> 0x13); - uint32_t x64 = (uint32_t) x62 & 0x7ffff; - uint64_t x65 = x63 + x37; + uint32_t x64 = ((uint32_t)x62 & 0x7ffff); + uint64_t x65 = (x63 + x37); uint32_t x66 = (uint32_t) (x65 >> 0x12); - uint32_t x67 = (uint32_t) x65 & 0x3ffff; - uint64_t x68 = x66 + x36; + uint32_t x67 = ((uint32_t)x65 & 0x3ffff); + uint64_t x68 = (x66 + x36); uint32_t x69 = (uint32_t) (x68 >> 0x12); - uint32_t x70 = (uint32_t) x68 & 0x3ffff; - uint32_t x71 = x46 + 0x19 * x69; - uint32_t x72 = x71 >> 0x13; - uint32_t x73 = x71 & 0x7ffff; - uint32_t x74 = x72 + x49; - uint32_t x75 = x74 >> 0x12; - uint32_t x76 = x74 & 0x3ffff; - return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, x75 + x52, Return x76, Return x73)) + uint32_t x70 = ((uint32_t)x68 & 0x3ffff); + uint32_t x71 = (x46 + (0x19 * x69)); + uint32_t x72 = (x71 >> 0x13); + uint32_t x73 = (x71 & 0x7ffff); + uint32_t x74 = (x72 + x49); + uint32_t x75 = (x74 >> 0x12); + uint32_t x76 = (x74 & 0x3ffff); + return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73)) (x, x0)%core : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e165m25/fesquareDisplay.log b/src/Specific/solinas32_2e165m25/fesquareDisplay.log index f221f1cec..01627e8b0 100644 --- a/src/Specific/solinas32_2e165m25/fesquareDisplay.log +++ b/src/Specific/solinas32_2e165m25/fesquareDisplay.log @@ -2,47 +2,47 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x17 = (uint64_t) x2 * x15 + (0x2 * ((uint64_t) x4 * x16) + ((uint64_t) x6 * x14 + ((uint64_t) x8 * x12 + (0x2 * ((uint64_t) x10 * x10) + ((uint64_t) x12 * x8 + ((uint64_t) x14 * x6 + (0x2 * ((uint64_t) x16 * x4) + (uint64_t) x15 * x2))))))); - uint64_t x18 = (uint64_t) x2 * x16 + ((uint64_t) x4 * x14 + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + ((uint64_t) x14 * x4 + (uint64_t) x16 * x2)))))) + 0x19 * ((uint64_t) x15 * x15); - uint64_t x19 = (uint64_t) x2 * x14 + (0x2 * ((uint64_t) x4 * x12) + (0x2 * ((uint64_t) x6 * x10) + ((uint64_t) x8 * x8 + (0x2 * ((uint64_t) x10 * x6) + (0x2 * ((uint64_t) x12 * x4) + (uint64_t) x14 * x2))))) + 0x19 * (0x2 * ((uint64_t) x16 * x15) + 0x2 * ((uint64_t) x15 * x16)); - uint64_t x20 = (uint64_t) x2 * x12 + (0x2 * ((uint64_t) x4 * x10) + ((uint64_t) x6 * x8 + ((uint64_t) x8 * x6 + (0x2 * ((uint64_t) x10 * x4) + (uint64_t) x12 * x2)))) + 0x19 * ((uint64_t) x14 * x15 + (0x2 * ((uint64_t) x16 * x16) + (uint64_t) x15 * x14)); - uint64_t x21 = (uint64_t) x2 * x10 + ((uint64_t) x4 * x8 + ((uint64_t) x6 * x6 + ((uint64_t) x8 * x4 + (uint64_t) x10 * x2))) + 0x19 * ((uint64_t) x12 * x15 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + (uint64_t) x15 * x12))); - uint64_t x22 = (uint64_t) x2 * x8 + (0x2 * ((uint64_t) x4 * x6) + (0x2 * ((uint64_t) x6 * x4) + (uint64_t) x8 * x2)) + 0x19 * (0x2 * ((uint64_t) x10 * x15) + (0x2 * ((uint64_t) x12 * x16) + ((uint64_t) x14 * x14 + (0x2 * ((uint64_t) x16 * x12) + 0x2 * ((uint64_t) x15 * x10))))); - uint64_t x23 = (uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2) + 0x19 * ((uint64_t) x8 * x15 + (0x2 * ((uint64_t) x10 * x16) + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + (0x2 * ((uint64_t) x16 * x10) + (uint64_t) x15 * x8))))); - uint64_t x24 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x19 * ((uint64_t) x6 * x15 + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + (uint64_t) x15 * x6)))))); - uint64_t x25 = (uint64_t) x2 * x2 + 0x19 * (0x2 * ((uint64_t) x4 * x15) + (0x2 * ((uint64_t) x6 * x16) + ((uint64_t) x8 * x14 + (0x2 * ((uint64_t) x10 * x12) + (0x2 * ((uint64_t) x12 * x10) + ((uint64_t) x14 * x8 + (0x2 * ((uint64_t) x16 * x6) + 0x2 * ((uint64_t) x15 * x4)))))))); + uint64_t x17 = (((uint64_t)x2 * x15) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x15 * x2))))))))); + uint64_t x18 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x19 * ((uint64_t)x15 * x15))); + uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x19 * ((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16))))); + uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x19 * (((uint64_t)x14 * x15) + ((0x2 * ((uint64_t)x16 * x16)) + ((uint64_t)x15 * x14))))); + uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x19 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12)))))); + uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x19 * ((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10)))))))); + uint64_t x23 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x19 * (((uint64_t)x8 * x15) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + ((uint64_t)x15 * x8)))))))); + uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6))))))))); + uint64_t x25 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4))))))))))); uint32_t x26 = (uint32_t) (x25 >> 0x13); - uint32_t x27 = (uint32_t) x25 & 0x7ffff; - uint64_t x28 = x26 + x24; + uint32_t x27 = ((uint32_t)x25 & 0x7ffff); + uint64_t x28 = (x26 + x24); uint32_t x29 = (uint32_t) (x28 >> 0x12); - uint32_t x30 = (uint32_t) x28 & 0x3ffff; - uint64_t x31 = x29 + x23; + uint32_t x30 = ((uint32_t)x28 & 0x3ffff); + uint64_t x31 = (x29 + x23); uint32_t x32 = (uint32_t) (x31 >> 0x12); - uint32_t x33 = (uint32_t) x31 & 0x3ffff; - uint64_t x34 = x32 + x22; + uint32_t x33 = ((uint32_t)x31 & 0x3ffff); + uint64_t x34 = (x32 + x22); uint32_t x35 = (uint32_t) (x34 >> 0x13); - uint32_t x36 = (uint32_t) x34 & 0x7ffff; - uint64_t x37 = x35 + x21; + uint32_t x36 = ((uint32_t)x34 & 0x7ffff); + uint64_t x37 = (x35 + x21); uint32_t x38 = (uint32_t) (x37 >> 0x12); - uint32_t x39 = (uint32_t) x37 & 0x3ffff; - uint64_t x40 = x38 + x20; + uint32_t x39 = ((uint32_t)x37 & 0x3ffff); + uint64_t x40 = (x38 + x20); uint32_t x41 = (uint32_t) (x40 >> 0x12); - uint32_t x42 = (uint32_t) x40 & 0x3ffff; - uint64_t x43 = x41 + x19; + uint32_t x42 = ((uint32_t)x40 & 0x3ffff); + uint64_t x43 = (x41 + x19); uint32_t x44 = (uint32_t) (x43 >> 0x13); - uint32_t x45 = (uint32_t) x43 & 0x7ffff; - uint64_t x46 = x44 + x18; + uint32_t x45 = ((uint32_t)x43 & 0x7ffff); + uint64_t x46 = (x44 + x18); uint32_t x47 = (uint32_t) (x46 >> 0x12); - uint32_t x48 = (uint32_t) x46 & 0x3ffff; - uint64_t x49 = x47 + x17; + uint32_t x48 = ((uint32_t)x46 & 0x3ffff); + uint64_t x49 = (x47 + x17); uint32_t x50 = (uint32_t) (x49 >> 0x12); - uint32_t x51 = (uint32_t) x49 & 0x3ffff; - uint32_t x52 = x27 + 0x19 * x50; - uint32_t x53 = x52 >> 0x13; - uint32_t x54 = x52 & 0x7ffff; - uint32_t x55 = x53 + x30; - uint32_t x56 = x55 >> 0x12; - uint32_t x57 = x55 & 0x3ffff; - return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, x56 + x33, Return x57, Return x54)) + uint32_t x51 = ((uint32_t)x49 & 0x3ffff); + uint32_t x52 = (x27 + (0x19 * x50)); + uint32_t x53 = (x52 >> 0x13); + uint32_t x54 = (x52 & 0x7ffff); + uint32_t x55 = (x53 + x30); + uint32_t x56 = (x55 >> 0x12); + uint32_t x57 = (x55 & 0x3ffff); + return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54)) x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e165m25/freezeDisplay.log b/src/Specific/solinas32_2e165m25/freezeDisplay.log index 9f8cd60dc..079c15c43 100644 --- a/src/Specific/solinas32_2e165m25/freezeDisplay.log +++ b/src/Specific/solinas32_2e165m25/freezeDisplay.log @@ -12,23 +12,23 @@ Interp-η uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 18 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x3ffff); uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 18 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x3ffff); uint32_t x44 = (uint32_t)cmovznz(x43, 0x0, 0xffffffff); - uint32_t x45 = x44 & 0x7ffe7; + uint32_t x45 = (x44 & 0x7ffe7); uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45); - uint32_t x49 = x44 & 0x3ffff; + uint32_t x49 = (x44 & 0x3ffff); uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 18 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); - uint32_t x53 = x44 & 0x3ffff; + uint32_t x53 = (x44 & 0x3ffff); uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 18 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); - uint32_t x57 = x44 & 0x7ffff; + uint32_t x57 = (x44 & 0x7ffff); uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); - uint32_t x61 = x44 & 0x3ffff; + uint32_t x61 = (x44 & 0x3ffff); uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 18 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); - uint32_t x65 = x44 & 0x3ffff; + uint32_t x65 = (x44 & 0x3ffff); uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 18 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); - uint32_t x69 = x44 & 0x7ffff; + uint32_t x69 = (x44 & 0x7ffff); uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); - uint32_t x73 = x44 & 0x3ffff; + uint32_t x73 = (x44 & 0x3ffff); uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 18 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); - uint32_t x77 = x44 & 0x3ffff; + uint32_t x77 = (x44 & 0x3ffff); uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 18 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) x diff --git a/src/Specific/solinas32_2e171m19/femulDisplay.log b/src/Specific/solinas32_2e171m19/femulDisplay.log index 37bf0adc0..e0d4e103d 100644 --- a/src/Specific/solinas32_2e171m19/femulDisplay.log +++ b/src/Specific/solinas32_2e171m19/femulDisplay.log @@ -2,47 +2,47 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - uint64_t x36 = (uint64_t) x5 * x34 + ((uint64_t) x7 * x35 + ((uint64_t) x9 * x33 + ((uint64_t) x11 * x31 + ((uint64_t) x13 * x29 + ((uint64_t) x15 * x27 + ((uint64_t) x17 * x25 + ((uint64_t) x19 * x23 + (uint64_t) x18 * x21))))))); - uint64_t x37 = (uint64_t) x5 * x35 + ((uint64_t) x7 * x33 + ((uint64_t) x9 * x31 + ((uint64_t) x11 * x29 + ((uint64_t) x13 * x27 + ((uint64_t) x15 * x25 + ((uint64_t) x17 * x23 + (uint64_t) x19 * x21)))))) + 0x13 * ((uint64_t) x18 * x34); - uint64_t x38 = (uint64_t) x5 * x33 + ((uint64_t) x7 * x31 + ((uint64_t) x9 * x29 + ((uint64_t) x11 * x27 + ((uint64_t) x13 * x25 + ((uint64_t) x15 * x23 + (uint64_t) x17 * x21))))) + 0x13 * ((uint64_t) x19 * x34 + (uint64_t) x18 * x35); - uint64_t x39 = (uint64_t) x5 * x31 + ((uint64_t) x7 * x29 + ((uint64_t) x9 * x27 + ((uint64_t) x11 * x25 + ((uint64_t) x13 * x23 + (uint64_t) x15 * x21)))) + 0x13 * ((uint64_t) x17 * x34 + ((uint64_t) x19 * x35 + (uint64_t) x18 * x33)); - uint64_t x40 = (uint64_t) x5 * x29 + ((uint64_t) x7 * x27 + ((uint64_t) x9 * x25 + ((uint64_t) x11 * x23 + (uint64_t) x13 * x21))) + 0x13 * ((uint64_t) x15 * x34 + ((uint64_t) x17 * x35 + ((uint64_t) x19 * x33 + (uint64_t) x18 * x31))); - uint64_t x41 = (uint64_t) x5 * x27 + ((uint64_t) x7 * x25 + ((uint64_t) x9 * x23 + (uint64_t) x11 * x21)) + 0x13 * ((uint64_t) x13 * x34 + ((uint64_t) x15 * x35 + ((uint64_t) x17 * x33 + ((uint64_t) x19 * x31 + (uint64_t) x18 * x29)))); - uint64_t x42 = (uint64_t) x5 * x25 + ((uint64_t) x7 * x23 + (uint64_t) x9 * x21) + 0x13 * ((uint64_t) x11 * x34 + ((uint64_t) x13 * x35 + ((uint64_t) x15 * x33 + ((uint64_t) x17 * x31 + ((uint64_t) x19 * x29 + (uint64_t) x18 * x27))))); - uint64_t x43 = (uint64_t) x5 * x23 + (uint64_t) x7 * x21 + 0x13 * ((uint64_t) x9 * x34 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + ((uint64_t) x15 * x31 + ((uint64_t) x17 * x29 + ((uint64_t) x19 * x27 + (uint64_t) x18 * x25)))))); - uint64_t x44 = (uint64_t) x5 * x21 + 0x13 * ((uint64_t) x7 * x34 + ((uint64_t) x9 * x35 + ((uint64_t) x11 * x33 + ((uint64_t) x13 * x31 + ((uint64_t) x15 * x29 + ((uint64_t) x17 * x27 + ((uint64_t) x19 * x25 + (uint64_t) x18 * x23))))))); + uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21))))))))); + uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x13 * ((uint64_t)x18 * x34))); + uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x13 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35)))); + uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x13 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33))))); + uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x13 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31)))))); + uint64_t x41 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21)))) + (0x13 * (((uint64_t)x13 * x34) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x18 * x29))))))); + uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x13 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27)))))))); + uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x13 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25))))))))); + uint64_t x44 = (((uint64_t)x5 * x21) + (0x13 * (((uint64_t)x7 * x34) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (((uint64_t)x19 * x25) + ((uint64_t)x18 * x23)))))))))); uint32_t x45 = (uint32_t) (x44 >> 0x13); - uint32_t x46 = (uint32_t) x44 & 0x7ffff; - uint64_t x47 = x45 + x43; + uint32_t x46 = ((uint32_t)x44 & 0x7ffff); + uint64_t x47 = (x45 + x43); uint32_t x48 = (uint32_t) (x47 >> 0x13); - uint32_t x49 = (uint32_t) x47 & 0x7ffff; - uint64_t x50 = x48 + x42; + uint32_t x49 = ((uint32_t)x47 & 0x7ffff); + uint64_t x50 = (x48 + x42); uint32_t x51 = (uint32_t) (x50 >> 0x13); - uint32_t x52 = (uint32_t) x50 & 0x7ffff; - uint64_t x53 = x51 + x41; + uint32_t x52 = ((uint32_t)x50 & 0x7ffff); + uint64_t x53 = (x51 + x41); uint32_t x54 = (uint32_t) (x53 >> 0x13); - uint32_t x55 = (uint32_t) x53 & 0x7ffff; - uint64_t x56 = x54 + x40; + uint32_t x55 = ((uint32_t)x53 & 0x7ffff); + uint64_t x56 = (x54 + x40); uint32_t x57 = (uint32_t) (x56 >> 0x13); - uint32_t x58 = (uint32_t) x56 & 0x7ffff; - uint64_t x59 = x57 + x39; + uint32_t x58 = ((uint32_t)x56 & 0x7ffff); + uint64_t x59 = (x57 + x39); uint32_t x60 = (uint32_t) (x59 >> 0x13); - uint32_t x61 = (uint32_t) x59 & 0x7ffff; - uint64_t x62 = x60 + x38; + uint32_t x61 = ((uint32_t)x59 & 0x7ffff); + uint64_t x62 = (x60 + x38); uint32_t x63 = (uint32_t) (x62 >> 0x13); - uint32_t x64 = (uint32_t) x62 & 0x7ffff; - uint64_t x65 = x63 + x37; + uint32_t x64 = ((uint32_t)x62 & 0x7ffff); + uint64_t x65 = (x63 + x37); uint32_t x66 = (uint32_t) (x65 >> 0x13); - uint32_t x67 = (uint32_t) x65 & 0x7ffff; - uint64_t x68 = x66 + x36; + uint32_t x67 = ((uint32_t)x65 & 0x7ffff); + uint64_t x68 = (x66 + x36); uint32_t x69 = (uint32_t) (x68 >> 0x13); - uint32_t x70 = (uint32_t) x68 & 0x7ffff; - uint32_t x71 = x46 + 0x13 * x69; - uint32_t x72 = x71 >> 0x13; - uint32_t x73 = x71 & 0x7ffff; - uint32_t x74 = x72 + x49; - uint32_t x75 = x74 >> 0x13; - uint32_t x76 = x74 & 0x7ffff; - return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, x75 + x52, Return x76, Return x73)) + uint32_t x70 = ((uint32_t)x68 & 0x7ffff); + uint32_t x71 = (x46 + (0x13 * x69)); + uint32_t x72 = (x71 >> 0x13); + uint32_t x73 = (x71 & 0x7ffff); + uint32_t x74 = (x72 + x49); + uint32_t x75 = (x74 >> 0x13); + uint32_t x76 = (x74 & 0x7ffff); + return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73)) (x, x0)%core : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e171m19/fesquareDisplay.log b/src/Specific/solinas32_2e171m19/fesquareDisplay.log index f6b8cf320..d0ed9d39e 100644 --- a/src/Specific/solinas32_2e171m19/fesquareDisplay.log +++ b/src/Specific/solinas32_2e171m19/fesquareDisplay.log @@ -2,47 +2,47 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x17 = (uint64_t) x2 * x15 + ((uint64_t) x4 * x16 + ((uint64_t) x6 * x14 + ((uint64_t) x8 * x12 + ((uint64_t) x10 * x10 + ((uint64_t) x12 * x8 + ((uint64_t) x14 * x6 + ((uint64_t) x16 * x4 + (uint64_t) x15 * x2))))))); - uint64_t x18 = (uint64_t) x2 * x16 + ((uint64_t) x4 * x14 + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + ((uint64_t) x14 * x4 + (uint64_t) x16 * x2)))))) + 0x13 * ((uint64_t) x15 * x15); - uint64_t x19 = (uint64_t) x2 * x14 + ((uint64_t) x4 * x12 + ((uint64_t) x6 * x10 + ((uint64_t) x8 * x8 + ((uint64_t) x10 * x6 + ((uint64_t) x12 * x4 + (uint64_t) x14 * x2))))) + 0x13 * ((uint64_t) x16 * x15 + (uint64_t) x15 * x16); - uint64_t x20 = (uint64_t) x2 * x12 + ((uint64_t) x4 * x10 + ((uint64_t) x6 * x8 + ((uint64_t) x8 * x6 + ((uint64_t) x10 * x4 + (uint64_t) x12 * x2)))) + 0x13 * ((uint64_t) x14 * x15 + ((uint64_t) x16 * x16 + (uint64_t) x15 * x14)); - uint64_t x21 = (uint64_t) x2 * x10 + ((uint64_t) x4 * x8 + ((uint64_t) x6 * x6 + ((uint64_t) x8 * x4 + (uint64_t) x10 * x2))) + 0x13 * ((uint64_t) x12 * x15 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + (uint64_t) x15 * x12))); - uint64_t x22 = (uint64_t) x2 * x8 + ((uint64_t) x4 * x6 + ((uint64_t) x6 * x4 + (uint64_t) x8 * x2)) + 0x13 * ((uint64_t) x10 * x15 + ((uint64_t) x12 * x16 + ((uint64_t) x14 * x14 + ((uint64_t) x16 * x12 + (uint64_t) x15 * x10)))); - uint64_t x23 = (uint64_t) x2 * x6 + ((uint64_t) x4 * x4 + (uint64_t) x6 * x2) + 0x13 * ((uint64_t) x8 * x15 + ((uint64_t) x10 * x16 + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + ((uint64_t) x16 * x10 + (uint64_t) x15 * x8))))); - uint64_t x24 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x13 * ((uint64_t) x6 * x15 + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + (uint64_t) x15 * x6)))))); - uint64_t x25 = (uint64_t) x2 * x2 + 0x13 * ((uint64_t) x4 * x15 + ((uint64_t) x6 * x16 + ((uint64_t) x8 * x14 + ((uint64_t) x10 * x12 + ((uint64_t) x12 * x10 + ((uint64_t) x14 * x8 + ((uint64_t) x16 * x6 + (uint64_t) x15 * x4))))))); + uint64_t x17 = (((uint64_t)x2 * x15) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x15 * x2))))))))); + uint64_t x18 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x13 * ((uint64_t)x15 * x15))); + uint64_t x19 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x13 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16)))); + uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14))))); + uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x13 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12)))))); + uint64_t x22 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x15) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x15 * x10))))))); + uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x13 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8)))))))); + uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6))))))))); + uint64_t x25 = (((uint64_t)x2 * x2) + (0x13 * (((uint64_t)x4 * x15) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + ((uint64_t)x15 * x4)))))))))); uint32_t x26 = (uint32_t) (x25 >> 0x13); - uint32_t x27 = (uint32_t) x25 & 0x7ffff; - uint64_t x28 = x26 + x24; + uint32_t x27 = ((uint32_t)x25 & 0x7ffff); + uint64_t x28 = (x26 + x24); uint32_t x29 = (uint32_t) (x28 >> 0x13); - uint32_t x30 = (uint32_t) x28 & 0x7ffff; - uint64_t x31 = x29 + x23; + uint32_t x30 = ((uint32_t)x28 & 0x7ffff); + uint64_t x31 = (x29 + x23); uint32_t x32 = (uint32_t) (x31 >> 0x13); - uint32_t x33 = (uint32_t) x31 & 0x7ffff; - uint64_t x34 = x32 + x22; + uint32_t x33 = ((uint32_t)x31 & 0x7ffff); + uint64_t x34 = (x32 + x22); uint32_t x35 = (uint32_t) (x34 >> 0x13); - uint32_t x36 = (uint32_t) x34 & 0x7ffff; - uint64_t x37 = x35 + x21; + uint32_t x36 = ((uint32_t)x34 & 0x7ffff); + uint64_t x37 = (x35 + x21); uint32_t x38 = (uint32_t) (x37 >> 0x13); - uint32_t x39 = (uint32_t) x37 & 0x7ffff; - uint64_t x40 = x38 + x20; + uint32_t x39 = ((uint32_t)x37 & 0x7ffff); + uint64_t x40 = (x38 + x20); uint32_t x41 = (uint32_t) (x40 >> 0x13); - uint32_t x42 = (uint32_t) x40 & 0x7ffff; - uint64_t x43 = x41 + x19; + uint32_t x42 = ((uint32_t)x40 & 0x7ffff); + uint64_t x43 = (x41 + x19); uint32_t x44 = (uint32_t) (x43 >> 0x13); - uint32_t x45 = (uint32_t) x43 & 0x7ffff; - uint64_t x46 = x44 + x18; + uint32_t x45 = ((uint32_t)x43 & 0x7ffff); + uint64_t x46 = (x44 + x18); uint32_t x47 = (uint32_t) (x46 >> 0x13); - uint32_t x48 = (uint32_t) x46 & 0x7ffff; - uint64_t x49 = x47 + x17; + uint32_t x48 = ((uint32_t)x46 & 0x7ffff); + uint64_t x49 = (x47 + x17); uint32_t x50 = (uint32_t) (x49 >> 0x13); - uint32_t x51 = (uint32_t) x49 & 0x7ffff; - uint32_t x52 = x27 + 0x13 * x50; - uint32_t x53 = x52 >> 0x13; - uint32_t x54 = x52 & 0x7ffff; - uint32_t x55 = x53 + x30; - uint32_t x56 = x55 >> 0x13; - uint32_t x57 = x55 & 0x7ffff; - return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, x56 + x33, Return x57, Return x54)) + uint32_t x51 = ((uint32_t)x49 & 0x7ffff); + uint32_t x52 = (x27 + (0x13 * x50)); + uint32_t x53 = (x52 >> 0x13); + uint32_t x54 = (x52 & 0x7ffff); + uint32_t x55 = (x53 + x30); + uint32_t x56 = (x55 >> 0x13); + uint32_t x57 = (x55 & 0x7ffff); + return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54)) x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e171m19/freezeDisplay.log b/src/Specific/solinas32_2e171m19/freezeDisplay.log index 5e5c8a850..a9af4bd45 100644 --- a/src/Specific/solinas32_2e171m19/freezeDisplay.log +++ b/src/Specific/solinas32_2e171m19/freezeDisplay.log @@ -12,23 +12,23 @@ Interp-η uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x7ffff); uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x7ffff); uint32_t x44 = (uint32_t)cmovznz(x43, 0x0, 0xffffffff); - uint32_t x45 = x44 & 0x7ffed; + uint32_t x45 = (x44 & 0x7ffed); uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45); - uint32_t x49 = x44 & 0x7ffff; + uint32_t x49 = (x44 & 0x7ffff); uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); - uint32_t x53 = x44 & 0x7ffff; + uint32_t x53 = (x44 & 0x7ffff); uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); - uint32_t x57 = x44 & 0x7ffff; + uint32_t x57 = (x44 & 0x7ffff); uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); - uint32_t x61 = x44 & 0x7ffff; + uint32_t x61 = (x44 & 0x7ffff); uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); - uint32_t x65 = x44 & 0x7ffff; + uint32_t x65 = (x44 & 0x7ffff); uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); - uint32_t x69 = x44 & 0x7ffff; + uint32_t x69 = (x44 & 0x7ffff); uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); - uint32_t x73 = x44 & 0x7ffff; + uint32_t x73 = (x44 & 0x7ffff); uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); - uint32_t x77 = x44 & 0x7ffff; + uint32_t x77 = (x44 & 0x7ffff); uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) x diff --git a/src/Specific/solinas32_2e174m17/femulDisplay.log b/src/Specific/solinas32_2e174m17/femulDisplay.log index 8fbdda856..a0a85409c 100644 --- a/src/Specific/solinas32_2e174m17/femulDisplay.log +++ b/src/Specific/solinas32_2e174m17/femulDisplay.log @@ -2,47 +2,47 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - uint64_t x36 = (uint64_t) x5 * x34 + (0x2 * ((uint64_t) x7 * x35) + ((uint64_t) x9 * x33 + ((uint64_t) x11 * x31 + (0x2 * ((uint64_t) x13 * x29) + ((uint64_t) x15 * x27 + ((uint64_t) x17 * x25 + (0x2 * ((uint64_t) x19 * x23) + (uint64_t) x18 * x21))))))); - uint64_t x37 = (uint64_t) x5 * x35 + ((uint64_t) x7 * x33 + ((uint64_t) x9 * x31 + ((uint64_t) x11 * x29 + ((uint64_t) x13 * x27 + ((uint64_t) x15 * x25 + ((uint64_t) x17 * x23 + (uint64_t) x19 * x21)))))) + 0x11 * ((uint64_t) x18 * x34); - uint64_t x38 = (uint64_t) x5 * x33 + (0x2 * ((uint64_t) x7 * x31) + (0x2 * ((uint64_t) x9 * x29) + ((uint64_t) x11 * x27 + (0x2 * ((uint64_t) x13 * x25) + (0x2 * ((uint64_t) x15 * x23) + (uint64_t) x17 * x21))))) + 0x11 * (0x2 * ((uint64_t) x19 * x34) + 0x2 * ((uint64_t) x18 * x35)); - uint64_t x39 = (uint64_t) x5 * x31 + (0x2 * ((uint64_t) x7 * x29) + ((uint64_t) x9 * x27 + ((uint64_t) x11 * x25 + (0x2 * ((uint64_t) x13 * x23) + (uint64_t) x15 * x21)))) + 0x11 * ((uint64_t) x17 * x34 + (0x2 * ((uint64_t) x19 * x35) + (uint64_t) x18 * x33)); - uint64_t x40 = (uint64_t) x5 * x29 + ((uint64_t) x7 * x27 + ((uint64_t) x9 * x25 + ((uint64_t) x11 * x23 + (uint64_t) x13 * x21))) + 0x11 * ((uint64_t) x15 * x34 + ((uint64_t) x17 * x35 + ((uint64_t) x19 * x33 + (uint64_t) x18 * x31))); - uint64_t x41 = (uint64_t) x5 * x27 + (0x2 * ((uint64_t) x7 * x25) + (0x2 * ((uint64_t) x9 * x23) + (uint64_t) x11 * x21)) + 0x11 * (0x2 * ((uint64_t) x13 * x34) + (0x2 * ((uint64_t) x15 * x35) + ((uint64_t) x17 * x33 + (0x2 * ((uint64_t) x19 * x31) + 0x2 * ((uint64_t) x18 * x29))))); - uint64_t x42 = (uint64_t) x5 * x25 + (0x2 * ((uint64_t) x7 * x23) + (uint64_t) x9 * x21) + 0x11 * ((uint64_t) x11 * x34 + (0x2 * ((uint64_t) x13 * x35) + ((uint64_t) x15 * x33 + ((uint64_t) x17 * x31 + (0x2 * ((uint64_t) x19 * x29) + (uint64_t) x18 * x27))))); - uint64_t x43 = (uint64_t) x5 * x23 + (uint64_t) x7 * x21 + 0x11 * ((uint64_t) x9 * x34 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + ((uint64_t) x15 * x31 + ((uint64_t) x17 * x29 + ((uint64_t) x19 * x27 + (uint64_t) x18 * x25)))))); - uint64_t x44 = (uint64_t) x5 * x21 + 0x11 * (0x2 * ((uint64_t) x7 * x34) + (0x2 * ((uint64_t) x9 * x35) + ((uint64_t) x11 * x33 + (0x2 * ((uint64_t) x13 * x31) + (0x2 * ((uint64_t) x15 * x29) + ((uint64_t) x17 * x27 + (0x2 * ((uint64_t) x19 * x25) + 0x2 * ((uint64_t) x18 * x23)))))))); + uint64_t x36 = (((uint64_t)x5 * x34) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((0x2 * ((uint64_t)x19 * x23)) + ((uint64_t)x18 * x21))))))))); + uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x11 * ((uint64_t)x18 * x34))); + uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (0x11 * ((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35))))); + uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0x11 * (((uint64_t)x17 * x34) + ((0x2 * ((uint64_t)x19 * x35)) + ((uint64_t)x18 * x33))))); + uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x11 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31)))))); + uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x11 * ((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29)))))))); + uint64_t x42 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((uint64_t)x9 * x21))) + (0x11 * (((uint64_t)x11 * x34) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x18 * x27)))))))); + uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x11 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25))))))))); + uint64_t x44 = (((uint64_t)x5 * x21) + (0x11 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23))))))))))); uint32_t x45 = (uint32_t) (x44 >> 0x14); - uint32_t x46 = (uint32_t) x44 & 0xfffff; - uint64_t x47 = x45 + x43; + uint32_t x46 = ((uint32_t)x44 & 0xfffff); + uint64_t x47 = (x45 + x43); uint32_t x48 = (uint32_t) (x47 >> 0x13); - uint32_t x49 = (uint32_t) x47 & 0x7ffff; - uint64_t x50 = x48 + x42; + uint32_t x49 = ((uint32_t)x47 & 0x7ffff); + uint64_t x50 = (x48 + x42); uint32_t x51 = (uint32_t) (x50 >> 0x13); - uint32_t x52 = (uint32_t) x50 & 0x7ffff; - uint64_t x53 = x51 + x41; + uint32_t x52 = ((uint32_t)x50 & 0x7ffff); + uint64_t x53 = (x51 + x41); uint32_t x54 = (uint32_t) (x53 >> 0x14); - uint32_t x55 = (uint32_t) x53 & 0xfffff; - uint64_t x56 = x54 + x40; + uint32_t x55 = ((uint32_t)x53 & 0xfffff); + uint64_t x56 = (x54 + x40); uint32_t x57 = (uint32_t) (x56 >> 0x13); - uint32_t x58 = (uint32_t) x56 & 0x7ffff; - uint64_t x59 = x57 + x39; + uint32_t x58 = ((uint32_t)x56 & 0x7ffff); + uint64_t x59 = (x57 + x39); uint32_t x60 = (uint32_t) (x59 >> 0x13); - uint32_t x61 = (uint32_t) x59 & 0x7ffff; - uint64_t x62 = x60 + x38; + uint32_t x61 = ((uint32_t)x59 & 0x7ffff); + uint64_t x62 = (x60 + x38); uint32_t x63 = (uint32_t) (x62 >> 0x14); - uint32_t x64 = (uint32_t) x62 & 0xfffff; - uint64_t x65 = x63 + x37; + uint32_t x64 = ((uint32_t)x62 & 0xfffff); + uint64_t x65 = (x63 + x37); uint32_t x66 = (uint32_t) (x65 >> 0x13); - uint32_t x67 = (uint32_t) x65 & 0x7ffff; - uint64_t x68 = x66 + x36; + uint32_t x67 = ((uint32_t)x65 & 0x7ffff); + uint64_t x68 = (x66 + x36); uint32_t x69 = (uint32_t) (x68 >> 0x13); - uint32_t x70 = (uint32_t) x68 & 0x7ffff; - uint32_t x71 = x46 + 0x11 * x69; - uint32_t x72 = x71 >> 0x14; - uint32_t x73 = x71 & 0xfffff; - uint32_t x74 = x72 + x49; - uint32_t x75 = x74 >> 0x13; - uint32_t x76 = x74 & 0x7ffff; - return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, x75 + x52, Return x76, Return x73)) + uint32_t x70 = ((uint32_t)x68 & 0x7ffff); + uint32_t x71 = (x46 + (0x11 * x69)); + uint32_t x72 = (x71 >> 0x14); + uint32_t x73 = (x71 & 0xfffff); + uint32_t x74 = (x72 + x49); + uint32_t x75 = (x74 >> 0x13); + uint32_t x76 = (x74 & 0x7ffff); + return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73)) (x, x0)%core : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e174m17/fesquareDisplay.log b/src/Specific/solinas32_2e174m17/fesquareDisplay.log index e22158e2f..9f4456a5d 100644 --- a/src/Specific/solinas32_2e174m17/fesquareDisplay.log +++ b/src/Specific/solinas32_2e174m17/fesquareDisplay.log @@ -2,47 +2,47 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x17 = (uint64_t) x2 * x15 + (0x2 * ((uint64_t) x4 * x16) + ((uint64_t) x6 * x14 + ((uint64_t) x8 * x12 + (0x2 * ((uint64_t) x10 * x10) + ((uint64_t) x12 * x8 + ((uint64_t) x14 * x6 + (0x2 * ((uint64_t) x16 * x4) + (uint64_t) x15 * x2))))))); - uint64_t x18 = (uint64_t) x2 * x16 + ((uint64_t) x4 * x14 + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + ((uint64_t) x14 * x4 + (uint64_t) x16 * x2)))))) + 0x11 * ((uint64_t) x15 * x15); - uint64_t x19 = (uint64_t) x2 * x14 + (0x2 * ((uint64_t) x4 * x12) + (0x2 * ((uint64_t) x6 * x10) + ((uint64_t) x8 * x8 + (0x2 * ((uint64_t) x10 * x6) + (0x2 * ((uint64_t) x12 * x4) + (uint64_t) x14 * x2))))) + 0x11 * (0x2 * ((uint64_t) x16 * x15) + 0x2 * ((uint64_t) x15 * x16)); - uint64_t x20 = (uint64_t) x2 * x12 + (0x2 * ((uint64_t) x4 * x10) + ((uint64_t) x6 * x8 + ((uint64_t) x8 * x6 + (0x2 * ((uint64_t) x10 * x4) + (uint64_t) x12 * x2)))) + 0x11 * ((uint64_t) x14 * x15 + (0x2 * ((uint64_t) x16 * x16) + (uint64_t) x15 * x14)); - uint64_t x21 = (uint64_t) x2 * x10 + ((uint64_t) x4 * x8 + ((uint64_t) x6 * x6 + ((uint64_t) x8 * x4 + (uint64_t) x10 * x2))) + 0x11 * ((uint64_t) x12 * x15 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + (uint64_t) x15 * x12))); - uint64_t x22 = (uint64_t) x2 * x8 + (0x2 * ((uint64_t) x4 * x6) + (0x2 * ((uint64_t) x6 * x4) + (uint64_t) x8 * x2)) + 0x11 * (0x2 * ((uint64_t) x10 * x15) + (0x2 * ((uint64_t) x12 * x16) + ((uint64_t) x14 * x14 + (0x2 * ((uint64_t) x16 * x12) + 0x2 * ((uint64_t) x15 * x10))))); - uint64_t x23 = (uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2) + 0x11 * ((uint64_t) x8 * x15 + (0x2 * ((uint64_t) x10 * x16) + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + (0x2 * ((uint64_t) x16 * x10) + (uint64_t) x15 * x8))))); - uint64_t x24 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x11 * ((uint64_t) x6 * x15 + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + (uint64_t) x15 * x6)))))); - uint64_t x25 = (uint64_t) x2 * x2 + 0x11 * (0x2 * ((uint64_t) x4 * x15) + (0x2 * ((uint64_t) x6 * x16) + ((uint64_t) x8 * x14 + (0x2 * ((uint64_t) x10 * x12) + (0x2 * ((uint64_t) x12 * x10) + ((uint64_t) x14 * x8 + (0x2 * ((uint64_t) x16 * x6) + 0x2 * ((uint64_t) x15 * x4)))))))); + uint64_t x17 = (((uint64_t)x2 * x15) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x15 * x2))))))))); + uint64_t x18 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x11 * ((uint64_t)x15 * x15))); + uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x11 * ((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16))))); + uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x15) + ((0x2 * ((uint64_t)x16 * x16)) + ((uint64_t)x15 * x14))))); + uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12)))))); + uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10)))))))); + uint64_t x23 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x15) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + ((uint64_t)x15 * x8)))))))); + uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6))))))))); + uint64_t x25 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4))))))))))); uint32_t x26 = (uint32_t) (x25 >> 0x14); - uint32_t x27 = (uint32_t) x25 & 0xfffff; - uint64_t x28 = x26 + x24; + uint32_t x27 = ((uint32_t)x25 & 0xfffff); + uint64_t x28 = (x26 + x24); uint32_t x29 = (uint32_t) (x28 >> 0x13); - uint32_t x30 = (uint32_t) x28 & 0x7ffff; - uint64_t x31 = x29 + x23; + uint32_t x30 = ((uint32_t)x28 & 0x7ffff); + uint64_t x31 = (x29 + x23); uint32_t x32 = (uint32_t) (x31 >> 0x13); - uint32_t x33 = (uint32_t) x31 & 0x7ffff; - uint64_t x34 = x32 + x22; + uint32_t x33 = ((uint32_t)x31 & 0x7ffff); + uint64_t x34 = (x32 + x22); uint32_t x35 = (uint32_t) (x34 >> 0x14); - uint32_t x36 = (uint32_t) x34 & 0xfffff; - uint64_t x37 = x35 + x21; + uint32_t x36 = ((uint32_t)x34 & 0xfffff); + uint64_t x37 = (x35 + x21); uint32_t x38 = (uint32_t) (x37 >> 0x13); - uint32_t x39 = (uint32_t) x37 & 0x7ffff; - uint64_t x40 = x38 + x20; + uint32_t x39 = ((uint32_t)x37 & 0x7ffff); + uint64_t x40 = (x38 + x20); uint32_t x41 = (uint32_t) (x40 >> 0x13); - uint32_t x42 = (uint32_t) x40 & 0x7ffff; - uint64_t x43 = x41 + x19; + uint32_t x42 = ((uint32_t)x40 & 0x7ffff); + uint64_t x43 = (x41 + x19); uint32_t x44 = (uint32_t) (x43 >> 0x14); - uint32_t x45 = (uint32_t) x43 & 0xfffff; - uint64_t x46 = x44 + x18; + uint32_t x45 = ((uint32_t)x43 & 0xfffff); + uint64_t x46 = (x44 + x18); uint32_t x47 = (uint32_t) (x46 >> 0x13); - uint32_t x48 = (uint32_t) x46 & 0x7ffff; - uint64_t x49 = x47 + x17; + uint32_t x48 = ((uint32_t)x46 & 0x7ffff); + uint64_t x49 = (x47 + x17); uint32_t x50 = (uint32_t) (x49 >> 0x13); - uint32_t x51 = (uint32_t) x49 & 0x7ffff; - uint32_t x52 = x27 + 0x11 * x50; - uint32_t x53 = x52 >> 0x14; - uint32_t x54 = x52 & 0xfffff; - uint32_t x55 = x53 + x30; - uint32_t x56 = x55 >> 0x13; - uint32_t x57 = x55 & 0x7ffff; - return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, x56 + x33, Return x57, Return x54)) + uint32_t x51 = ((uint32_t)x49 & 0x7ffff); + uint32_t x52 = (x27 + (0x11 * x50)); + uint32_t x53 = (x52 >> 0x14); + uint32_t x54 = (x52 & 0xfffff); + uint32_t x55 = (x53 + x30); + uint32_t x56 = (x55 >> 0x13); + uint32_t x57 = (x55 & 0x7ffff); + return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54)) x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e174m17/freezeDisplay.log b/src/Specific/solinas32_2e174m17/freezeDisplay.log index da2196d43..86168e41a 100644 --- a/src/Specific/solinas32_2e174m17/freezeDisplay.log +++ b/src/Specific/solinas32_2e174m17/freezeDisplay.log @@ -12,23 +12,23 @@ Interp-η uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x7ffff); uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x7ffff); uint32_t x44 = (uint32_t)cmovznz(x43, 0x0, 0xffffffff); - uint32_t x45 = x44 & 0xfffef; + uint32_t x45 = (x44 & 0xfffef); uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45); - uint32_t x49 = x44 & 0x7ffff; + uint32_t x49 = (x44 & 0x7ffff); uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); - uint32_t x53 = x44 & 0x7ffff; + uint32_t x53 = (x44 & 0x7ffff); uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); - uint32_t x57 = x44 & 0xfffff; + uint32_t x57 = (x44 & 0xfffff); uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); - uint32_t x61 = x44 & 0x7ffff; + uint32_t x61 = (x44 & 0x7ffff); uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); - uint32_t x65 = x44 & 0x7ffff; + uint32_t x65 = (x44 & 0x7ffff); uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); - uint32_t x69 = x44 & 0xfffff; + uint32_t x69 = (x44 & 0xfffff); uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); - uint32_t x73 = x44 & 0x7ffff; + uint32_t x73 = (x44 & 0x7ffff); uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); - uint32_t x77 = x44 & 0x7ffff; + uint32_t x77 = (x44 & 0x7ffff); uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) x diff --git a/src/Specific/solinas32_2e192m2e64m1/femulDisplay.log b/src/Specific/solinas32_2e192m2e64m1/femulDisplay.log new file mode 100644 index 000000000..ddaf54e48 --- /dev/null +++ b/src/Specific/solinas32_2e192m2e64m1/femulDisplay.log @@ -0,0 +1,55 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + ℤ x32 = ((((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19)))))))) +ℤ ((0x10000 *ℤ (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))) +ℤ (0x10000000000 *ℤ ((uint64_t)x16 * x30)))); + ℤ x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) +ℤ (((uint64_t)x16 * x30) +ℤ (0x10000 *ℤ (((uint64_t)x15 * x30) + (((uint64_t)x17 * x31) + ((uint64_t)x16 * x29)))))); + ℤ x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) +ℤ ((((uint64_t)x17 * x30) + ((uint64_t)x16 * x31)) +ℤ (0x10000 *ℤ (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))))); + ℤ x35 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + ((uint64_t)x13 * x19))))) +ℤ ((((uint64_t)x15 * x30) + (((uint64_t)x17 * x31) + ((uint64_t)x16 * x29))) +ℤ (0x10000 *ℤ (((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25)))))))); + ℤ x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) +ℤ ((((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27)))) +ℤ (0x10000 *ℤ (((uint64_t)x9 * x30) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x16 * x23))))))))); + ℤ x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) +ℤ ((((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25))))) +ℤ (0x10000 *ℤ (((uint64_t)x7 * x30) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x16 * x21)))))))))); + uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (((uint64_t)x9 * x30) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x16 * x23))))))); + uint64_t x39 = (((uint64_t)x5 * x19) + (((uint64_t)x7 * x30) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x16 * x21)))))))); + uint32_t x40 = (uint32_t) (x38 >> 0x18); + uint32_t x41 = ((uint32_t)x38 & 0xffffff); + ℤ x42 = (x32 >>ℤ 0x18); + uint32_t x43 = (x32 & 0xffffff); + ℤ x44 = ((0x1000000 *ℤ x42) +ℤ x43); + ℤ x45 = (x44 >>ℤ 0x18); + uint32_t x46 = (x44 & 0xffffff); + ℤ x47 = ((x40 +ℤ x37) +ℤ (0x10000 *ℤ x45)); + uint64_t x48 = (x47 >> 0x18); + uint32_t x49 = (x47 & 0xffffff); + ℤ x50 = (x39 +ℤ x45); + uint64_t x51 = (x50 >> 0x18); + uint32_t x52 = (x50 & 0xffffff); + ℤ x53 = (x48 +ℤ x36); + uint64_t x54 = (x53 >> 0x18); + uint32_t x55 = (x53 & 0xffffff); + uint64_t x56 = (x51 + x41); + uint32_t x57 = (uint32_t) (x56 >> 0x18); + uint32_t x58 = ((uint32_t)x56 & 0xffffff); + ℤ x59 = (x54 +ℤ x35); + uint64_t x60 = (x59 >> 0x18); + uint32_t x61 = (x59 & 0xffffff); + ℤ x62 = (x60 +ℤ x34); + uint64_t x63 = (x62 >> 0x18); + uint32_t x64 = (x62 & 0xffffff); + ℤ x65 = (x63 +ℤ x33); + uint64_t x66 = (x65 >> 0x18); + uint32_t x67 = (x65 & 0xffffff); + uint64_t x68 = (x66 + x46); + uint32_t x69 = (uint32_t) (x68 >> 0x18); + uint32_t x70 = ((uint32_t)x68 & 0xffffff); + uint64_t x71 = (((uint64_t)0x1000000 * x69) + x70); + uint32_t x72 = (uint32_t) (x71 >> 0x18); + uint32_t x73 = ((uint32_t)x71 & 0xffffff); + uint64_t x74 = ((x57 + x49) + ((uint64_t)0x10000 * x72)); + uint32_t x75 = (uint32_t) (x74 >> 0x18); + uint32_t x76 = ((uint32_t)x74 & 0xffffff); + uint32_t x77 = (x52 + x72); + uint32_t x78 = (x77 >> 0x18); + uint32_t x79 = (x77 & 0xffffff); + return (Return x73, Return x67, Return x64, Return x61, (x75 + x55), Return x76, (x78 + x58), Return x79)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e192m2e64m1/fesquareDisplay.log b/src/Specific/solinas32_2e192m2e64m1/fesquareDisplay.log new file mode 100644 index 000000000..c9adca713 --- /dev/null +++ b/src/Specific/solinas32_2e192m2e64m1/fesquareDisplay.log @@ -0,0 +1,55 @@ +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + ℤ x15 = ((((uint64_t)x2 * x13) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x13 * x2)))))))) +ℤ ((0x10000 *ℤ (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))) +ℤ (0x10000000000 *ℤ ((uint64_t)x13 * x13)))); + ℤ x16 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) +ℤ (((uint64_t)x13 * x13) +ℤ (0x10000 *ℤ (((uint64_t)x12 * x13) + (((uint64_t)x14 * x14) + ((uint64_t)x13 * x12)))))); + ℤ x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) +ℤ ((((uint64_t)x14 * x13) + ((uint64_t)x13 * x14)) +ℤ (0x10000 *ℤ (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))))); + ℤ x18 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) +ℤ ((((uint64_t)x12 * x13) + (((uint64_t)x14 * x14) + ((uint64_t)x13 * x12))) +ℤ (0x10000 *ℤ (((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8)))))))); + ℤ x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) +ℤ ((((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10)))) +ℤ (0x10000 *ℤ (((uint64_t)x6 * x13) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x13 * x6))))))))); + ℤ x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) +ℤ ((((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8))))) +ℤ (0x10000 *ℤ (((uint64_t)x4 * x13) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((uint64_t)x13 * x4)))))))))); + uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x6 * x13) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x13 * x6))))))); + uint64_t x22 = (((uint64_t)x2 * x2) + (((uint64_t)x4 * x13) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((uint64_t)x13 * x4)))))))); + uint32_t x23 = (uint32_t) (x21 >> 0x18); + uint32_t x24 = ((uint32_t)x21 & 0xffffff); + ℤ x25 = (x15 >>ℤ 0x18); + uint32_t x26 = (x15 & 0xffffff); + ℤ x27 = ((0x1000000 *ℤ x25) +ℤ x26); + ℤ x28 = (x27 >>ℤ 0x18); + uint32_t x29 = (x27 & 0xffffff); + ℤ x30 = ((x23 +ℤ x20) +ℤ (0x10000 *ℤ x28)); + uint64_t x31 = (x30 >> 0x18); + uint32_t x32 = (x30 & 0xffffff); + ℤ x33 = (x22 +ℤ x28); + uint64_t x34 = (x33 >> 0x18); + uint32_t x35 = (x33 & 0xffffff); + ℤ x36 = (x31 +ℤ x19); + uint64_t x37 = (x36 >> 0x18); + uint32_t x38 = (x36 & 0xffffff); + uint64_t x39 = (x34 + x24); + uint32_t x40 = (uint32_t) (x39 >> 0x18); + uint32_t x41 = ((uint32_t)x39 & 0xffffff); + ℤ x42 = (x37 +ℤ x18); + uint64_t x43 = (x42 >> 0x18); + uint32_t x44 = (x42 & 0xffffff); + ℤ x45 = (x43 +ℤ x17); + uint64_t x46 = (x45 >> 0x18); + uint32_t x47 = (x45 & 0xffffff); + ℤ x48 = (x46 +ℤ x16); + uint64_t x49 = (x48 >> 0x18); + uint32_t x50 = (x48 & 0xffffff); + uint64_t x51 = (x49 + x29); + uint32_t x52 = (uint32_t) (x51 >> 0x18); + uint32_t x53 = ((uint32_t)x51 & 0xffffff); + uint64_t x54 = (((uint64_t)0x1000000 * x52) + x53); + uint32_t x55 = (uint32_t) (x54 >> 0x18); + uint32_t x56 = ((uint32_t)x54 & 0xffffff); + uint64_t x57 = ((x40 + x32) + ((uint64_t)0x10000 * x55)); + uint32_t x58 = (uint32_t) (x57 >> 0x18); + uint32_t x59 = ((uint32_t)x57 & 0xffffff); + uint32_t x60 = (x35 + x55); + uint32_t x61 = (x60 >> 0x18); + uint32_t x62 = (x60 & 0xffffff); + return (Return x56, Return x50, Return x47, Return x44, (x58 + x38), Return x59, (x61 + x41), Return x62)) +x + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e192m2e64m1/freezeDisplay.log b/src/Specific/solinas32_2e192m2e64m1/freezeDisplay.log index 546a89fd5..f1b01b28a 100644 --- a/src/Specific/solinas32_2e192m2e64m1/freezeDisplay.log +++ b/src/Specific/solinas32_2e192m2e64m1/freezeDisplay.log @@ -11,21 +11,21 @@ Interp-η uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffff); uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffff); uint32_t x39 = (uint32_t)cmovznz(x38, 0x0, 0xffffffff); - uint32_t x40 = x39 & 0xffffff; + uint32_t x40 = (x39 & 0xffffff); uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40); - uint32_t x44 = x39 & 0xffffff; + uint32_t x44 = (x39 & 0xffffff); uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); - uint32_t x48 = x39 & 0xfeffff; + uint32_t x48 = (x39 & 0xfeffff); uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); - uint32_t x52 = x39 & 0xffffff; + uint32_t x52 = (x39 & 0xffffff); uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); - uint32_t x56 = x39 & 0xffffff; + uint32_t x56 = (x39 & 0xffffff); uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); - uint32_t x60 = x39 & 0xffffff; + uint32_t x60 = (x39 & 0xffffff); uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); - uint32_t x64 = x39 & 0xffffff; + uint32_t x64 = (x39 & 0xffffff); uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); - uint32_t x68 = x39 & 0xffffff; + uint32_t x68 = (x39 & 0xffffff); uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x diff --git a/src/Specific/solinas32_2e194m33/femulDisplay.log b/src/Specific/solinas32_2e194m33/femulDisplay.log index 21ea31097..b7a51ec1a 100644 --- a/src/Specific/solinas32_2e194m33/femulDisplay.log +++ b/src/Specific/solinas32_2e194m33/femulDisplay.log @@ -1,60 +1,44 @@ -λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core, - uint64_t x48 = (uint64_t) x5 * x46 + (0x2 * ((uint64_t) x7 * x47) + (0x2 * ((uint64_t) x9 * x45) + (0x2 * ((uint64_t) x11 * x43) + (0x2 * ((uint64_t) x13 * x41) + ((uint64_t) x15 * x39 + ((uint64_t) x17 * x37 + (0x2 * ((uint64_t) x19 * x35) + (0x2 * ((uint64_t) x21 * x33) + (0x2 * ((uint64_t) x23 * x31) + (0x2 * ((uint64_t) x25 * x29) + (uint64_t) x24 * x27)))))))))); - uint64_t x49 = (uint64_t) x5 * x47 + (0x2 * ((uint64_t) x7 * x45) + (0x2 * ((uint64_t) x9 * x43) + (0x2 * ((uint64_t) x11 * x41) + ((uint64_t) x13 * x39 + ((uint64_t) x15 * x37 + ((uint64_t) x17 * x35 + (0x2 * ((uint64_t) x19 * x33) + (0x2 * ((uint64_t) x21 * x31) + (0x2 * ((uint64_t) x23 * x29) + (uint64_t) x25 * x27))))))))) + 0x21 * ((uint64_t) x24 * x46); - uint64_t x50 = (uint64_t) x5 * x45 + (0x2 * ((uint64_t) x7 * x43) + (0x2 * ((uint64_t) x9 * x41) + ((uint64_t) x11 * x39 + ((uint64_t) x13 * x37 + ((uint64_t) x15 * x35 + ((uint64_t) x17 * x33 + (0x2 * ((uint64_t) x19 * x31) + (0x2 * ((uint64_t) x21 * x29) + (uint64_t) x23 * x27)))))))) + 0x21 * ((uint64_t) x25 * x46 + (uint64_t) x24 * x47); - uint64_t x51 = (uint64_t) x5 * x43 + (0x2 * ((uint64_t) x7 * x41) + ((uint64_t) x9 * x39 + ((uint64_t) x11 * x37 + ((uint64_t) x13 * x35 + ((uint64_t) x15 * x33 + ((uint64_t) x17 * x31 + (0x2 * ((uint64_t) x19 * x29) + (uint64_t) x21 * x27))))))) + 0x21 * ((uint64_t) x23 * x46 + ((uint64_t) x25 * x47 + (uint64_t) x24 * x45)); - uint64_t x52 = (uint64_t) x5 * x41 + ((uint64_t) x7 * x39 + ((uint64_t) x9 * x37 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + ((uint64_t) x15 * x31 + ((uint64_t) x17 * x29 + (uint64_t) x19 * x27)))))) + 0x21 * ((uint64_t) x21 * x46 + ((uint64_t) x23 * x47 + ((uint64_t) x25 * x45 + (uint64_t) x24 * x43))); - uint64_t x53 = (uint64_t) x5 * x39 + (0x2 * ((uint64_t) x7 * x37) + (0x2 * ((uint64_t) x9 * x35) + (0x2 * ((uint64_t) x11 * x33) + (0x2 * ((uint64_t) x13 * x31) + (0x2 * ((uint64_t) x15 * x29) + (uint64_t) x17 * x27))))) + 0x21 * (0x2 * ((uint64_t) x19 * x46) + (0x2 * ((uint64_t) x21 * x47) + (0x2 * ((uint64_t) x23 * x45) + (0x2 * ((uint64_t) x25 * x43) + 0x2 * ((uint64_t) x24 * x41))))); - uint64_t x54 = (uint64_t) x5 * x37 + (0x2 * ((uint64_t) x7 * x35) + (0x2 * ((uint64_t) x9 * x33) + (0x2 * ((uint64_t) x11 * x31) + (0x2 * ((uint64_t) x13 * x29) + (uint64_t) x15 * x27)))) + 0x21 * ((uint64_t) x17 * x46 + (0x2 * ((uint64_t) x19 * x47) + (0x2 * ((uint64_t) x21 * x45) + (0x2 * ((uint64_t) x23 * x43) + (0x2 * ((uint64_t) x25 * x41) + (uint64_t) x24 * x39))))); - uint64_t x55 = (uint64_t) x5 * x35 + (0x2 * ((uint64_t) x7 * x33) + (0x2 * ((uint64_t) x9 * x31) + (0x2 * ((uint64_t) x11 * x29) + (uint64_t) x13 * x27))) + 0x21 * ((uint64_t) x15 * x46 + ((uint64_t) x17 * x47 + (0x2 * ((uint64_t) x19 * x45) + (0x2 * ((uint64_t) x21 * x43) + (0x2 * ((uint64_t) x23 * x41) + ((uint64_t) x25 * x39 + (uint64_t) x24 * x37)))))); - uint64_t x56 = (uint64_t) x5 * x33 + (0x2 * ((uint64_t) x7 * x31) + (0x2 * ((uint64_t) x9 * x29) + (uint64_t) x11 * x27)) + 0x21 * ((uint64_t) x13 * x46 + ((uint64_t) x15 * x47 + ((uint64_t) x17 * x45 + (0x2 * ((uint64_t) x19 * x43) + (0x2 * ((uint64_t) x21 * x41) + ((uint64_t) x23 * x39 + ((uint64_t) x25 * x37 + (uint64_t) x24 * x35))))))); - uint64_t x57 = (uint64_t) x5 * x31 + (0x2 * ((uint64_t) x7 * x29) + (uint64_t) x9 * x27) + 0x21 * ((uint64_t) x11 * x46 + ((uint64_t) x13 * x47 + ((uint64_t) x15 * x45 + ((uint64_t) x17 * x43 + (0x2 * ((uint64_t) x19 * x41) + ((uint64_t) x21 * x39 + ((uint64_t) x23 * x37 + ((uint64_t) x25 * x35 + (uint64_t) x24 * x33)))))))); - uint64_t x58 = (uint64_t) x5 * x29 + (uint64_t) x7 * x27 + 0x21 * ((uint64_t) x9 * x46 + ((uint64_t) x11 * x47 + ((uint64_t) x13 * x45 + ((uint64_t) x15 * x43 + ((uint64_t) x17 * x41 + ((uint64_t) x19 * x39 + ((uint64_t) x21 * x37 + ((uint64_t) x23 * x35 + ((uint64_t) x25 * x33 + (uint64_t) x24 * x31))))))))); - uint64_t x59 = (uint64_t) x5 * x27 + 0x21 * (0x2 * ((uint64_t) x7 * x46) + (0x2 * ((uint64_t) x9 * x47) + (0x2 * ((uint64_t) x11 * x45) + (0x2 * ((uint64_t) x13 * x43) + (0x2 * ((uint64_t) x15 * x41) + ((uint64_t) x17 * x39 + (0x2 * ((uint64_t) x19 * x37) + (0x2 * ((uint64_t) x21 * x35) + (0x2 * ((uint64_t) x23 * x33) + (0x2 * ((uint64_t) x25 * x31) + 0x2 * ((uint64_t) x24 * x29))))))))))); - uint32_t x60 = (uint32_t) (x59 >> 0x11); - uint32_t x61 = (uint32_t) x59 & 0x1ffff; - uint64_t x62 = x60 + x58; - uint32_t x63 = (uint32_t) (x62 >> 0x10); - uint32_t x64 = (uint32_t) x62 & 0xffff; - uint64_t x65 = x63 + x57; - uint32_t x66 = (uint32_t) (x65 >> 0x10); - uint32_t x67 = (uint32_t) x65 & 0xffff; - uint64_t x68 = x66 + x56; - uint32_t x69 = (uint32_t) (x68 >> 0x10); - uint32_t x70 = (uint32_t) x68 & 0xffff; - uint64_t x71 = x69 + x55; - uint32_t x72 = (uint32_t) (x71 >> 0x10); - uint32_t x73 = (uint32_t) x71 & 0xffff; - uint64_t x74 = x72 + x54; - uint32_t x75 = (uint32_t) (x74 >> 0x10); - uint32_t x76 = (uint32_t) x74 & 0xffff; - uint64_t x77 = x75 + x53; - uint32_t x78 = (uint32_t) (x77 >> 0x11); - uint32_t x79 = (uint32_t) x77 & 0x1ffff; - uint64_t x80 = x78 + x52; - uint32_t x81 = (uint32_t) (x80 >> 0x10); - uint32_t x82 = (uint32_t) x80 & 0xffff; - uint64_t x83 = x81 + x51; - uint32_t x84 = (uint32_t) (x83 >> 0x10); - uint32_t x85 = (uint32_t) x83 & 0xffff; - uint64_t x86 = x84 + x50; - uint32_t x87 = (uint32_t) (x86 >> 0x10); - uint32_t x88 = (uint32_t) x86 & 0xffff; - uint64_t x89 = x87 + x49; - uint32_t x90 = (uint32_t) (x89 >> 0x10); - uint32_t x91 = (uint32_t) x89 & 0xffff; - uint64_t x92 = x90 + x48; - uint32_t x93 = (uint32_t) (x92 >> 0x10); - uint32_t x94 = (uint32_t) x92 & 0xffff; - uint32_t x95 = x61 + 0x21 * x93; - uint32_t x96 = x95 >> 0x11; - uint32_t x97 = x95 & 0x1ffff; - uint32_t x98 = x96 + x64; - uint32_t x99 = x98 >> 0x10; - uint32_t x100 = x98 & 0xffff; - return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, x99 + x67, Return x100, Return x97)) + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x32 = (((uint64_t)x5 * x30) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + ((0x2 * ((uint64_t)x17 * x21)) + ((uint64_t)x16 * x19)))))))); + uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x21 * ((uint64_t)x16 * x30))); + uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x21 * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31)))); + uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x21 * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29)))))); + uint64_t x36 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((uint64_t)x11 * x19)))) + (0x21 * (((uint64_t)x13 * x30) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + ((uint64_t)x16 * x27)))))); + uint64_t x37 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((uint64_t)x9 * x19))) + (0x21 * (((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25))))))); + uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x21 * (((uint64_t)x9 * x30) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x16 * x23)))))))); + uint64_t x39 = (((uint64_t)x5 * x19) + (0x21 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21)))))))))); + uint64_t x40 = (x39 >> 0x19); + uint32_t x41 = ((uint32_t)x39 & 0x1ffffff); + uint64_t x42 = (x40 + x38); + uint64_t x43 = (x42 >> 0x18); + uint32_t x44 = ((uint32_t)x42 & 0xffffff); + uint64_t x45 = (x43 + x37); + uint64_t x46 = (x45 >> 0x18); + uint32_t x47 = ((uint32_t)x45 & 0xffffff); + uint64_t x48 = (x46 + x36); + uint64_t x49 = (x48 >> 0x18); + uint32_t x50 = ((uint32_t)x48 & 0xffffff); + uint64_t x51 = (x49 + x35); + uint32_t x52 = (uint32_t) (x51 >> 0x19); + uint32_t x53 = ((uint32_t)x51 & 0x1ffffff); + uint64_t x54 = (x52 + x34); + uint32_t x55 = (uint32_t) (x54 >> 0x18); + uint32_t x56 = ((uint32_t)x54 & 0xffffff); + uint64_t x57 = (x55 + x33); + uint32_t x58 = (uint32_t) (x57 >> 0x18); + uint32_t x59 = ((uint32_t)x57 & 0xffffff); + uint64_t x60 = (x58 + x32); + uint32_t x61 = (uint32_t) (x60 >> 0x18); + uint32_t x62 = ((uint32_t)x60 & 0xffffff); + uint64_t x63 = (x41 + ((uint64_t)0x21 * x61)); + uint32_t x64 = (uint32_t) (x63 >> 0x19); + uint32_t x65 = ((uint32_t)x63 & 0x1ffffff); + uint32_t x66 = (x64 + x44); + uint32_t x67 = (x66 >> 0x18); + uint32_t x68 = (x66 & 0xffffff); + return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65)) (x, x0)%core - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e194m33/fesquareDisplay.log b/src/Specific/solinas32_2e194m33/fesquareDisplay.log index 3618b6573..008a9eea3 100644 --- a/src/Specific/solinas32_2e194m33/fesquareDisplay.log +++ b/src/Specific/solinas32_2e194m33/fesquareDisplay.log @@ -1,60 +1,44 @@ -λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x23 = (uint64_t) x2 * x21 + (0x2 * ((uint64_t) x4 * x22) + (0x2 * ((uint64_t) x6 * x20) + (0x2 * ((uint64_t) x8 * x18) + (0x2 * ((uint64_t) x10 * x16) + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + (0x2 * ((uint64_t) x16 * x10) + (0x2 * ((uint64_t) x18 * x8) + (0x2 * ((uint64_t) x20 * x6) + (0x2 * ((uint64_t) x22 * x4) + (uint64_t) x21 * x2)))))))))); - uint64_t x24 = (uint64_t) x2 * x22 + (0x2 * ((uint64_t) x4 * x20) + (0x2 * ((uint64_t) x6 * x18) + (0x2 * ((uint64_t) x8 * x16) + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + (0x2 * ((uint64_t) x16 * x8) + (0x2 * ((uint64_t) x18 * x6) + (0x2 * ((uint64_t) x20 * x4) + (uint64_t) x22 * x2))))))))) + 0x21 * ((uint64_t) x21 * x21); - uint64_t x25 = (uint64_t) x2 * x20 + (0x2 * ((uint64_t) x4 * x18) + (0x2 * ((uint64_t) x6 * x16) + ((uint64_t) x8 * x14 + ((uint64_t) x10 * x12 + ((uint64_t) x12 * x10 + ((uint64_t) x14 * x8 + (0x2 * ((uint64_t) x16 * x6) + (0x2 * ((uint64_t) x18 * x4) + (uint64_t) x20 * x2)))))))) + 0x21 * ((uint64_t) x22 * x21 + (uint64_t) x21 * x22); - uint64_t x26 = (uint64_t) x2 * x18 + (0x2 * ((uint64_t) x4 * x16) + ((uint64_t) x6 * x14 + ((uint64_t) x8 * x12 + ((uint64_t) x10 * x10 + ((uint64_t) x12 * x8 + ((uint64_t) x14 * x6 + (0x2 * ((uint64_t) x16 * x4) + (uint64_t) x18 * x2))))))) + 0x21 * ((uint64_t) x20 * x21 + ((uint64_t) x22 * x22 + (uint64_t) x21 * x20)); - uint64_t x27 = (uint64_t) x2 * x16 + ((uint64_t) x4 * x14 + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + ((uint64_t) x14 * x4 + (uint64_t) x16 * x2)))))) + 0x21 * ((uint64_t) x18 * x21 + ((uint64_t) x20 * x22 + ((uint64_t) x22 * x20 + (uint64_t) x21 * x18))); - uint64_t x28 = (uint64_t) x2 * x14 + (0x2 * ((uint64_t) x4 * x12) + (0x2 * ((uint64_t) x6 * x10) + (0x2 * ((uint64_t) x8 * x8) + (0x2 * ((uint64_t) x10 * x6) + (0x2 * ((uint64_t) x12 * x4) + (uint64_t) x14 * x2))))) + 0x21 * (0x2 * ((uint64_t) x16 * x21) + (0x2 * ((uint64_t) x18 * x22) + (0x2 * ((uint64_t) x20 * x20) + (0x2 * ((uint64_t) x22 * x18) + 0x2 * ((uint64_t) x21 * x16))))); - uint64_t x29 = (uint64_t) x2 * x12 + (0x2 * ((uint64_t) x4 * x10) + (0x2 * ((uint64_t) x6 * x8) + (0x2 * ((uint64_t) x8 * x6) + (0x2 * ((uint64_t) x10 * x4) + (uint64_t) x12 * x2)))) + 0x21 * ((uint64_t) x14 * x21 + (0x2 * ((uint64_t) x16 * x22) + (0x2 * ((uint64_t) x18 * x20) + (0x2 * ((uint64_t) x20 * x18) + (0x2 * ((uint64_t) x22 * x16) + (uint64_t) x21 * x14))))); - uint64_t x30 = (uint64_t) x2 * x10 + (0x2 * ((uint64_t) x4 * x8) + (0x2 * ((uint64_t) x6 * x6) + (0x2 * ((uint64_t) x8 * x4) + (uint64_t) x10 * x2))) + 0x21 * ((uint64_t) x12 * x21 + ((uint64_t) x14 * x22 + (0x2 * ((uint64_t) x16 * x20) + (0x2 * ((uint64_t) x18 * x18) + (0x2 * ((uint64_t) x20 * x16) + ((uint64_t) x22 * x14 + (uint64_t) x21 * x12)))))); - uint64_t x31 = (uint64_t) x2 * x8 + (0x2 * ((uint64_t) x4 * x6) + (0x2 * ((uint64_t) x6 * x4) + (uint64_t) x8 * x2)) + 0x21 * ((uint64_t) x10 * x21 + ((uint64_t) x12 * x22 + ((uint64_t) x14 * x20 + (0x2 * ((uint64_t) x16 * x18) + (0x2 * ((uint64_t) x18 * x16) + ((uint64_t) x20 * x14 + ((uint64_t) x22 * x12 + (uint64_t) x21 * x10))))))); - uint64_t x32 = (uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2) + 0x21 * ((uint64_t) x8 * x21 + ((uint64_t) x10 * x22 + ((uint64_t) x12 * x20 + ((uint64_t) x14 * x18 + (0x2 * ((uint64_t) x16 * x16) + ((uint64_t) x18 * x14 + ((uint64_t) x20 * x12 + ((uint64_t) x22 * x10 + (uint64_t) x21 * x8)))))))); - uint64_t x33 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x21 * ((uint64_t) x6 * x21 + ((uint64_t) x8 * x22 + ((uint64_t) x10 * x20 + ((uint64_t) x12 * x18 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + ((uint64_t) x18 * x12 + ((uint64_t) x20 * x10 + ((uint64_t) x22 * x8 + (uint64_t) x21 * x6))))))))); - uint64_t x34 = (uint64_t) x2 * x2 + 0x21 * (0x2 * ((uint64_t) x4 * x21) + (0x2 * ((uint64_t) x6 * x22) + (0x2 * ((uint64_t) x8 * x20) + (0x2 * ((uint64_t) x10 * x18) + (0x2 * ((uint64_t) x12 * x16) + ((uint64_t) x14 * x14 + (0x2 * ((uint64_t) x16 * x12) + (0x2 * ((uint64_t) x18 * x10) + (0x2 * ((uint64_t) x20 * x8) + (0x2 * ((uint64_t) x22 * x6) + 0x2 * ((uint64_t) x21 * x4))))))))))); - uint32_t x35 = (uint32_t) (x34 >> 0x11); - uint32_t x36 = (uint32_t) x34 & 0x1ffff; - uint64_t x37 = x35 + x33; - uint32_t x38 = (uint32_t) (x37 >> 0x10); - uint32_t x39 = (uint32_t) x37 & 0xffff; - uint64_t x40 = x38 + x32; - uint32_t x41 = (uint32_t) (x40 >> 0x10); - uint32_t x42 = (uint32_t) x40 & 0xffff; - uint64_t x43 = x41 + x31; - uint32_t x44 = (uint32_t) (x43 >> 0x10); - uint32_t x45 = (uint32_t) x43 & 0xffff; - uint64_t x46 = x44 + x30; - uint32_t x47 = (uint32_t) (x46 >> 0x10); - uint32_t x48 = (uint32_t) x46 & 0xffff; - uint64_t x49 = x47 + x29; - uint32_t x50 = (uint32_t) (x49 >> 0x10); - uint32_t x51 = (uint32_t) x49 & 0xffff; - uint64_t x52 = x50 + x28; - uint32_t x53 = (uint32_t) (x52 >> 0x11); - uint32_t x54 = (uint32_t) x52 & 0x1ffff; - uint64_t x55 = x53 + x27; - uint32_t x56 = (uint32_t) (x55 >> 0x10); - uint32_t x57 = (uint32_t) x55 & 0xffff; - uint64_t x58 = x56 + x26; - uint32_t x59 = (uint32_t) (x58 >> 0x10); - uint32_t x60 = (uint32_t) x58 & 0xffff; - uint64_t x61 = x59 + x25; - uint32_t x62 = (uint32_t) (x61 >> 0x10); - uint32_t x63 = (uint32_t) x61 & 0xffff; - uint64_t x64 = x62 + x24; - uint32_t x65 = (uint32_t) (x64 >> 0x10); - uint32_t x66 = (uint32_t) x64 & 0xffff; - uint64_t x67 = x65 + x23; - uint32_t x68 = (uint32_t) (x67 >> 0x10); - uint32_t x69 = (uint32_t) x67 & 0xffff; - uint32_t x70 = x36 + 0x21 * x68; - uint32_t x71 = x70 >> 0x11; - uint32_t x72 = x70 & 0x1ffff; - uint32_t x73 = x71 + x39; - uint32_t x74 = x73 >> 0x10; - uint32_t x75 = x73 & 0xffff; - return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, x74 + x42, Return x75, Return x72)) + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x15 = (((uint64_t)x2 * x13) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x13 * x2)))))))); + uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x21 * ((uint64_t)x13 * x13))); + uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x21 * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14)))); + uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x21 * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12)))))); + uint64_t x19 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x21 * (((uint64_t)x10 * x13) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((uint64_t)x13 * x10)))))); + uint64_t x20 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x21 * (((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8))))))); + uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x21 * (((uint64_t)x6 * x13) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x13 * x6)))))))); + uint64_t x22 = (((uint64_t)x2 * x2) + (0x21 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4)))))))))); + uint64_t x23 = (x22 >> 0x19); + uint32_t x24 = ((uint32_t)x22 & 0x1ffffff); + uint64_t x25 = (x23 + x21); + uint64_t x26 = (x25 >> 0x18); + uint32_t x27 = ((uint32_t)x25 & 0xffffff); + uint64_t x28 = (x26 + x20); + uint64_t x29 = (x28 >> 0x18); + uint32_t x30 = ((uint32_t)x28 & 0xffffff); + uint64_t x31 = (x29 + x19); + uint64_t x32 = (x31 >> 0x18); + uint32_t x33 = ((uint32_t)x31 & 0xffffff); + uint64_t x34 = (x32 + x18); + uint32_t x35 = (uint32_t) (x34 >> 0x19); + uint32_t x36 = ((uint32_t)x34 & 0x1ffffff); + uint64_t x37 = (x35 + x17); + uint32_t x38 = (uint32_t) (x37 >> 0x18); + uint32_t x39 = ((uint32_t)x37 & 0xffffff); + uint64_t x40 = (x38 + x16); + uint32_t x41 = (uint32_t) (x40 >> 0x18); + uint32_t x42 = ((uint32_t)x40 & 0xffffff); + uint64_t x43 = (x41 + x15); + uint32_t x44 = (uint32_t) (x43 >> 0x18); + uint32_t x45 = ((uint32_t)x43 & 0xffffff); + uint64_t x46 = (x24 + ((uint64_t)0x21 * x44)); + uint32_t x47 = (uint32_t) (x46 >> 0x19); + uint32_t x48 = ((uint32_t)x46 & 0x1ffffff); + uint32_t x49 = (x47 + x27); + uint32_t x50 = (x49 >> 0x18); + uint32_t x51 = (x49 & 0xffffff); + return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48)) x - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e194m33/freezeDisplay.log b/src/Specific/solinas32_2e194m33/freezeDisplay.log index 65f3128e8..bc97359c4 100644 --- a/src/Specific/solinas32_2e194m33/freezeDisplay.log +++ b/src/Specific/solinas32_2e194m33/freezeDisplay.log @@ -1,44 +1,32 @@ -λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffdf); - uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0xffff); - uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0xffff); - uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0xffff); - uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0xffff); - uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0xffff); - uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0x1ffff); - uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0xffff); - uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0xffff); - uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0xffff); - uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0xffff); - uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0xffff); - uint32_t x59 = (uint32_t)cmovznz(x58, 0x0, 0xffffffff); - uint32_t x60 = x59 & 0x1ffdf; - uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60); - uint32_t x64 = x59 & 0xffff; - uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64); - uint32_t x68 = x59 & 0xffff; - uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68); - uint32_t x72 = x59 & 0xffff; - uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72); - uint32_t x76 = x59 & 0xffff; - uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76); - uint32_t x80 = x59 & 0xffff; - uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80); - uint32_t x84 = x59 & 0x1ffff; - uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84); - uint32_t x88 = x59 & 0xffff; - uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88); - uint32_t x92 = x59 & 0xffff; - uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92); - uint32_t x96 = x59 & 0xffff; - uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96); - uint32_t x100 = x59 & 0xffff; - uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100); - uint32_t x104 = x59 & 0xffff; - uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 16 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104); - (Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62)) + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffdf); + uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffff); + uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffff); + uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffff); + uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x1ffffff); + uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffff); + uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffff); + uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffff); + uint32_t x39 = (uint32_t)cmovznz(x38, 0x0, 0xffffffff); + uint32_t x40 = (x39 & 0x1ffffdf); + uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40); + uint32_t x44 = (x39 & 0xffffff); + uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); + uint32_t x48 = (x39 & 0xffffff); + uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); + uint32_t x52 = (x39 & 0xffffff); + uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); + uint32_t x56 = (x39 & 0x1ffffff); + uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); + uint32_t x60 = (x39 & 0xffffff); + uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); + uint32_t x64 = (x39 & 0xffffff); + uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); + uint32_t x68 = (x39 & 0xffffff); + uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e198m17/femulDisplay.log b/src/Specific/solinas32_2e198m17/femulDisplay.log index 006673e79..4362346b3 100644 --- a/src/Specific/solinas32_2e198m17/femulDisplay.log +++ b/src/Specific/solinas32_2e198m17/femulDisplay.log @@ -2,47 +2,47 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - uint64_t x36 = (uint64_t) x5 * x34 + ((uint64_t) x7 * x35 + ((uint64_t) x9 * x33 + ((uint64_t) x11 * x31 + ((uint64_t) x13 * x29 + ((uint64_t) x15 * x27 + ((uint64_t) x17 * x25 + ((uint64_t) x19 * x23 + (uint64_t) x18 * x21))))))); - uint64_t x37 = (uint64_t) x5 * x35 + ((uint64_t) x7 * x33 + ((uint64_t) x9 * x31 + ((uint64_t) x11 * x29 + ((uint64_t) x13 * x27 + ((uint64_t) x15 * x25 + ((uint64_t) x17 * x23 + (uint64_t) x19 * x21)))))) + 0x11 * ((uint64_t) x18 * x34); - uint64_t x38 = (uint64_t) x5 * x33 + ((uint64_t) x7 * x31 + ((uint64_t) x9 * x29 + ((uint64_t) x11 * x27 + ((uint64_t) x13 * x25 + ((uint64_t) x15 * x23 + (uint64_t) x17 * x21))))) + 0x11 * ((uint64_t) x19 * x34 + (uint64_t) x18 * x35); - uint64_t x39 = (uint64_t) x5 * x31 + ((uint64_t) x7 * x29 + ((uint64_t) x9 * x27 + ((uint64_t) x11 * x25 + ((uint64_t) x13 * x23 + (uint64_t) x15 * x21)))) + 0x11 * ((uint64_t) x17 * x34 + ((uint64_t) x19 * x35 + (uint64_t) x18 * x33)); - uint64_t x40 = (uint64_t) x5 * x29 + ((uint64_t) x7 * x27 + ((uint64_t) x9 * x25 + ((uint64_t) x11 * x23 + (uint64_t) x13 * x21))) + 0x11 * ((uint64_t) x15 * x34 + ((uint64_t) x17 * x35 + ((uint64_t) x19 * x33 + (uint64_t) x18 * x31))); - uint64_t x41 = (uint64_t) x5 * x27 + ((uint64_t) x7 * x25 + ((uint64_t) x9 * x23 + (uint64_t) x11 * x21)) + 0x11 * ((uint64_t) x13 * x34 + ((uint64_t) x15 * x35 + ((uint64_t) x17 * x33 + ((uint64_t) x19 * x31 + (uint64_t) x18 * x29)))); - uint64_t x42 = (uint64_t) x5 * x25 + ((uint64_t) x7 * x23 + (uint64_t) x9 * x21) + 0x11 * ((uint64_t) x11 * x34 + ((uint64_t) x13 * x35 + ((uint64_t) x15 * x33 + ((uint64_t) x17 * x31 + ((uint64_t) x19 * x29 + (uint64_t) x18 * x27))))); - uint64_t x43 = (uint64_t) x5 * x23 + (uint64_t) x7 * x21 + 0x11 * ((uint64_t) x9 * x34 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + ((uint64_t) x15 * x31 + ((uint64_t) x17 * x29 + ((uint64_t) x19 * x27 + (uint64_t) x18 * x25)))))); - uint64_t x44 = (uint64_t) x5 * x21 + 0x11 * ((uint64_t) x7 * x34 + ((uint64_t) x9 * x35 + ((uint64_t) x11 * x33 + ((uint64_t) x13 * x31 + ((uint64_t) x15 * x29 + ((uint64_t) x17 * x27 + ((uint64_t) x19 * x25 + (uint64_t) x18 * x23))))))); + uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21))))))))); + uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x11 * ((uint64_t)x18 * x34))); + uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x11 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35)))); + uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x11 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33))))); + uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x11 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31)))))); + uint64_t x41 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21)))) + (0x11 * (((uint64_t)x13 * x34) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x18 * x29))))))); + uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x11 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27)))))))); + uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x11 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25))))))))); + uint64_t x44 = (((uint64_t)x5 * x21) + (0x11 * (((uint64_t)x7 * x34) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (((uint64_t)x19 * x25) + ((uint64_t)x18 * x23)))))))))); uint32_t x45 = (uint32_t) (x44 >> 0x16); - uint32_t x46 = (uint32_t) x44 & 0x3fffff; - uint64_t x47 = x45 + x43; + uint32_t x46 = ((uint32_t)x44 & 0x3fffff); + uint64_t x47 = (x45 + x43); uint32_t x48 = (uint32_t) (x47 >> 0x16); - uint32_t x49 = (uint32_t) x47 & 0x3fffff; - uint64_t x50 = x48 + x42; + uint32_t x49 = ((uint32_t)x47 & 0x3fffff); + uint64_t x50 = (x48 + x42); uint32_t x51 = (uint32_t) (x50 >> 0x16); - uint32_t x52 = (uint32_t) x50 & 0x3fffff; - uint64_t x53 = x51 + x41; + uint32_t x52 = ((uint32_t)x50 & 0x3fffff); + uint64_t x53 = (x51 + x41); uint32_t x54 = (uint32_t) (x53 >> 0x16); - uint32_t x55 = (uint32_t) x53 & 0x3fffff; - uint64_t x56 = x54 + x40; + uint32_t x55 = ((uint32_t)x53 & 0x3fffff); + uint64_t x56 = (x54 + x40); uint32_t x57 = (uint32_t) (x56 >> 0x16); - uint32_t x58 = (uint32_t) x56 & 0x3fffff; - uint64_t x59 = x57 + x39; + uint32_t x58 = ((uint32_t)x56 & 0x3fffff); + uint64_t x59 = (x57 + x39); uint32_t x60 = (uint32_t) (x59 >> 0x16); - uint32_t x61 = (uint32_t) x59 & 0x3fffff; - uint64_t x62 = x60 + x38; + uint32_t x61 = ((uint32_t)x59 & 0x3fffff); + uint64_t x62 = (x60 + x38); uint32_t x63 = (uint32_t) (x62 >> 0x16); - uint32_t x64 = (uint32_t) x62 & 0x3fffff; - uint64_t x65 = x63 + x37; + uint32_t x64 = ((uint32_t)x62 & 0x3fffff); + uint64_t x65 = (x63 + x37); uint32_t x66 = (uint32_t) (x65 >> 0x16); - uint32_t x67 = (uint32_t) x65 & 0x3fffff; - uint64_t x68 = x66 + x36; + uint32_t x67 = ((uint32_t)x65 & 0x3fffff); + uint64_t x68 = (x66 + x36); uint32_t x69 = (uint32_t) (x68 >> 0x16); - uint32_t x70 = (uint32_t) x68 & 0x3fffff; - uint32_t x71 = x46 + 0x11 * x69; - uint32_t x72 = x71 >> 0x16; - uint32_t x73 = x71 & 0x3fffff; - uint32_t x74 = x72 + x49; - uint32_t x75 = x74 >> 0x16; - uint32_t x76 = x74 & 0x3fffff; - return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, x75 + x52, Return x76, Return x73)) + uint32_t x70 = ((uint32_t)x68 & 0x3fffff); + uint32_t x71 = (x46 + (0x11 * x69)); + uint32_t x72 = (x71 >> 0x16); + uint32_t x73 = (x71 & 0x3fffff); + uint32_t x74 = (x72 + x49); + uint32_t x75 = (x74 >> 0x16); + uint32_t x76 = (x74 & 0x3fffff); + return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73)) (x, x0)%core : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e198m17/fesquareDisplay.log b/src/Specific/solinas32_2e198m17/fesquareDisplay.log index 760455d3a..b44db0c16 100644 --- a/src/Specific/solinas32_2e198m17/fesquareDisplay.log +++ b/src/Specific/solinas32_2e198m17/fesquareDisplay.log @@ -2,47 +2,47 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x17 = (uint64_t) x2 * x15 + ((uint64_t) x4 * x16 + ((uint64_t) x6 * x14 + ((uint64_t) x8 * x12 + ((uint64_t) x10 * x10 + ((uint64_t) x12 * x8 + ((uint64_t) x14 * x6 + ((uint64_t) x16 * x4 + (uint64_t) x15 * x2))))))); - uint64_t x18 = (uint64_t) x2 * x16 + ((uint64_t) x4 * x14 + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + ((uint64_t) x14 * x4 + (uint64_t) x16 * x2)))))) + 0x11 * ((uint64_t) x15 * x15); - uint64_t x19 = (uint64_t) x2 * x14 + ((uint64_t) x4 * x12 + ((uint64_t) x6 * x10 + ((uint64_t) x8 * x8 + ((uint64_t) x10 * x6 + ((uint64_t) x12 * x4 + (uint64_t) x14 * x2))))) + 0x11 * ((uint64_t) x16 * x15 + (uint64_t) x15 * x16); - uint64_t x20 = (uint64_t) x2 * x12 + ((uint64_t) x4 * x10 + ((uint64_t) x6 * x8 + ((uint64_t) x8 * x6 + ((uint64_t) x10 * x4 + (uint64_t) x12 * x2)))) + 0x11 * ((uint64_t) x14 * x15 + ((uint64_t) x16 * x16 + (uint64_t) x15 * x14)); - uint64_t x21 = (uint64_t) x2 * x10 + ((uint64_t) x4 * x8 + ((uint64_t) x6 * x6 + ((uint64_t) x8 * x4 + (uint64_t) x10 * x2))) + 0x11 * ((uint64_t) x12 * x15 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + (uint64_t) x15 * x12))); - uint64_t x22 = (uint64_t) x2 * x8 + ((uint64_t) x4 * x6 + ((uint64_t) x6 * x4 + (uint64_t) x8 * x2)) + 0x11 * ((uint64_t) x10 * x15 + ((uint64_t) x12 * x16 + ((uint64_t) x14 * x14 + ((uint64_t) x16 * x12 + (uint64_t) x15 * x10)))); - uint64_t x23 = (uint64_t) x2 * x6 + ((uint64_t) x4 * x4 + (uint64_t) x6 * x2) + 0x11 * ((uint64_t) x8 * x15 + ((uint64_t) x10 * x16 + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + ((uint64_t) x16 * x10 + (uint64_t) x15 * x8))))); - uint64_t x24 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x11 * ((uint64_t) x6 * x15 + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + (uint64_t) x15 * x6)))))); - uint64_t x25 = (uint64_t) x2 * x2 + 0x11 * ((uint64_t) x4 * x15 + ((uint64_t) x6 * x16 + ((uint64_t) x8 * x14 + ((uint64_t) x10 * x12 + ((uint64_t) x12 * x10 + ((uint64_t) x14 * x8 + ((uint64_t) x16 * x6 + (uint64_t) x15 * x4))))))); + uint64_t x17 = (((uint64_t)x2 * x15) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x15 * x2))))))))); + uint64_t x18 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x11 * ((uint64_t)x15 * x15))); + uint64_t x19 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x11 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16)))); + uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14))))); + uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12)))))); + uint64_t x22 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x15) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x15 * x10))))))); + uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8)))))))); + uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6))))))))); + uint64_t x25 = (((uint64_t)x2 * x2) + (0x11 * (((uint64_t)x4 * x15) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + ((uint64_t)x15 * x4)))))))))); uint32_t x26 = (uint32_t) (x25 >> 0x16); - uint32_t x27 = (uint32_t) x25 & 0x3fffff; - uint64_t x28 = x26 + x24; + uint32_t x27 = ((uint32_t)x25 & 0x3fffff); + uint64_t x28 = (x26 + x24); uint32_t x29 = (uint32_t) (x28 >> 0x16); - uint32_t x30 = (uint32_t) x28 & 0x3fffff; - uint64_t x31 = x29 + x23; + uint32_t x30 = ((uint32_t)x28 & 0x3fffff); + uint64_t x31 = (x29 + x23); uint32_t x32 = (uint32_t) (x31 >> 0x16); - uint32_t x33 = (uint32_t) x31 & 0x3fffff; - uint64_t x34 = x32 + x22; + uint32_t x33 = ((uint32_t)x31 & 0x3fffff); + uint64_t x34 = (x32 + x22); uint32_t x35 = (uint32_t) (x34 >> 0x16); - uint32_t x36 = (uint32_t) x34 & 0x3fffff; - uint64_t x37 = x35 + x21; + uint32_t x36 = ((uint32_t)x34 & 0x3fffff); + uint64_t x37 = (x35 + x21); uint32_t x38 = (uint32_t) (x37 >> 0x16); - uint32_t x39 = (uint32_t) x37 & 0x3fffff; - uint64_t x40 = x38 + x20; + uint32_t x39 = ((uint32_t)x37 & 0x3fffff); + uint64_t x40 = (x38 + x20); uint32_t x41 = (uint32_t) (x40 >> 0x16); - uint32_t x42 = (uint32_t) x40 & 0x3fffff; - uint64_t x43 = x41 + x19; + uint32_t x42 = ((uint32_t)x40 & 0x3fffff); + uint64_t x43 = (x41 + x19); uint32_t x44 = (uint32_t) (x43 >> 0x16); - uint32_t x45 = (uint32_t) x43 & 0x3fffff; - uint64_t x46 = x44 + x18; + uint32_t x45 = ((uint32_t)x43 & 0x3fffff); + uint64_t x46 = (x44 + x18); uint32_t x47 = (uint32_t) (x46 >> 0x16); - uint32_t x48 = (uint32_t) x46 & 0x3fffff; - uint64_t x49 = x47 + x17; + uint32_t x48 = ((uint32_t)x46 & 0x3fffff); + uint64_t x49 = (x47 + x17); uint32_t x50 = (uint32_t) (x49 >> 0x16); - uint32_t x51 = (uint32_t) x49 & 0x3fffff; - uint32_t x52 = x27 + 0x11 * x50; - uint32_t x53 = x52 >> 0x16; - uint32_t x54 = x52 & 0x3fffff; - uint32_t x55 = x53 + x30; - uint32_t x56 = x55 >> 0x16; - uint32_t x57 = x55 & 0x3fffff; - return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, x56 + x33, Return x57, Return x54)) + uint32_t x51 = ((uint32_t)x49 & 0x3fffff); + uint32_t x52 = (x27 + (0x11 * x50)); + uint32_t x53 = (x52 >> 0x16); + uint32_t x54 = (x52 & 0x3fffff); + uint32_t x55 = (x53 + x30); + uint32_t x56 = (x55 >> 0x16); + uint32_t x57 = (x55 & 0x3fffff); + return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54)) x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e198m17/freezeDisplay.log b/src/Specific/solinas32_2e198m17/freezeDisplay.log index b17a4e475..6214988b0 100644 --- a/src/Specific/solinas32_2e198m17/freezeDisplay.log +++ b/src/Specific/solinas32_2e198m17/freezeDisplay.log @@ -12,23 +12,23 @@ Interp-η uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffff); uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffff); uint32_t x44 = (uint32_t)cmovznz(x43, 0x0, 0xffffffff); - uint32_t x45 = x44 & 0x3fffef; + uint32_t x45 = (x44 & 0x3fffef); uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45); - uint32_t x49 = x44 & 0x3fffff; + uint32_t x49 = (x44 & 0x3fffff); uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); - uint32_t x53 = x44 & 0x3fffff; + uint32_t x53 = (x44 & 0x3fffff); uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); - uint32_t x57 = x44 & 0x3fffff; + uint32_t x57 = (x44 & 0x3fffff); uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); - uint32_t x61 = x44 & 0x3fffff; + uint32_t x61 = (x44 & 0x3fffff); uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); - uint32_t x65 = x44 & 0x3fffff; + uint32_t x65 = (x44 & 0x3fffff); uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); - uint32_t x69 = x44 & 0x3fffff; + uint32_t x69 = (x44 & 0x3fffff); uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); - uint32_t x73 = x44 & 0x3fffff; + uint32_t x73 = (x44 & 0x3fffff); uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); - uint32_t x77 = x44 & 0x3fffff; + uint32_t x77 = (x44 & 0x3fffff); uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) x diff --git a/src/Specific/solinas32_2e212m29/femulDisplay.log b/src/Specific/solinas32_2e212m29/femulDisplay.log index df593abab..0730abcff 100644 --- a/src/Specific/solinas32_2e212m29/femulDisplay.log +++ b/src/Specific/solinas32_2e212m29/femulDisplay.log @@ -1,52 +1,44 @@ -λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, - uint64_t x40 = (uint64_t) x5 * x38 + (0x2 * ((uint64_t) x7 * x39) + (0x2 * ((uint64_t) x9 * x37) + (0x2 * ((uint64_t) x11 * x35) + ((uint64_t) x13 * x33 + ((uint64_t) x15 * x31 + (0x2 * ((uint64_t) x17 * x29) + (0x2 * ((uint64_t) x19 * x27) + (0x2 * ((uint64_t) x21 * x25) + (uint64_t) x20 * x23)))))))); - uint64_t x41 = (uint64_t) x5 * x39 + (0x2 * ((uint64_t) x7 * x37) + (0x2 * ((uint64_t) x9 * x35) + ((uint64_t) x11 * x33 + ((uint64_t) x13 * x31 + ((uint64_t) x15 * x29 + (0x2 * ((uint64_t) x17 * x27) + (0x2 * ((uint64_t) x19 * x25) + (uint64_t) x21 * x23))))))) + 0x1d * ((uint64_t) x20 * x38); - uint64_t x42 = (uint64_t) x5 * x37 + (0x2 * ((uint64_t) x7 * x35) + ((uint64_t) x9 * x33 + ((uint64_t) x11 * x31 + ((uint64_t) x13 * x29 + ((uint64_t) x15 * x27 + (0x2 * ((uint64_t) x17 * x25) + (uint64_t) x19 * x23)))))) + 0x1d * ((uint64_t) x21 * x38 + (uint64_t) x20 * x39); - uint64_t x43 = (uint64_t) x5 * x35 + ((uint64_t) x7 * x33 + ((uint64_t) x9 * x31 + ((uint64_t) x11 * x29 + ((uint64_t) x13 * x27 + ((uint64_t) x15 * x25 + (uint64_t) x17 * x23))))) + 0x1d * ((uint64_t) x19 * x38 + ((uint64_t) x21 * x39 + (uint64_t) x20 * x37)); - uint64_t x44 = (uint64_t) x5 * x33 + (0x2 * ((uint64_t) x7 * x31) + (0x2 * ((uint64_t) x9 * x29) + (0x2 * ((uint64_t) x11 * x27) + (0x2 * ((uint64_t) x13 * x25) + (uint64_t) x15 * x23)))) + 0x1d * (0x2 * ((uint64_t) x17 * x38) + (0x2 * ((uint64_t) x19 * x39) + (0x2 * ((uint64_t) x21 * x37) + 0x2 * ((uint64_t) x20 * x35)))); - uint64_t x45 = (uint64_t) x5 * x31 + (0x2 * ((uint64_t) x7 * x29) + (0x2 * ((uint64_t) x9 * x27) + (0x2 * ((uint64_t) x11 * x25) + (uint64_t) x13 * x23))) + 0x1d * ((uint64_t) x15 * x38 + (0x2 * ((uint64_t) x17 * x39) + (0x2 * ((uint64_t) x19 * x37) + (0x2 * ((uint64_t) x21 * x35) + (uint64_t) x20 * x33)))); - uint64_t x46 = (uint64_t) x5 * x29 + (0x2 * ((uint64_t) x7 * x27) + (0x2 * ((uint64_t) x9 * x25) + (uint64_t) x11 * x23)) + 0x1d * ((uint64_t) x13 * x38 + ((uint64_t) x15 * x39 + (0x2 * ((uint64_t) x17 * x37) + (0x2 * ((uint64_t) x19 * x35) + ((uint64_t) x21 * x33 + (uint64_t) x20 * x31))))); - uint64_t x47 = (uint64_t) x5 * x27 + (0x2 * ((uint64_t) x7 * x25) + (uint64_t) x9 * x23) + 0x1d * ((uint64_t) x11 * x38 + ((uint64_t) x13 * x39 + ((uint64_t) x15 * x37 + (0x2 * ((uint64_t) x17 * x35) + ((uint64_t) x19 * x33 + ((uint64_t) x21 * x31 + (uint64_t) x20 * x29)))))); - uint64_t x48 = (uint64_t) x5 * x25 + (uint64_t) x7 * x23 + 0x1d * ((uint64_t) x9 * x38 + ((uint64_t) x11 * x39 + ((uint64_t) x13 * x37 + ((uint64_t) x15 * x35 + ((uint64_t) x17 * x33 + ((uint64_t) x19 * x31 + ((uint64_t) x21 * x29 + (uint64_t) x20 * x27))))))); - uint64_t x49 = (uint64_t) x5 * x23 + 0x1d * (0x2 * ((uint64_t) x7 * x38) + (0x2 * ((uint64_t) x9 * x39) + (0x2 * ((uint64_t) x11 * x37) + (0x2 * ((uint64_t) x13 * x35) + ((uint64_t) x15 * x33 + (0x2 * ((uint64_t) x17 * x31) + (0x2 * ((uint64_t) x19 * x29) + (0x2 * ((uint64_t) x21 * x27) + 0x2 * ((uint64_t) x20 * x25))))))))); - uint32_t x50 = (uint32_t) (x49 >> 0x16); - uint32_t x51 = (uint32_t) x49 & 0x3fffff; - uint64_t x52 = x50 + x48; - uint32_t x53 = (uint32_t) (x52 >> 0x15); - uint32_t x54 = (uint32_t) x52 & 0x1fffff; - uint64_t x55 = x53 + x47; - uint32_t x56 = (uint32_t) (x55 >> 0x15); - uint32_t x57 = (uint32_t) x55 & 0x1fffff; - uint64_t x58 = x56 + x46; - uint32_t x59 = (uint32_t) (x58 >> 0x15); - uint32_t x60 = (uint32_t) x58 & 0x1fffff; - uint64_t x61 = x59 + x45; - uint32_t x62 = (uint32_t) (x61 >> 0x15); - uint32_t x63 = (uint32_t) x61 & 0x1fffff; - uint64_t x64 = x62 + x44; - uint32_t x65 = (uint32_t) (x64 >> 0x16); - uint32_t x66 = (uint32_t) x64 & 0x3fffff; - uint64_t x67 = x65 + x43; - uint32_t x68 = (uint32_t) (x67 >> 0x15); - uint32_t x69 = (uint32_t) x67 & 0x1fffff; - uint64_t x70 = x68 + x42; - uint32_t x71 = (uint32_t) (x70 >> 0x15); - uint32_t x72 = (uint32_t) x70 & 0x1fffff; - uint64_t x73 = x71 + x41; - uint32_t x74 = (uint32_t) (x73 >> 0x15); - uint32_t x75 = (uint32_t) x73 & 0x1fffff; - uint64_t x76 = x74 + x40; - uint32_t x77 = (uint32_t) (x76 >> 0x15); - uint32_t x78 = (uint32_t) x76 & 0x1fffff; - uint32_t x79 = x51 + 0x1d * x77; - uint32_t x80 = x79 >> 0x16; - uint32_t x81 = x79 & 0x3fffff; - uint32_t x82 = x80 + x54; - uint32_t x83 = x82 >> 0x15; - uint32_t x84 = x82 & 0x1fffff; - return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, x83 + x57, Return x84, Return x81)) + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19)))))))); + uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x1d * (0x2 * ((uint64_t)x16 * x30)))); + uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x1d * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31)))); + uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + (((uint64_t)x9 * x23) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x1d * ((0x2 * ((uint64_t)x15 * x30)) + (((uint64_t)x17 * x31) + (0x2 * ((uint64_t)x16 * x29)))))); + uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x1d * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27)))))); + uint64_t x37 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((uint64_t)x9 * x19))) + (0x1d * ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25)))))))); + uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x1d * (((uint64_t)x9 * x30) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x16 * x23)))))))); + uint64_t x39 = (((uint64_t)x5 * x19) + (0x1d * ((0x2 * ((uint64_t)x7 * x30)) + (((uint64_t)x9 * x31) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + (((uint64_t)x17 * x23) + (0x2 * ((uint64_t)x16 * x21)))))))))); + uint64_t x40 = (x39 >> 0x1b); + uint32_t x41 = ((uint32_t)x39 & 0x7ffffff); + uint64_t x42 = (x40 + x38); + uint64_t x43 = (x42 >> 0x1a); + uint32_t x44 = ((uint32_t)x42 & 0x3ffffff); + uint64_t x45 = (x43 + x37); + uint64_t x46 = (x45 >> 0x1b); + uint32_t x47 = ((uint32_t)x45 & 0x7ffffff); + uint64_t x48 = (x46 + x36); + uint64_t x49 = (x48 >> 0x1a); + uint32_t x50 = ((uint32_t)x48 & 0x3ffffff); + uint64_t x51 = (x49 + x35); + uint64_t x52 = (x51 >> 0x1b); + uint32_t x53 = ((uint32_t)x51 & 0x7ffffff); + uint64_t x54 = (x52 + x34); + uint64_t x55 = (x54 >> 0x1a); + uint32_t x56 = ((uint32_t)x54 & 0x3ffffff); + uint64_t x57 = (x55 + x33); + uint32_t x58 = (uint32_t) (x57 >> 0x1b); + uint32_t x59 = ((uint32_t)x57 & 0x7ffffff); + uint64_t x60 = (x58 + x32); + uint32_t x61 = (uint32_t) (x60 >> 0x1a); + uint32_t x62 = ((uint32_t)x60 & 0x3ffffff); + uint64_t x63 = (x41 + ((uint64_t)0x1d * x61)); + uint32_t x64 = (uint32_t) (x63 >> 0x1b); + uint32_t x65 = ((uint32_t)x63 & 0x7ffffff); + uint32_t x66 = (x64 + x44); + uint32_t x67 = (x66 >> 0x1a); + uint32_t x68 = (x66 & 0x3ffffff); + return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65)) (x, x0)%core - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e212m29/fesquareDisplay.log b/src/Specific/solinas32_2e212m29/fesquareDisplay.log index 67201bdcb..f12070469 100644 --- a/src/Specific/solinas32_2e212m29/fesquareDisplay.log +++ b/src/Specific/solinas32_2e212m29/fesquareDisplay.log @@ -1,52 +1,44 @@ -λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x19 = (uint64_t) x2 * x17 + (0x2 * ((uint64_t) x4 * x18) + (0x2 * ((uint64_t) x6 * x16) + (0x2 * ((uint64_t) x8 * x14) + ((uint64_t) x10 * x12 + ((uint64_t) x12 * x10 + (0x2 * ((uint64_t) x14 * x8) + (0x2 * ((uint64_t) x16 * x6) + (0x2 * ((uint64_t) x18 * x4) + (uint64_t) x17 * x2)))))))); - uint64_t x20 = (uint64_t) x2 * x18 + (0x2 * ((uint64_t) x4 * x16) + (0x2 * ((uint64_t) x6 * x14) + ((uint64_t) x8 * x12 + ((uint64_t) x10 * x10 + ((uint64_t) x12 * x8 + (0x2 * ((uint64_t) x14 * x6) + (0x2 * ((uint64_t) x16 * x4) + (uint64_t) x18 * x2))))))) + 0x1d * ((uint64_t) x17 * x17); - uint64_t x21 = (uint64_t) x2 * x16 + (0x2 * ((uint64_t) x4 * x14) + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + (0x2 * ((uint64_t) x14 * x4) + (uint64_t) x16 * x2)))))) + 0x1d * ((uint64_t) x18 * x17 + (uint64_t) x17 * x18); - uint64_t x22 = (uint64_t) x2 * x14 + ((uint64_t) x4 * x12 + ((uint64_t) x6 * x10 + ((uint64_t) x8 * x8 + ((uint64_t) x10 * x6 + ((uint64_t) x12 * x4 + (uint64_t) x14 * x2))))) + 0x1d * ((uint64_t) x16 * x17 + ((uint64_t) x18 * x18 + (uint64_t) x17 * x16)); - uint64_t x23 = (uint64_t) x2 * x12 + (0x2 * ((uint64_t) x4 * x10) + (0x2 * ((uint64_t) x6 * x8) + (0x2 * ((uint64_t) x8 * x6) + (0x2 * ((uint64_t) x10 * x4) + (uint64_t) x12 * x2)))) + 0x1d * (0x2 * ((uint64_t) x14 * x17) + (0x2 * ((uint64_t) x16 * x18) + (0x2 * ((uint64_t) x18 * x16) + 0x2 * ((uint64_t) x17 * x14)))); - uint64_t x24 = (uint64_t) x2 * x10 + (0x2 * ((uint64_t) x4 * x8) + (0x2 * ((uint64_t) x6 * x6) + (0x2 * ((uint64_t) x8 * x4) + (uint64_t) x10 * x2))) + 0x1d * ((uint64_t) x12 * x17 + (0x2 * ((uint64_t) x14 * x18) + (0x2 * ((uint64_t) x16 * x16) + (0x2 * ((uint64_t) x18 * x14) + (uint64_t) x17 * x12)))); - uint64_t x25 = (uint64_t) x2 * x8 + (0x2 * ((uint64_t) x4 * x6) + (0x2 * ((uint64_t) x6 * x4) + (uint64_t) x8 * x2)) + 0x1d * ((uint64_t) x10 * x17 + ((uint64_t) x12 * x18 + (0x2 * ((uint64_t) x14 * x16) + (0x2 * ((uint64_t) x16 * x14) + ((uint64_t) x18 * x12 + (uint64_t) x17 * x10))))); - uint64_t x26 = (uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2) + 0x1d * ((uint64_t) x8 * x17 + ((uint64_t) x10 * x18 + ((uint64_t) x12 * x16 + (0x2 * ((uint64_t) x14 * x14) + ((uint64_t) x16 * x12 + ((uint64_t) x18 * x10 + (uint64_t) x17 * x8)))))); - uint64_t x27 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x1d * ((uint64_t) x6 * x17 + ((uint64_t) x8 * x18 + ((uint64_t) x10 * x16 + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + ((uint64_t) x16 * x10 + ((uint64_t) x18 * x8 + (uint64_t) x17 * x6))))))); - uint64_t x28 = (uint64_t) x2 * x2 + 0x1d * (0x2 * ((uint64_t) x4 * x17) + (0x2 * ((uint64_t) x6 * x18) + (0x2 * ((uint64_t) x8 * x16) + (0x2 * ((uint64_t) x10 * x14) + ((uint64_t) x12 * x12 + (0x2 * ((uint64_t) x14 * x10) + (0x2 * ((uint64_t) x16 * x8) + (0x2 * ((uint64_t) x18 * x6) + 0x2 * ((uint64_t) x17 * x4))))))))); - uint32_t x29 = (uint32_t) (x28 >> 0x16); - uint32_t x30 = (uint32_t) x28 & 0x3fffff; - uint64_t x31 = x29 + x27; - uint32_t x32 = (uint32_t) (x31 >> 0x15); - uint32_t x33 = (uint32_t) x31 & 0x1fffff; - uint64_t x34 = x32 + x26; - uint32_t x35 = (uint32_t) (x34 >> 0x15); - uint32_t x36 = (uint32_t) x34 & 0x1fffff; - uint64_t x37 = x35 + x25; - uint32_t x38 = (uint32_t) (x37 >> 0x15); - uint32_t x39 = (uint32_t) x37 & 0x1fffff; - uint64_t x40 = x38 + x24; - uint32_t x41 = (uint32_t) (x40 >> 0x15); - uint32_t x42 = (uint32_t) x40 & 0x1fffff; - uint64_t x43 = x41 + x23; - uint32_t x44 = (uint32_t) (x43 >> 0x16); - uint32_t x45 = (uint32_t) x43 & 0x3fffff; - uint64_t x46 = x44 + x22; - uint32_t x47 = (uint32_t) (x46 >> 0x15); - uint32_t x48 = (uint32_t) x46 & 0x1fffff; - uint64_t x49 = x47 + x21; - uint32_t x50 = (uint32_t) (x49 >> 0x15); - uint32_t x51 = (uint32_t) x49 & 0x1fffff; - uint64_t x52 = x50 + x20; - uint32_t x53 = (uint32_t) (x52 >> 0x15); - uint32_t x54 = (uint32_t) x52 & 0x1fffff; - uint64_t x55 = x53 + x19; - uint32_t x56 = (uint32_t) (x55 >> 0x15); - uint32_t x57 = (uint32_t) x55 & 0x1fffff; - uint32_t x58 = x30 + 0x1d * x56; - uint32_t x59 = x58 >> 0x16; - uint32_t x60 = x58 & 0x3fffff; - uint32_t x61 = x59 + x33; - uint32_t x62 = x61 >> 0x15; - uint32_t x63 = x61 & 0x1fffff; - return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, x62 + x36, Return x63, Return x60)) + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x15 = (((uint64_t)x2 * x13) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x13 * x2)))))))); + uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x1d * (0x2 * ((uint64_t)x13 * x13)))); + uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x1d * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14)))); + uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x1d * ((0x2 * ((uint64_t)x12 * x13)) + (((uint64_t)x14 * x14) + (0x2 * ((uint64_t)x13 * x12)))))); + uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x1d * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10)))))); + uint64_t x20 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x1d * ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8)))))))); + uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1d * (((uint64_t)x6 * x13) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x13 * x6)))))))); + uint64_t x22 = (((uint64_t)x2 * x2) + (0x1d * ((0x2 * ((uint64_t)x4 * x13)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + (0x2 * ((uint64_t)x13 * x4)))))))))); + uint64_t x23 = (x22 >> 0x1b); + uint32_t x24 = ((uint32_t)x22 & 0x7ffffff); + uint64_t x25 = (x23 + x21); + uint64_t x26 = (x25 >> 0x1a); + uint32_t x27 = ((uint32_t)x25 & 0x3ffffff); + uint64_t x28 = (x26 + x20); + uint64_t x29 = (x28 >> 0x1b); + uint32_t x30 = ((uint32_t)x28 & 0x7ffffff); + uint64_t x31 = (x29 + x19); + uint64_t x32 = (x31 >> 0x1a); + uint32_t x33 = ((uint32_t)x31 & 0x3ffffff); + uint64_t x34 = (x32 + x18); + uint64_t x35 = (x34 >> 0x1b); + uint32_t x36 = ((uint32_t)x34 & 0x7ffffff); + uint64_t x37 = (x35 + x17); + uint64_t x38 = (x37 >> 0x1a); + uint32_t x39 = ((uint32_t)x37 & 0x3ffffff); + uint64_t x40 = (x38 + x16); + uint32_t x41 = (uint32_t) (x40 >> 0x1b); + uint32_t x42 = ((uint32_t)x40 & 0x7ffffff); + uint64_t x43 = (x41 + x15); + uint32_t x44 = (uint32_t) (x43 >> 0x1a); + uint32_t x45 = ((uint32_t)x43 & 0x3ffffff); + uint64_t x46 = (x24 + ((uint64_t)0x1d * x44)); + uint32_t x47 = (uint32_t) (x46 >> 0x1b); + uint32_t x48 = ((uint32_t)x46 & 0x7ffffff); + uint32_t x49 = (x47 + x27); + uint32_t x50 = (x49 >> 0x1a); + uint32_t x51 = (x49 & 0x3ffffff); + return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48)) x - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e212m29/freezeDisplay.log b/src/Specific/solinas32_2e212m29/freezeDisplay.log index 1d6a6f631..ba04304d7 100644 --- a/src/Specific/solinas32_2e212m29/freezeDisplay.log +++ b/src/Specific/solinas32_2e212m29/freezeDisplay.log @@ -1,38 +1,32 @@ -λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffe3); - uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x1fffff); - uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x1fffff); - uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x1fffff); - uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x1fffff); - uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x3fffff); - uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x1fffff); - uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x1fffff); - uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x1fffff); - uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x1fffff); - uint32_t x49 = (uint32_t)cmovznz(x48, 0x0, 0xffffffff); - uint32_t x50 = x49 & 0x3fffe3; - uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50); - uint32_t x54 = x49 & 0x1fffff; - uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54); - uint32_t x58 = x49 & 0x1fffff; - uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58); - uint32_t x62 = x49 & 0x1fffff; - uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62); - uint32_t x66 = x49 & 0x1fffff; - uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66); - uint32_t x70 = x49 & 0x3fffff; - uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70); - uint32_t x74 = x49 & 0x1fffff; - uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74); - uint32_t x78 = x49 & 0x1fffff; - uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78); - uint32_t x82 = x49 & 0x1fffff; - uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82); - uint32_t x86 = x49 & 0x1fffff; - uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86); - (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffe3); + uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x3ffffff); + uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x7ffffff); + uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x3ffffff); + uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x7ffffff); + uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x3ffffff); + uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x7ffffff); + uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x3ffffff); + uint32_t x39 = (uint32_t)cmovznz(x38, 0x0, 0xffffffff); + uint32_t x40 = (x39 & 0x7ffffe3); + uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40); + uint32_t x44 = (x39 & 0x3ffffff); + uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); + uint32_t x48 = (x39 & 0x7ffffff); + uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); + uint32_t x52 = (x39 & 0x3ffffff); + uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); + uint32_t x56 = (x39 & 0x7ffffff); + uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); + uint32_t x60 = (x39 & 0x3ffffff); + uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); + uint32_t x64 = (x39 & 0x7ffffff); + uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); + uint32_t x68 = (x39 & 0x3ffffff); + uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e216m2e108m1/femulDisplay.log b/src/Specific/solinas32_2e216m2e108m1/femulDisplay.log new file mode 100644 index 000000000..7b6dabf8b --- /dev/null +++ b/src/Specific/solinas32_2e216m2e108m1/femulDisplay.log @@ -0,0 +1,61 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x32 = (((uint64_t)(x11 + x16) * (x25 + x30)) - ((uint64_t)x11 * x25)); + uint64_t x33 = ((((uint64_t)(x9 + x17) * (x25 + x30)) + ((uint64_t)(x11 + x16) * (x23 + x31))) - (((uint64_t)x9 * x25) + ((uint64_t)x11 * x23))); + uint64_t x34 = ((((uint64_t)(x7 + x15) * (x25 + x30)) + (((uint64_t)(x9 + x17) * (x23 + x31)) + ((uint64_t)(x11 + x16) * (x21 + x29)))) - (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21)))); + uint64_t x35 = ((((uint64_t)(x5 + x13) * (x25 + x30)) + (((uint64_t)(x7 + x15) * (x23 + x31)) + (((uint64_t)(x9 + x17) * (x21 + x29)) + ((uint64_t)(x11 + x16) * (x19 + x27))))) - (((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19))))); + uint64_t x36 = ((((uint64_t)(x5 + x13) * (x23 + x31)) + (((uint64_t)(x7 + x15) * (x21 + x29)) + ((uint64_t)(x9 + x17) * (x19 + x27)))) - (((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19)))); + uint64_t x37 = ((((uint64_t)(x5 + x13) * (x21 + x29)) + ((uint64_t)(x7 + x15) * (x19 + x27))) - (((uint64_t)x5 * x21) + ((uint64_t)x7 * x19))); + uint64_t x38 = (((uint64_t)(x5 + x13) * (x19 + x27)) - ((uint64_t)x5 * x19)); + uint64_t x39 = (((((uint64_t)x11 * x25) + ((uint64_t)x16 * x30)) + x36) + x32); + uint64_t x40 = ((((((uint64_t)x9 * x25) + ((uint64_t)x11 * x23)) + (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))) + x37) + x33); + uint64_t x41 = ((((((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21))) + (((uint64_t)x15 * x30) + (((uint64_t)x17 * x31) + ((uint64_t)x16 * x29)))) + x38) + x34); + uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))); + uint64_t x43 = (((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((uint64_t)x17 * x27)))) + x32); + uint64_t x44 = (((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27))) + x33); + uint64_t x45 = ((((uint64_t)x5 * x19) + ((uint64_t)x13 * x27)) + x34); + uint32_t x46 = (uint32_t) (x42 >> 0x1b); + uint32_t x47 = ((uint32_t)x42 & 0x7ffffff); + uint32_t x48 = (uint32_t) (x35 >> 0x1b); + uint32_t x49 = ((uint32_t)x35 & 0x7ffffff); + uint64_t x50 = (((uint64_t)0x8000000 * x48) + x49); + uint32_t x51 = (uint32_t) (x50 >> 0x1b); + uint32_t x52 = ((uint32_t)x50 & 0x7ffffff); + uint64_t x53 = ((x46 + x41) + x51); + uint32_t x54 = (uint32_t) (x53 >> 0x1b); + uint32_t x55 = ((uint32_t)x53 & 0x7ffffff); + uint64_t x56 = (x45 + x51); + uint32_t x57 = (uint32_t) (x56 >> 0x1b); + uint32_t x58 = ((uint32_t)x56 & 0x7ffffff); + uint64_t x59 = (x54 + x40); + uint32_t x60 = (uint32_t) (x59 >> 0x1b); + uint32_t x61 = ((uint32_t)x59 & 0x7ffffff); + uint64_t x62 = (x57 + x44); + uint32_t x63 = (uint32_t) (x62 >> 0x1b); + uint32_t x64 = ((uint32_t)x62 & 0x7ffffff); + uint64_t x65 = (x60 + x39); + uint32_t x66 = (uint32_t) (x65 >> 0x1b); + uint32_t x67 = ((uint32_t)x65 & 0x7ffffff); + uint64_t x68 = (x63 + x43); + uint32_t x69 = (uint32_t) (x68 >> 0x1b); + uint32_t x70 = ((uint32_t)x68 & 0x7ffffff); + uint32_t x71 = (x66 + x52); + uint32_t x72 = (x71 >> 0x1b); + uint32_t x73 = (x71 & 0x7ffffff); + uint32_t x74 = (x69 + x47); + uint32_t x75 = (x74 >> 0x1b); + uint32_t x76 = (x74 & 0x7ffffff); + uint32_t x77 = ((0x8000000 * x72) + x73); + uint32_t x78 = (x77 >> 0x1b); + uint32_t x79 = (x77 & 0x7ffffff); + uint32_t x80 = ((x75 + x55) + x78); + uint32_t x81 = (x80 >> 0x1b); + uint32_t x82 = (x80 & 0x7ffffff); + uint32_t x83 = (x58 + x78); + uint32_t x84 = (x83 >> 0x1b); + uint32_t x85 = (x83 & 0x7ffffff); + return (Return x79, Return x67, (x81 + x61), Return x82, Return x76, Return x70, (x84 + x64), Return x85)) +(x, x0)%core + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e216m2e108m1/fesquareDisplay.log b/src/Specific/solinas32_2e216m2e108m1/fesquareDisplay.log new file mode 100644 index 000000000..cf4251bfb --- /dev/null +++ b/src/Specific/solinas32_2e216m2e108m1/fesquareDisplay.log @@ -0,0 +1,61 @@ +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x15 = (((uint64_t)(x8 + x13) * (x8 + x13)) - ((uint64_t)x8 * x8)); + uint64_t x16 = ((((uint64_t)(x6 + x14) * (x8 + x13)) + ((uint64_t)(x8 + x13) * (x6 + x14))) - (((uint64_t)x6 * x8) + ((uint64_t)x8 * x6))); + uint64_t x17 = ((((uint64_t)(x4 + x12) * (x8 + x13)) + (((uint64_t)(x6 + x14) * (x6 + x14)) + ((uint64_t)(x8 + x13) * (x4 + x12)))) - (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + ((uint64_t)x8 * x4)))); + uint64_t x18 = ((((uint64_t)(x2 + x10) * (x8 + x13)) + (((uint64_t)(x4 + x12) * (x6 + x14)) + (((uint64_t)(x6 + x14) * (x4 + x12)) + ((uint64_t)(x8 + x13) * (x2 + x10))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2))))); + uint64_t x19 = ((((uint64_t)(x2 + x10) * (x6 + x14)) + (((uint64_t)(x4 + x12) * (x4 + x12)) + ((uint64_t)(x6 + x14) * (x2 + x10)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2)))); + uint64_t x20 = ((((uint64_t)(x2 + x10) * (x4 + x12)) + ((uint64_t)(x4 + x12) * (x2 + x10))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2))); + uint64_t x21 = (((uint64_t)(x2 + x10) * (x2 + x10)) - ((uint64_t)x2 * x2)); + uint64_t x22 = (((((uint64_t)x8 * x8) + ((uint64_t)x13 * x13)) + x19) + x15); + uint64_t x23 = ((((((uint64_t)x6 * x8) + ((uint64_t)x8 * x6)) + (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))) + x20) + x16); + uint64_t x24 = ((((((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + ((uint64_t)x8 * x4))) + (((uint64_t)x12 * x13) + (((uint64_t)x14 * x14) + ((uint64_t)x13 * x12)))) + x21) + x17); + uint64_t x25 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))); + uint64_t x26 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + ((uint64_t)x14 * x10)))) + x15); + uint64_t x27 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x10 * x12) + ((uint64_t)x12 * x10))) + x16); + uint64_t x28 = ((((uint64_t)x2 * x2) + ((uint64_t)x10 * x10)) + x17); + uint32_t x29 = (uint32_t) (x25 >> 0x1b); + uint32_t x30 = ((uint32_t)x25 & 0x7ffffff); + uint32_t x31 = (uint32_t) (x18 >> 0x1b); + uint32_t x32 = ((uint32_t)x18 & 0x7ffffff); + uint64_t x33 = (((uint64_t)0x8000000 * x31) + x32); + uint32_t x34 = (uint32_t) (x33 >> 0x1b); + uint32_t x35 = ((uint32_t)x33 & 0x7ffffff); + uint64_t x36 = ((x29 + x24) + x34); + uint32_t x37 = (uint32_t) (x36 >> 0x1b); + uint32_t x38 = ((uint32_t)x36 & 0x7ffffff); + uint64_t x39 = (x28 + x34); + uint32_t x40 = (uint32_t) (x39 >> 0x1b); + uint32_t x41 = ((uint32_t)x39 & 0x7ffffff); + uint64_t x42 = (x37 + x23); + uint32_t x43 = (uint32_t) (x42 >> 0x1b); + uint32_t x44 = ((uint32_t)x42 & 0x7ffffff); + uint64_t x45 = (x40 + x27); + uint32_t x46 = (uint32_t) (x45 >> 0x1b); + uint32_t x47 = ((uint32_t)x45 & 0x7ffffff); + uint64_t x48 = (x43 + x22); + uint32_t x49 = (uint32_t) (x48 >> 0x1b); + uint32_t x50 = ((uint32_t)x48 & 0x7ffffff); + uint64_t x51 = (x46 + x26); + uint32_t x52 = (uint32_t) (x51 >> 0x1b); + uint32_t x53 = ((uint32_t)x51 & 0x7ffffff); + uint32_t x54 = (x49 + x35); + uint32_t x55 = (x54 >> 0x1b); + uint32_t x56 = (x54 & 0x7ffffff); + uint32_t x57 = (x52 + x30); + uint32_t x58 = (x57 >> 0x1b); + uint32_t x59 = (x57 & 0x7ffffff); + uint32_t x60 = ((0x8000000 * x55) + x56); + uint32_t x61 = (x60 >> 0x1b); + uint32_t x62 = (x60 & 0x7ffffff); + uint32_t x63 = ((x58 + x38) + x61); + uint32_t x64 = (x63 >> 0x1b); + uint32_t x65 = (x63 & 0x7ffffff); + uint32_t x66 = (x41 + x61); + uint32_t x67 = (x66 >> 0x1b); + uint32_t x68 = (x66 & 0x7ffffff); + return (Return x62, Return x50, (x64 + x44), Return x65, Return x59, Return x53, (x67 + x47), Return x68)) +x + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e216m2e108m1/freezeDisplay.log b/src/Specific/solinas32_2e216m2e108m1/freezeDisplay.log index ddebf381f..a324e292b 100644 --- a/src/Specific/solinas32_2e216m2e108m1/freezeDisplay.log +++ b/src/Specific/solinas32_2e216m2e108m1/freezeDisplay.log @@ -11,21 +11,21 @@ Interp-η uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x7ffffff); uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x7ffffff); uint32_t x39 = (uint32_t)cmovznz(x38, 0x0, 0xffffffff); - uint32_t x40 = x39 & 0x7ffffff; + uint32_t x40 = (x39 & 0x7ffffff); uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40); - uint32_t x44 = x39 & 0x7ffffff; + uint32_t x44 = (x39 & 0x7ffffff); uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); - uint32_t x48 = x39 & 0x7ffffff; + uint32_t x48 = (x39 & 0x7ffffff); uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); - uint32_t x52 = x39 & 0x7ffffff; + uint32_t x52 = (x39 & 0x7ffffff); uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); - uint32_t x56 = x39 & 0x7fffffe; + uint32_t x56 = (x39 & 0x7fffffe); uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); - uint32_t x60 = x39 & 0x7ffffff; + uint32_t x60 = (x39 & 0x7ffffff); uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); - uint32_t x64 = x39 & 0x7ffffff; + uint32_t x64 = (x39 & 0x7ffffff); uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); - uint32_t x68 = x39 & 0x7ffffff; + uint32_t x68 = (x39 & 0x7ffffff); uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x diff --git a/src/Specific/solinas32_2e224m2e96p1/freezeDisplay.log b/src/Specific/solinas32_2e224m2e96p1/freezeDisplay.log index 4d1f8caef..b63426559 100644 --- a/src/Specific/solinas32_2e224m2e96p1/freezeDisplay.log +++ b/src/Specific/solinas32_2e224m2e96p1/freezeDisplay.log @@ -11,19 +11,19 @@ Interp-η uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0xfffffff); uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0xfffffff); uint32_t x39 = (uint32_t)cmovznz(x38, 0x0, 0xffffffff); - uint8_t x40 = (uint8_t) x39 & 0x1; + uint8_t x40 = ((uint8_t)x39 & 0x1); uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40); uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, 0x0); uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x22, 0x0); - uint32_t x50 = x39 & 0xffff000; + uint32_t x50 = (x39 & 0xffff000); uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x25, Return x50); - uint32_t x54 = x39 & 0xfffffff; + uint32_t x54 = (x39 & 0xfffffff); uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x28, Return x54); - uint32_t x58 = x39 & 0xfffffff; + uint32_t x58 = (x39 & 0xfffffff); uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x31, Return x58); - uint32_t x62 = x39 & 0xfffffff; + uint32_t x62 = (x39 & 0xfffffff); uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x34, Return x62); - uint32_t x66 = x39 & 0xfffffff; + uint32_t x66 = (x39 & 0xfffffff); uint32_t x68, uint8_t _ = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x37, Return x66); (Return x68, Return x64, Return x60, Return x56, Return x52, Return x48, Return x45, Return x42)) x diff --git a/src/Specific/solinas32_2e226m5/femulDisplay.log b/src/Specific/solinas32_2e226m5/femulDisplay.log index 2c5f3f045..d0e7f1344 100644 --- a/src/Specific/solinas32_2e226m5/femulDisplay.log +++ b/src/Specific/solinas32_2e226m5/femulDisplay.log @@ -1,48 +1,44 @@ -λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - uint64_t x36 = (uint64_t) x5 * x34 + (0x2 * ((uint64_t) x7 * x35) + (0x2 * ((uint64_t) x9 * x33) + (0x2 * ((uint64_t) x11 * x31) + (0x2 * ((uint64_t) x13 * x29) + (0x2 * ((uint64_t) x15 * x27) + (0x2 * ((uint64_t) x17 * x25) + (0x2 * ((uint64_t) x19 * x23) + (uint64_t) x18 * x21))))))); - uint64_t x37 = (uint64_t) x5 * x35 + (0x2 * ((uint64_t) x7 * x33) + (0x2 * ((uint64_t) x9 * x31) + (0x2 * ((uint64_t) x11 * x29) + (0x2 * ((uint64_t) x13 * x27) + (0x2 * ((uint64_t) x15 * x25) + (0x2 * ((uint64_t) x17 * x23) + (uint64_t) x19 * x21)))))) + 0x5 * ((uint64_t) x18 * x34); - uint64_t x38 = (uint64_t) x5 * x33 + (0x2 * ((uint64_t) x7 * x31) + (0x2 * ((uint64_t) x9 * x29) + (0x2 * ((uint64_t) x11 * x27) + (0x2 * ((uint64_t) x13 * x25) + (0x2 * ((uint64_t) x15 * x23) + (uint64_t) x17 * x21))))) + 0x5 * ((uint64_t) x19 * x34 + (uint64_t) x18 * x35); - uint64_t x39 = (uint64_t) x5 * x31 + (0x2 * ((uint64_t) x7 * x29) + (0x2 * ((uint64_t) x9 * x27) + (0x2 * ((uint64_t) x11 * x25) + (0x2 * ((uint64_t) x13 * x23) + (uint64_t) x15 * x21)))) + 0x5 * ((uint64_t) x17 * x34 + ((uint64_t) x19 * x35 + (uint64_t) x18 * x33)); - uint64_t x40 = (uint64_t) x5 * x29 + (0x2 * ((uint64_t) x7 * x27) + (0x2 * ((uint64_t) x9 * x25) + (0x2 * ((uint64_t) x11 * x23) + (uint64_t) x13 * x21))) + 0x5 * ((uint64_t) x15 * x34 + ((uint64_t) x17 * x35 + ((uint64_t) x19 * x33 + (uint64_t) x18 * x31))); - uint64_t x41 = (uint64_t) x5 * x27 + (0x2 * ((uint64_t) x7 * x25) + (0x2 * ((uint64_t) x9 * x23) + (uint64_t) x11 * x21)) + 0x5 * ((uint64_t) x13 * x34 + ((uint64_t) x15 * x35 + ((uint64_t) x17 * x33 + ((uint64_t) x19 * x31 + (uint64_t) x18 * x29)))); - uint64_t x42 = (uint64_t) x5 * x25 + (0x2 * ((uint64_t) x7 * x23) + (uint64_t) x9 * x21) + 0x5 * ((uint64_t) x11 * x34 + ((uint64_t) x13 * x35 + ((uint64_t) x15 * x33 + ((uint64_t) x17 * x31 + ((uint64_t) x19 * x29 + (uint64_t) x18 * x27))))); - uint64_t x43 = (uint64_t) x5 * x23 + (uint64_t) x7 * x21 + 0x5 * ((uint64_t) x9 * x34 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + ((uint64_t) x15 * x31 + ((uint64_t) x17 * x29 + ((uint64_t) x19 * x27 + (uint64_t) x18 * x25)))))); - uint64_t x44 = (uint64_t) x5 * x21 + 0x5 * (0x2 * ((uint64_t) x7 * x34) + (0x2 * ((uint64_t) x9 * x35) + (0x2 * ((uint64_t) x11 * x33) + (0x2 * ((uint64_t) x13 * x31) + (0x2 * ((uint64_t) x15 * x29) + (0x2 * ((uint64_t) x17 * x27) + (0x2 * ((uint64_t) x19 * x25) + 0x2 * ((uint64_t) x18 * x23)))))))); - uint32_t x45 = (uint32_t) (x44 >> 0x1a); - uint32_t x46 = (uint32_t) x44 & 0x3ffffff; - uint64_t x47 = x45 + x43; - uint32_t x48 = (uint32_t) (x47 >> 0x19); - uint32_t x49 = (uint32_t) x47 & 0x1ffffff; - uint64_t x50 = x48 + x42; - uint32_t x51 = (uint32_t) (x50 >> 0x19); - uint32_t x52 = (uint32_t) x50 & 0x1ffffff; - uint64_t x53 = x51 + x41; - uint32_t x54 = (uint32_t) (x53 >> 0x19); - uint32_t x55 = (uint32_t) x53 & 0x1ffffff; - uint64_t x56 = x54 + x40; - uint32_t x57 = (uint32_t) (x56 >> 0x19); - uint32_t x58 = (uint32_t) x56 & 0x1ffffff; - uint64_t x59 = x57 + x39; - uint32_t x60 = (uint32_t) (x59 >> 0x19); - uint32_t x61 = (uint32_t) x59 & 0x1ffffff; - uint64_t x62 = x60 + x38; - uint32_t x63 = (uint32_t) (x62 >> 0x19); - uint32_t x64 = (uint32_t) x62 & 0x1ffffff; - uint64_t x65 = x63 + x37; - uint32_t x66 = (uint32_t) (x65 >> 0x19); - uint32_t x67 = (uint32_t) x65 & 0x1ffffff; - uint64_t x68 = x66 + x36; - uint32_t x69 = (uint32_t) (x68 >> 0x19); - uint32_t x70 = (uint32_t) x68 & 0x1ffffff; - uint32_t x71 = x46 + 0x5 * x69; - uint32_t x72 = x71 >> 0x1a; - uint32_t x73 = x71 & 0x3ffffff; - uint32_t x74 = x72 + x49; - uint32_t x75 = x74 >> 0x19; - uint32_t x76 = x74 & 0x1ffffff; - return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, x75 + x52, Return x76, Return x73)) + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint64_t x32 = (((uint64_t)x5 * x30) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + ((0x2 * ((uint64_t)x17 * x21)) + ((uint64_t)x16 * x19)))))))); + uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x5 * ((uint64_t)x16 * x30))); + uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x5 * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31)))); + uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x5 * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29)))))); + uint64_t x36 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((uint64_t)x11 * x19)))) + (0x5 * (((uint64_t)x13 * x30) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + ((uint64_t)x16 * x27)))))); + uint64_t x37 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((uint64_t)x9 * x19))) + (0x5 * (((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25))))))); + uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x5 * (((uint64_t)x9 * x30) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x16 * x23)))))))); + uint64_t x39 = (((uint64_t)x5 * x19) + (0x5 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21)))))))))); + uint64_t x40 = (x39 >> 0x1d); + uint32_t x41 = ((uint32_t)x39 & 0x1fffffff); + uint64_t x42 = (x40 + x38); + uint64_t x43 = (x42 >> 0x1c); + uint32_t x44 = ((uint32_t)x42 & 0xfffffff); + uint64_t x45 = (x43 + x37); + uint64_t x46 = (x45 >> 0x1c); + uint32_t x47 = ((uint32_t)x45 & 0xfffffff); + uint64_t x48 = (x46 + x36); + uint64_t x49 = (x48 >> 0x1c); + uint32_t x50 = ((uint32_t)x48 & 0xfffffff); + uint64_t x51 = (x49 + x35); + uint64_t x52 = (x51 >> 0x1d); + uint32_t x53 = ((uint32_t)x51 & 0x1fffffff); + uint64_t x54 = (x52 + x34); + uint64_t x55 = (x54 >> 0x1c); + uint32_t x56 = ((uint32_t)x54 & 0xfffffff); + uint64_t x57 = (x55 + x33); + uint64_t x58 = (x57 >> 0x1c); + uint32_t x59 = ((uint32_t)x57 & 0xfffffff); + uint64_t x60 = (x58 + x32); + uint64_t x61 = (x60 >> 0x1c); + uint32_t x62 = ((uint32_t)x60 & 0xfffffff); + uint64_t x63 = (x41 + (0x5 * x61)); + uint32_t x64 = (uint32_t) (x63 >> 0x1d); + uint32_t x65 = ((uint32_t)x63 & 0x1fffffff); + uint32_t x66 = (x64 + x44); + uint32_t x67 = (x66 >> 0x1c); + uint32_t x68 = (x66 & 0xfffffff); + return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65)) (x, x0)%core - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e226m5/fesquareDisplay.log b/src/Specific/solinas32_2e226m5/fesquareDisplay.log index 416ee6c50..da2fa814e 100644 --- a/src/Specific/solinas32_2e226m5/fesquareDisplay.log +++ b/src/Specific/solinas32_2e226m5/fesquareDisplay.log @@ -1,48 +1,44 @@ -λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x17 = (uint64_t) x2 * x15 + (0x2 * ((uint64_t) x4 * x16) + (0x2 * ((uint64_t) x6 * x14) + (0x2 * ((uint64_t) x8 * x12) + (0x2 * ((uint64_t) x10 * x10) + (0x2 * ((uint64_t) x12 * x8) + (0x2 * ((uint64_t) x14 * x6) + (0x2 * ((uint64_t) x16 * x4) + (uint64_t) x15 * x2))))))); - uint64_t x18 = (uint64_t) x2 * x16 + (0x2 * ((uint64_t) x4 * x14) + (0x2 * ((uint64_t) x6 * x12) + (0x2 * ((uint64_t) x8 * x10) + (0x2 * ((uint64_t) x10 * x8) + (0x2 * ((uint64_t) x12 * x6) + (0x2 * ((uint64_t) x14 * x4) + (uint64_t) x16 * x2)))))) + 0x5 * ((uint64_t) x15 * x15); - uint64_t x19 = (uint64_t) x2 * x14 + (0x2 * ((uint64_t) x4 * x12) + (0x2 * ((uint64_t) x6 * x10) + (0x2 * ((uint64_t) x8 * x8) + (0x2 * ((uint64_t) x10 * x6) + (0x2 * ((uint64_t) x12 * x4) + (uint64_t) x14 * x2))))) + 0x5 * ((uint64_t) x16 * x15 + (uint64_t) x15 * x16); - uint64_t x20 = (uint64_t) x2 * x12 + (0x2 * ((uint64_t) x4 * x10) + (0x2 * ((uint64_t) x6 * x8) + (0x2 * ((uint64_t) x8 * x6) + (0x2 * ((uint64_t) x10 * x4) + (uint64_t) x12 * x2)))) + 0x5 * ((uint64_t) x14 * x15 + ((uint64_t) x16 * x16 + (uint64_t) x15 * x14)); - uint64_t x21 = (uint64_t) x2 * x10 + (0x2 * ((uint64_t) x4 * x8) + (0x2 * ((uint64_t) x6 * x6) + (0x2 * ((uint64_t) x8 * x4) + (uint64_t) x10 * x2))) + 0x5 * ((uint64_t) x12 * x15 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + (uint64_t) x15 * x12))); - uint64_t x22 = (uint64_t) x2 * x8 + (0x2 * ((uint64_t) x4 * x6) + (0x2 * ((uint64_t) x6 * x4) + (uint64_t) x8 * x2)) + 0x5 * ((uint64_t) x10 * x15 + ((uint64_t) x12 * x16 + ((uint64_t) x14 * x14 + ((uint64_t) x16 * x12 + (uint64_t) x15 * x10)))); - uint64_t x23 = (uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2) + 0x5 * ((uint64_t) x8 * x15 + ((uint64_t) x10 * x16 + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + ((uint64_t) x16 * x10 + (uint64_t) x15 * x8))))); - uint64_t x24 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x5 * ((uint64_t) x6 * x15 + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + (uint64_t) x15 * x6)))))); - uint64_t x25 = (uint64_t) x2 * x2 + 0x5 * (0x2 * ((uint64_t) x4 * x15) + (0x2 * ((uint64_t) x6 * x16) + (0x2 * ((uint64_t) x8 * x14) + (0x2 * ((uint64_t) x10 * x12) + (0x2 * ((uint64_t) x12 * x10) + (0x2 * ((uint64_t) x14 * x8) + (0x2 * ((uint64_t) x16 * x6) + 0x2 * ((uint64_t) x15 * x4)))))))); - uint32_t x26 = (uint32_t) (x25 >> 0x1a); - uint32_t x27 = (uint32_t) x25 & 0x3ffffff; - uint64_t x28 = x26 + x24; - uint32_t x29 = (uint32_t) (x28 >> 0x19); - uint32_t x30 = (uint32_t) x28 & 0x1ffffff; - uint64_t x31 = x29 + x23; - uint32_t x32 = (uint32_t) (x31 >> 0x19); - uint32_t x33 = (uint32_t) x31 & 0x1ffffff; - uint64_t x34 = x32 + x22; - uint32_t x35 = (uint32_t) (x34 >> 0x19); - uint32_t x36 = (uint32_t) x34 & 0x1ffffff; - uint64_t x37 = x35 + x21; - uint32_t x38 = (uint32_t) (x37 >> 0x19); - uint32_t x39 = (uint32_t) x37 & 0x1ffffff; - uint64_t x40 = x38 + x20; - uint32_t x41 = (uint32_t) (x40 >> 0x19); - uint32_t x42 = (uint32_t) x40 & 0x1ffffff; - uint64_t x43 = x41 + x19; - uint32_t x44 = (uint32_t) (x43 >> 0x19); - uint32_t x45 = (uint32_t) x43 & 0x1ffffff; - uint64_t x46 = x44 + x18; - uint32_t x47 = (uint32_t) (x46 >> 0x19); - uint32_t x48 = (uint32_t) x46 & 0x1ffffff; - uint64_t x49 = x47 + x17; - uint32_t x50 = (uint32_t) (x49 >> 0x19); - uint32_t x51 = (uint32_t) x49 & 0x1ffffff; - uint32_t x52 = x27 + 0x5 * x50; - uint32_t x53 = x52 >> 0x1a; - uint32_t x54 = x52 & 0x3ffffff; - uint32_t x55 = x53 + x30; - uint32_t x56 = x55 >> 0x19; - uint32_t x57 = x55 & 0x1ffffff; - return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, x56 + x33, Return x57, Return x54)) + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x15 = (((uint64_t)x2 * x13) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x13 * x2)))))))); + uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x5 * ((uint64_t)x13 * x13))); + uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x5 * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14)))); + uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x5 * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12)))))); + uint64_t x19 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x5 * (((uint64_t)x10 * x13) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((uint64_t)x13 * x10)))))); + uint64_t x20 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x5 * (((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8))))))); + uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * (((uint64_t)x6 * x13) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x13 * x6)))))))); + uint64_t x22 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4)))))))))); + uint64_t x23 = (x22 >> 0x1d); + uint32_t x24 = ((uint32_t)x22 & 0x1fffffff); + uint64_t x25 = (x23 + x21); + uint64_t x26 = (x25 >> 0x1c); + uint32_t x27 = ((uint32_t)x25 & 0xfffffff); + uint64_t x28 = (x26 + x20); + uint64_t x29 = (x28 >> 0x1c); + uint32_t x30 = ((uint32_t)x28 & 0xfffffff); + uint64_t x31 = (x29 + x19); + uint64_t x32 = (x31 >> 0x1c); + uint32_t x33 = ((uint32_t)x31 & 0xfffffff); + uint64_t x34 = (x32 + x18); + uint64_t x35 = (x34 >> 0x1d); + uint32_t x36 = ((uint32_t)x34 & 0x1fffffff); + uint64_t x37 = (x35 + x17); + uint64_t x38 = (x37 >> 0x1c); + uint32_t x39 = ((uint32_t)x37 & 0xfffffff); + uint64_t x40 = (x38 + x16); + uint64_t x41 = (x40 >> 0x1c); + uint32_t x42 = ((uint32_t)x40 & 0xfffffff); + uint64_t x43 = (x41 + x15); + uint64_t x44 = (x43 >> 0x1c); + uint32_t x45 = ((uint32_t)x43 & 0xfffffff); + uint64_t x46 = (x24 + (0x5 * x44)); + uint32_t x47 = (uint32_t) (x46 >> 0x1d); + uint32_t x48 = ((uint32_t)x46 & 0x1fffffff); + uint32_t x49 = (x47 + x27); + uint32_t x50 = (x49 >> 0x1c); + uint32_t x51 = (x49 & 0xfffffff); + return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48)) x - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e226m5/freezeDisplay.log b/src/Specific/solinas32_2e226m5/freezeDisplay.log index 913dff283..bdf2266d4 100644 --- a/src/Specific/solinas32_2e226m5/freezeDisplay.log +++ b/src/Specific/solinas32_2e226m5/freezeDisplay.log @@ -1,35 +1,32 @@ -λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffb); - uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x1ffffff); - uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x1ffffff); - uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x1ffffff); - uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x1ffffff); - uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x1ffffff); - uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x1ffffff); - uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x1ffffff); - uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x1ffffff); - uint32_t x44 = (uint32_t)cmovznz(x43, 0x0, 0xffffffff); - uint32_t x45 = x44 & 0x3fffffb; - uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45); - uint32_t x49 = x44 & 0x1ffffff; - uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); - uint32_t x53 = x44 & 0x1ffffff; - uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); - uint32_t x57 = x44 & 0x1ffffff; - uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); - uint32_t x61 = x44 & 0x1ffffff; - uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); - uint32_t x65 = x44 & 0x1ffffff; - uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); - uint32_t x69 = x44 & 0x1ffffff; - uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); - uint32_t x73 = x44 & 0x1ffffff; - uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); - uint32_t x77 = x44 & 0x1ffffff; - uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); - (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 29 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffb); + uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0xfffffff); + uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0xfffffff); + uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0xfffffff); + uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 29 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x1fffffff); + uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0xfffffff); + uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0xfffffff); + uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0xfffffff); + uint32_t x39 = (uint32_t)cmovznz(x38, 0x0, 0xffffffff); + uint32_t x40 = (x39 & 0x1ffffffb); + uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40); + uint32_t x44 = (x39 & 0xfffffff); + uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); + uint32_t x48 = (x39 & 0xfffffff); + uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); + uint32_t x52 = (x39 & 0xfffffff); + uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); + uint32_t x56 = (x39 & 0x1fffffff); + uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); + uint32_t x60 = (x39 & 0xfffffff); + uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); + uint32_t x64 = (x39 & 0xfffffff); + uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); + uint32_t x68 = (x39 & 0xfffffff); + uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e235m15/femulDisplay.log b/src/Specific/solinas32_2e235m15/femulDisplay.log index d89807b53..d13c214eb 100644 --- a/src/Specific/solinas32_2e235m15/femulDisplay.log +++ b/src/Specific/solinas32_2e235m15/femulDisplay.log @@ -1,52 +1,48 @@ -λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, - uint64_t x40 = (uint64_t) x5 * x38 + ((uint64_t) x7 * x39 + ((uint64_t) x9 * x37 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + ((uint64_t) x15 * x31 + ((uint64_t) x17 * x29 + ((uint64_t) x19 * x27 + ((uint64_t) x21 * x25 + (uint64_t) x20 * x23)))))))); - uint64_t x41 = (uint64_t) x5 * x39 + (0x2 * ((uint64_t) x7 * x37) + ((uint64_t) x9 * x35 + (0x2 * ((uint64_t) x11 * x33) + ((uint64_t) x13 * x31 + (0x2 * ((uint64_t) x15 * x29) + ((uint64_t) x17 * x27 + (0x2 * ((uint64_t) x19 * x25) + (uint64_t) x21 * x23))))))) + 0xf * (0x2 * ((uint64_t) x20 * x38)); - uint64_t x42 = (uint64_t) x5 * x37 + ((uint64_t) x7 * x35 + ((uint64_t) x9 * x33 + ((uint64_t) x11 * x31 + ((uint64_t) x13 * x29 + ((uint64_t) x15 * x27 + ((uint64_t) x17 * x25 + (uint64_t) x19 * x23)))))) + 0xf * ((uint64_t) x21 * x38 + (uint64_t) x20 * x39); - uint64_t x43 = (uint64_t) x5 * x35 + (0x2 * ((uint64_t) x7 * x33) + ((uint64_t) x9 * x31 + (0x2 * ((uint64_t) x11 * x29) + ((uint64_t) x13 * x27 + (0x2 * ((uint64_t) x15 * x25) + (uint64_t) x17 * x23))))) + 0xf * (0x2 * ((uint64_t) x19 * x38) + ((uint64_t) x21 * x39 + 0x2 * ((uint64_t) x20 * x37))); - uint64_t x44 = (uint64_t) x5 * x33 + ((uint64_t) x7 * x31 + ((uint64_t) x9 * x29 + ((uint64_t) x11 * x27 + ((uint64_t) x13 * x25 + (uint64_t) x15 * x23)))) + 0xf * ((uint64_t) x17 * x38 + ((uint64_t) x19 * x39 + ((uint64_t) x21 * x37 + (uint64_t) x20 * x35))); - uint64_t x45 = (uint64_t) x5 * x31 + (0x2 * ((uint64_t) x7 * x29) + ((uint64_t) x9 * x27 + (0x2 * ((uint64_t) x11 * x25) + (uint64_t) x13 * x23))) + 0xf * (0x2 * ((uint64_t) x15 * x38) + ((uint64_t) x17 * x39 + (0x2 * ((uint64_t) x19 * x37) + ((uint64_t) x21 * x35 + 0x2 * ((uint64_t) x20 * x33))))); - uint64_t x46 = (uint64_t) x5 * x29 + ((uint64_t) x7 * x27 + ((uint64_t) x9 * x25 + (uint64_t) x11 * x23)) + 0xf * ((uint64_t) x13 * x38 + ((uint64_t) x15 * x39 + ((uint64_t) x17 * x37 + ((uint64_t) x19 * x35 + ((uint64_t) x21 * x33 + (uint64_t) x20 * x31))))); - uint64_t x47 = (uint64_t) x5 * x27 + (0x2 * ((uint64_t) x7 * x25) + (uint64_t) x9 * x23) + 0xf * (0x2 * ((uint64_t) x11 * x38) + ((uint64_t) x13 * x39 + (0x2 * ((uint64_t) x15 * x37) + ((uint64_t) x17 * x35 + (0x2 * ((uint64_t) x19 * x33) + ((uint64_t) x21 * x31 + 0x2 * ((uint64_t) x20 * x29))))))); - uint64_t x48 = (uint64_t) x5 * x25 + (uint64_t) x7 * x23 + 0xf * ((uint64_t) x9 * x38 + ((uint64_t) x11 * x39 + ((uint64_t) x13 * x37 + ((uint64_t) x15 * x35 + ((uint64_t) x17 * x33 + ((uint64_t) x19 * x31 + ((uint64_t) x21 * x29 + (uint64_t) x20 * x27))))))); - uint64_t x49 = (uint64_t) x5 * x23 + 0xf * (0x2 * ((uint64_t) x7 * x38) + ((uint64_t) x9 * x39 + (0x2 * ((uint64_t) x11 * x37) + ((uint64_t) x13 * x35 + (0x2 * ((uint64_t) x15 * x33) + ((uint64_t) x17 * x31 + (0x2 * ((uint64_t) x19 * x29) + ((uint64_t) x21 * x27 + 0x2 * ((uint64_t) x20 * x25))))))))); - uint32_t x50 = (uint32_t) (x49 >> 0x18); - uint32_t x51 = (uint32_t) x49 & 0xffffff; - uint64_t x52 = x50 + x48; - uint32_t x53 = (uint32_t) (x52 >> 0x17); - uint32_t x54 = (uint32_t) x52 & 0x7fffff; - uint64_t x55 = x53 + x47; - uint32_t x56 = (uint32_t) (x55 >> 0x18); - uint32_t x57 = (uint32_t) x55 & 0xffffff; - uint64_t x58 = x56 + x46; - uint32_t x59 = (uint32_t) (x58 >> 0x17); - uint32_t x60 = (uint32_t) x58 & 0x7fffff; - uint64_t x61 = x59 + x45; - uint32_t x62 = (uint32_t) (x61 >> 0x18); - uint32_t x63 = (uint32_t) x61 & 0xffffff; - uint64_t x64 = x62 + x44; - uint32_t x65 = (uint32_t) (x64 >> 0x17); - uint32_t x66 = (uint32_t) x64 & 0x7fffff; - uint64_t x67 = x65 + x43; - uint32_t x68 = (uint32_t) (x67 >> 0x18); - uint32_t x69 = (uint32_t) x67 & 0xffffff; - uint64_t x70 = x68 + x42; - uint32_t x71 = (uint32_t) (x70 >> 0x17); - uint32_t x72 = (uint32_t) x70 & 0x7fffff; - uint64_t x73 = x71 + x41; - uint32_t x74 = (uint32_t) (x73 >> 0x18); - uint32_t x75 = (uint32_t) x73 & 0xffffff; - uint64_t x76 = x74 + x40; - uint32_t x77 = (uint32_t) (x76 >> 0x17); - uint32_t x78 = (uint32_t) x76 & 0x7fffff; - uint32_t x79 = x51 + 0xf * x77; - uint32_t x80 = x79 >> 0x18; - uint32_t x81 = x79 & 0xffffff; - uint32_t x82 = x80 + x54; - uint32_t x83 = x82 >> 0x17; - uint32_t x84 = x82 & 0x7fffff; - return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, x83 + x57, Return x84, Return x81)) + λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, + uint64_t x36 = (((uint64_t)x5 * x34) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + ((0x2 * ((uint64_t)x17 * x25)) + ((0x2 * ((uint64_t)x19 * x23)) + ((uint64_t)x18 * x21))))))))); + uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0xf * ((uint64_t)x18 * x34))); + uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (0xf * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35)))); + uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0xf * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33))))); + uint64_t x40 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + ((uint64_t)x13 * x21))))) + (0xf * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31)))))); + uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0xf * (((uint64_t)x13 * x34) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x18 * x29))))))); + uint64_t x42 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((uint64_t)x9 * x21))) + (0xf * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27)))))))); + uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0xf * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25))))))))); + uint64_t x44 = (((uint64_t)x5 * x21) + (0xf * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23))))))))))); + uint64_t x45 = (x44 >> 0x1b); + uint32_t x46 = ((uint32_t)x44 & 0x7ffffff); + uint64_t x47 = (x45 + x43); + uint64_t x48 = (x47 >> 0x1a); + uint32_t x49 = ((uint32_t)x47 & 0x3ffffff); + uint64_t x50 = (x48 + x42); + uint64_t x51 = (x50 >> 0x1a); + uint32_t x52 = ((uint32_t)x50 & 0x3ffffff); + uint64_t x53 = (x51 + x41); + uint64_t x54 = (x53 >> 0x1a); + uint32_t x55 = ((uint32_t)x53 & 0x3ffffff); + uint64_t x56 = (x54 + x40); + uint64_t x57 = (x56 >> 0x1a); + uint32_t x58 = ((uint32_t)x56 & 0x3ffffff); + uint64_t x59 = (x57 + x39); + uint64_t x60 = (x59 >> 0x1a); + uint32_t x61 = ((uint32_t)x59 & 0x3ffffff); + uint64_t x62 = (x60 + x38); + uint32_t x63 = (uint32_t) (x62 >> 0x1a); + uint32_t x64 = ((uint32_t)x62 & 0x3ffffff); + uint64_t x65 = (x63 + x37); + uint32_t x66 = (uint32_t) (x65 >> 0x1a); + uint32_t x67 = ((uint32_t)x65 & 0x3ffffff); + uint64_t x68 = (x66 + x36); + uint32_t x69 = (uint32_t) (x68 >> 0x1a); + uint32_t x70 = ((uint32_t)x68 & 0x3ffffff); + uint64_t x71 = (x46 + ((uint64_t)0xf * x69)); + uint32_t x72 = (uint32_t) (x71 >> 0x1b); + uint32_t x73 = ((uint32_t)x71 & 0x7ffffff); + uint32_t x74 = (x72 + x49); + uint32_t x75 = (x74 >> 0x1a); + uint32_t x76 = (x74 & 0x3ffffff); + return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73)) (x, x0)%core - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e235m15/fesquareDisplay.log b/src/Specific/solinas32_2e235m15/fesquareDisplay.log index ed71a94a3..bd680dc9e 100644 --- a/src/Specific/solinas32_2e235m15/fesquareDisplay.log +++ b/src/Specific/solinas32_2e235m15/fesquareDisplay.log @@ -1,52 +1,48 @@ -λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x19 = (uint64_t) x2 * x17 + ((uint64_t) x4 * x18 + ((uint64_t) x6 * x16 + ((uint64_t) x8 * x14 + ((uint64_t) x10 * x12 + ((uint64_t) x12 * x10 + ((uint64_t) x14 * x8 + ((uint64_t) x16 * x6 + ((uint64_t) x18 * x4 + (uint64_t) x17 * x2)))))))); - uint64_t x20 = (uint64_t) x2 * x18 + (0x2 * ((uint64_t) x4 * x16) + ((uint64_t) x6 * x14 + (0x2 * ((uint64_t) x8 * x12) + ((uint64_t) x10 * x10 + (0x2 * ((uint64_t) x12 * x8) + ((uint64_t) x14 * x6 + (0x2 * ((uint64_t) x16 * x4) + (uint64_t) x18 * x2))))))) + 0xf * (0x2 * ((uint64_t) x17 * x17)); - uint64_t x21 = (uint64_t) x2 * x16 + ((uint64_t) x4 * x14 + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + ((uint64_t) x14 * x4 + (uint64_t) x16 * x2)))))) + 0xf * ((uint64_t) x18 * x17 + (uint64_t) x17 * x18); - uint64_t x22 = (uint64_t) x2 * x14 + (0x2 * ((uint64_t) x4 * x12) + ((uint64_t) x6 * x10 + (0x2 * ((uint64_t) x8 * x8) + ((uint64_t) x10 * x6 + (0x2 * ((uint64_t) x12 * x4) + (uint64_t) x14 * x2))))) + 0xf * (0x2 * ((uint64_t) x16 * x17) + ((uint64_t) x18 * x18 + 0x2 * ((uint64_t) x17 * x16))); - uint64_t x23 = (uint64_t) x2 * x12 + ((uint64_t) x4 * x10 + ((uint64_t) x6 * x8 + ((uint64_t) x8 * x6 + ((uint64_t) x10 * x4 + (uint64_t) x12 * x2)))) + 0xf * ((uint64_t) x14 * x17 + ((uint64_t) x16 * x18 + ((uint64_t) x18 * x16 + (uint64_t) x17 * x14))); - uint64_t x24 = (uint64_t) x2 * x10 + (0x2 * ((uint64_t) x4 * x8) + ((uint64_t) x6 * x6 + (0x2 * ((uint64_t) x8 * x4) + (uint64_t) x10 * x2))) + 0xf * (0x2 * ((uint64_t) x12 * x17) + ((uint64_t) x14 * x18 + (0x2 * ((uint64_t) x16 * x16) + ((uint64_t) x18 * x14 + 0x2 * ((uint64_t) x17 * x12))))); - uint64_t x25 = (uint64_t) x2 * x8 + ((uint64_t) x4 * x6 + ((uint64_t) x6 * x4 + (uint64_t) x8 * x2)) + 0xf * ((uint64_t) x10 * x17 + ((uint64_t) x12 * x18 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + ((uint64_t) x18 * x12 + (uint64_t) x17 * x10))))); - uint64_t x26 = (uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2) + 0xf * (0x2 * ((uint64_t) x8 * x17) + ((uint64_t) x10 * x18 + (0x2 * ((uint64_t) x12 * x16) + ((uint64_t) x14 * x14 + (0x2 * ((uint64_t) x16 * x12) + ((uint64_t) x18 * x10 + 0x2 * ((uint64_t) x17 * x8))))))); - uint64_t x27 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0xf * ((uint64_t) x6 * x17 + ((uint64_t) x8 * x18 + ((uint64_t) x10 * x16 + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + ((uint64_t) x16 * x10 + ((uint64_t) x18 * x8 + (uint64_t) x17 * x6))))))); - uint64_t x28 = (uint64_t) x2 * x2 + 0xf * (0x2 * ((uint64_t) x4 * x17) + ((uint64_t) x6 * x18 + (0x2 * ((uint64_t) x8 * x16) + ((uint64_t) x10 * x14 + (0x2 * ((uint64_t) x12 * x12) + ((uint64_t) x14 * x10 + (0x2 * ((uint64_t) x16 * x8) + ((uint64_t) x18 * x6 + 0x2 * ((uint64_t) x17 * x4))))))))); - uint32_t x29 = (uint32_t) (x28 >> 0x18); - uint32_t x30 = (uint32_t) x28 & 0xffffff; - uint64_t x31 = x29 + x27; - uint32_t x32 = (uint32_t) (x31 >> 0x17); - uint32_t x33 = (uint32_t) x31 & 0x7fffff; - uint64_t x34 = x32 + x26; - uint32_t x35 = (uint32_t) (x34 >> 0x18); - uint32_t x36 = (uint32_t) x34 & 0xffffff; - uint64_t x37 = x35 + x25; - uint32_t x38 = (uint32_t) (x37 >> 0x17); - uint32_t x39 = (uint32_t) x37 & 0x7fffff; - uint64_t x40 = x38 + x24; - uint32_t x41 = (uint32_t) (x40 >> 0x18); - uint32_t x42 = (uint32_t) x40 & 0xffffff; - uint64_t x43 = x41 + x23; - uint32_t x44 = (uint32_t) (x43 >> 0x17); - uint32_t x45 = (uint32_t) x43 & 0x7fffff; - uint64_t x46 = x44 + x22; - uint32_t x47 = (uint32_t) (x46 >> 0x18); - uint32_t x48 = (uint32_t) x46 & 0xffffff; - uint64_t x49 = x47 + x21; - uint32_t x50 = (uint32_t) (x49 >> 0x17); - uint32_t x51 = (uint32_t) x49 & 0x7fffff; - uint64_t x52 = x50 + x20; - uint32_t x53 = (uint32_t) (x52 >> 0x18); - uint32_t x54 = (uint32_t) x52 & 0xffffff; - uint64_t x55 = x53 + x19; - uint32_t x56 = (uint32_t) (x55 >> 0x17); - uint32_t x57 = (uint32_t) x55 & 0x7fffff; - uint32_t x58 = x30 + 0xf * x56; - uint32_t x59 = x58 >> 0x18; - uint32_t x60 = x58 & 0xffffff; - uint32_t x61 = x59 + x33; - uint32_t x62 = x61 >> 0x17; - uint32_t x63 = x61 & 0x7fffff; - return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, x62 + x36, Return x63, Return x60)) + λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x17 = (((uint64_t)x2 * x15) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x15 * x2))))))))); + uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0xf * ((uint64_t)x15 * x15))); + uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xf * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16)))); + uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xf * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14))))); + uint64_t x21 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xf * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12)))))); + uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xf * (((uint64_t)x10 * x15) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x15 * x10))))))); + uint64_t x23 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xf * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8)))))))); + uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6))))))))); + uint64_t x25 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4))))))))))); + uint64_t x26 = (x25 >> 0x1b); + uint32_t x27 = ((uint32_t)x25 & 0x7ffffff); + uint64_t x28 = (x26 + x24); + uint64_t x29 = (x28 >> 0x1a); + uint32_t x30 = ((uint32_t)x28 & 0x3ffffff); + uint64_t x31 = (x29 + x23); + uint64_t x32 = (x31 >> 0x1a); + uint32_t x33 = ((uint32_t)x31 & 0x3ffffff); + uint64_t x34 = (x32 + x22); + uint64_t x35 = (x34 >> 0x1a); + uint32_t x36 = ((uint32_t)x34 & 0x3ffffff); + uint64_t x37 = (x35 + x21); + uint64_t x38 = (x37 >> 0x1a); + uint32_t x39 = ((uint32_t)x37 & 0x3ffffff); + uint64_t x40 = (x38 + x20); + uint64_t x41 = (x40 >> 0x1a); + uint32_t x42 = ((uint32_t)x40 & 0x3ffffff); + uint64_t x43 = (x41 + x19); + uint32_t x44 = (uint32_t) (x43 >> 0x1a); + uint32_t x45 = ((uint32_t)x43 & 0x3ffffff); + uint64_t x46 = (x44 + x18); + uint32_t x47 = (uint32_t) (x46 >> 0x1a); + uint32_t x48 = ((uint32_t)x46 & 0x3ffffff); + uint64_t x49 = (x47 + x17); + uint32_t x50 = (uint32_t) (x49 >> 0x1a); + uint32_t x51 = ((uint32_t)x49 & 0x3ffffff); + uint64_t x52 = (x27 + ((uint64_t)0xf * x50)); + uint32_t x53 = (uint32_t) (x52 >> 0x1b); + uint32_t x54 = ((uint32_t)x52 & 0x7ffffff); + uint32_t x55 = (x53 + x30); + uint32_t x56 = (x55 >> 0x1a); + uint32_t x57 = (x55 & 0x3ffffff); + return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54)) x - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e235m15/freezeDisplay.log b/src/Specific/solinas32_2e235m15/freezeDisplay.log index c9a3f041f..e51f4b6e1 100644 --- a/src/Specific/solinas32_2e235m15/freezeDisplay.log +++ b/src/Specific/solinas32_2e235m15/freezeDisplay.log @@ -1,38 +1,35 @@ -λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffff1); - uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x7fffff); - uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0xffffff); - uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x7fffff); - uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0xffffff); - uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x7fffff); - uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0xffffff); - uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x7fffff); - uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0xffffff); - uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x7fffff); - uint32_t x49 = (uint32_t)cmovznz(x48, 0x0, 0xffffffff); - uint32_t x50 = x49 & 0xfffff1; - uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50); - uint32_t x54 = x49 & 0x7fffff; - uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54); - uint32_t x58 = x49 & 0xffffff; - uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58); - uint32_t x62 = x49 & 0x7fffff; - uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62); - uint32_t x66 = x49 & 0xffffff; - uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66); - uint32_t x70 = x49 & 0x7fffff; - uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70); - uint32_t x74 = x49 & 0xffffff; - uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74); - uint32_t x78 = x49 & 0x7fffff; - uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78); - uint32_t x82 = x49 & 0xffffff; - uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82); - uint32_t x86 = x49 & 0x7fffff; - uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86); - (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) + λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, + uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffff1); + uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x3ffffff); + uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x3ffffff); + uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffff); + uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x3ffffff); + uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x3ffffff); + uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x3ffffff); + uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x3ffffff); + uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x3ffffff); + uint32_t x44 = (uint32_t)cmovznz(x43, 0x0, 0xffffffff); + uint32_t x45 = (x44 & 0x7fffff1); + uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45); + uint32_t x49 = (x44 & 0x3ffffff); + uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); + uint32_t x53 = (x44 & 0x3ffffff); + uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); + uint32_t x57 = (x44 & 0x3ffffff); + uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); + uint32_t x61 = (x44 & 0x3ffffff); + uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); + uint32_t x65 = (x44 & 0x3ffffff); + uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); + uint32_t x69 = (x44 & 0x3ffffff); + uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); + uint32_t x73 = (x44 & 0x3ffffff); + uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); + uint32_t x77 = (x44 & 0x3ffffff); + uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); + (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) x - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e243m9/femulDisplay.log b/src/Specific/solinas32_2e243m9/femulDisplay.log index 06ebf3725..7d08b2ded 100644 --- a/src/Specific/solinas32_2e243m9/femulDisplay.log +++ b/src/Specific/solinas32_2e243m9/femulDisplay.log @@ -1,56 +1,48 @@ -λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x22, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x42, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25))%core, - uint64_t x44 = (uint64_t) x5 * x42 + (0x2 * ((uint64_t) x7 * x43) + (0x2 * ((uint64_t) x9 * x41) + (0x2 * ((uint64_t) x11 * x39) + (0x2 * ((uint64_t) x13 * x37) + (0x2 * ((uint64_t) x15 * x35) + (0x2 * ((uint64_t) x17 * x33) + (0x2 * ((uint64_t) x19 * x31) + (0x2 * ((uint64_t) x21 * x29) + (0x2 * ((uint64_t) x23 * x27) + (uint64_t) x22 * x25))))))))); - uint64_t x45 = (uint64_t) x5 * x43 + (0x2 * ((uint64_t) x7 * x41) + (0x2 * ((uint64_t) x9 * x39) + (0x2 * ((uint64_t) x11 * x37) + (0x2 * ((uint64_t) x13 * x35) + (0x2 * ((uint64_t) x15 * x33) + (0x2 * ((uint64_t) x17 * x31) + (0x2 * ((uint64_t) x19 * x29) + (0x2 * ((uint64_t) x21 * x27) + (uint64_t) x23 * x25)))))))) + 0x9 * ((uint64_t) x22 * x42); - uint64_t x46 = (uint64_t) x5 * x41 + (0x2 * ((uint64_t) x7 * x39) + (0x2 * ((uint64_t) x9 * x37) + (0x2 * ((uint64_t) x11 * x35) + (0x2 * ((uint64_t) x13 * x33) + (0x2 * ((uint64_t) x15 * x31) + (0x2 * ((uint64_t) x17 * x29) + (0x2 * ((uint64_t) x19 * x27) + (uint64_t) x21 * x25))))))) + 0x9 * ((uint64_t) x23 * x42 + (uint64_t) x22 * x43); - uint64_t x47 = (uint64_t) x5 * x39 + (0x2 * ((uint64_t) x7 * x37) + (0x2 * ((uint64_t) x9 * x35) + (0x2 * ((uint64_t) x11 * x33) + (0x2 * ((uint64_t) x13 * x31) + (0x2 * ((uint64_t) x15 * x29) + (0x2 * ((uint64_t) x17 * x27) + (uint64_t) x19 * x25)))))) + 0x9 * ((uint64_t) x21 * x42 + ((uint64_t) x23 * x43 + (uint64_t) x22 * x41)); - uint64_t x48 = (uint64_t) x5 * x37 + (0x2 * ((uint64_t) x7 * x35) + (0x2 * ((uint64_t) x9 * x33) + (0x2 * ((uint64_t) x11 * x31) + (0x2 * ((uint64_t) x13 * x29) + (0x2 * ((uint64_t) x15 * x27) + (uint64_t) x17 * x25))))) + 0x9 * ((uint64_t) x19 * x42 + ((uint64_t) x21 * x43 + ((uint64_t) x23 * x41 + (uint64_t) x22 * x39))); - uint64_t x49 = (uint64_t) x5 * x35 + (0x2 * ((uint64_t) x7 * x33) + (0x2 * ((uint64_t) x9 * x31) + (0x2 * ((uint64_t) x11 * x29) + (0x2 * ((uint64_t) x13 * x27) + (uint64_t) x15 * x25)))) + 0x9 * ((uint64_t) x17 * x42 + ((uint64_t) x19 * x43 + ((uint64_t) x21 * x41 + ((uint64_t) x23 * x39 + (uint64_t) x22 * x37)))); - uint64_t x50 = (uint64_t) x5 * x33 + (0x2 * ((uint64_t) x7 * x31) + (0x2 * ((uint64_t) x9 * x29) + (0x2 * ((uint64_t) x11 * x27) + (uint64_t) x13 * x25))) + 0x9 * ((uint64_t) x15 * x42 + ((uint64_t) x17 * x43 + ((uint64_t) x19 * x41 + ((uint64_t) x21 * x39 + ((uint64_t) x23 * x37 + (uint64_t) x22 * x35))))); - uint64_t x51 = (uint64_t) x5 * x31 + (0x2 * ((uint64_t) x7 * x29) + (0x2 * ((uint64_t) x9 * x27) + (uint64_t) x11 * x25)) + 0x9 * ((uint64_t) x13 * x42 + ((uint64_t) x15 * x43 + ((uint64_t) x17 * x41 + ((uint64_t) x19 * x39 + ((uint64_t) x21 * x37 + ((uint64_t) x23 * x35 + (uint64_t) x22 * x33)))))); - uint64_t x52 = (uint64_t) x5 * x29 + (0x2 * ((uint64_t) x7 * x27) + (uint64_t) x9 * x25) + 0x9 * ((uint64_t) x11 * x42 + ((uint64_t) x13 * x43 + ((uint64_t) x15 * x41 + ((uint64_t) x17 * x39 + ((uint64_t) x19 * x37 + ((uint64_t) x21 * x35 + ((uint64_t) x23 * x33 + (uint64_t) x22 * x31))))))); - uint64_t x53 = (uint64_t) x5 * x27 + (uint64_t) x7 * x25 + 0x9 * ((uint64_t) x9 * x42 + ((uint64_t) x11 * x43 + ((uint64_t) x13 * x41 + ((uint64_t) x15 * x39 + ((uint64_t) x17 * x37 + ((uint64_t) x19 * x35 + ((uint64_t) x21 * x33 + ((uint64_t) x23 * x31 + (uint64_t) x22 * x29)))))))); - uint64_t x54 = (uint64_t) x5 * x25 + 0x9 * (0x2 * ((uint64_t) x7 * x42) + (0x2 * ((uint64_t) x9 * x43) + (0x2 * ((uint64_t) x11 * x41) + (0x2 * ((uint64_t) x13 * x39) + (0x2 * ((uint64_t) x15 * x37) + (0x2 * ((uint64_t) x17 * x35) + (0x2 * ((uint64_t) x19 * x33) + (0x2 * ((uint64_t) x21 * x31) + (0x2 * ((uint64_t) x23 * x29) + 0x2 * ((uint64_t) x22 * x27)))))))))); - uint32_t x55 = (uint32_t) (x54 >> 0x17); - uint32_t x56 = (uint32_t) x54 & 0x7fffff; - uint64_t x57 = x55 + x53; - uint32_t x58 = (uint32_t) (x57 >> 0x16); - uint32_t x59 = (uint32_t) x57 & 0x3fffff; - uint64_t x60 = x58 + x52; - uint32_t x61 = (uint32_t) (x60 >> 0x16); - uint32_t x62 = (uint32_t) x60 & 0x3fffff; - uint64_t x63 = x61 + x51; - uint32_t x64 = (uint32_t) (x63 >> 0x16); - uint32_t x65 = (uint32_t) x63 & 0x3fffff; - uint64_t x66 = x64 + x50; - uint32_t x67 = (uint32_t) (x66 >> 0x16); - uint32_t x68 = (uint32_t) x66 & 0x3fffff; - uint64_t x69 = x67 + x49; - uint32_t x70 = (uint32_t) (x69 >> 0x16); - uint32_t x71 = (uint32_t) x69 & 0x3fffff; - uint64_t x72 = x70 + x48; - uint32_t x73 = (uint32_t) (x72 >> 0x16); - uint32_t x74 = (uint32_t) x72 & 0x3fffff; - uint64_t x75 = x73 + x47; - uint32_t x76 = (uint32_t) (x75 >> 0x16); - uint32_t x77 = (uint32_t) x75 & 0x3fffff; - uint64_t x78 = x76 + x46; - uint32_t x79 = (uint32_t) (x78 >> 0x16); - uint32_t x80 = (uint32_t) x78 & 0x3fffff; - uint64_t x81 = x79 + x45; - uint32_t x82 = (uint32_t) (x81 >> 0x16); - uint32_t x83 = (uint32_t) x81 & 0x3fffff; - uint64_t x84 = x82 + x44; - uint32_t x85 = (uint32_t) (x84 >> 0x16); - uint32_t x86 = (uint32_t) x84 & 0x3fffff; - uint32_t x87 = x56 + 0x9 * x85; - uint32_t x88 = x87 >> 0x17; - uint32_t x89 = x87 & 0x7fffff; - uint32_t x90 = x88 + x59; - uint32_t x91 = x90 >> 0x16; - uint32_t x92 = x90 & 0x3fffff; - return (Return x86, Return x83, Return x80, Return x77, Return x74, Return x71, Return x68, Return x65, x91 + x62, Return x92, Return x89)) + λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, + uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21))))))))); + uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x9 * ((uint64_t)x18 * x34))); + uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x9 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35)))); + uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x9 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33))))); + uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x9 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31)))))); + uint64_t x41 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21)))) + (0x9 * (((uint64_t)x13 * x34) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x18 * x29))))))); + uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x9 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27)))))))); + uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x9 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25))))))))); + uint64_t x44 = (((uint64_t)x5 * x21) + (0x9 * (((uint64_t)x7 * x34) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (((uint64_t)x19 * x25) + ((uint64_t)x18 * x23)))))))))); + uint64_t x45 = (x44 >> 0x1b); + uint32_t x46 = ((uint32_t)x44 & 0x7ffffff); + uint64_t x47 = (x45 + x43); + uint64_t x48 = (x47 >> 0x1b); + uint32_t x49 = ((uint32_t)x47 & 0x7ffffff); + uint64_t x50 = (x48 + x42); + uint64_t x51 = (x50 >> 0x1b); + uint32_t x52 = ((uint32_t)x50 & 0x7ffffff); + uint64_t x53 = (x51 + x41); + uint64_t x54 = (x53 >> 0x1b); + uint32_t x55 = ((uint32_t)x53 & 0x7ffffff); + uint64_t x56 = (x54 + x40); + uint64_t x57 = (x56 >> 0x1b); + uint32_t x58 = ((uint32_t)x56 & 0x7ffffff); + uint64_t x59 = (x57 + x39); + uint64_t x60 = (x59 >> 0x1b); + uint32_t x61 = ((uint32_t)x59 & 0x7ffffff); + uint64_t x62 = (x60 + x38); + uint32_t x63 = (uint32_t) (x62 >> 0x1b); + uint32_t x64 = ((uint32_t)x62 & 0x7ffffff); + uint64_t x65 = (x63 + x37); + uint32_t x66 = (uint32_t) (x65 >> 0x1b); + uint32_t x67 = ((uint32_t)x65 & 0x7ffffff); + uint64_t x68 = (x66 + x36); + uint32_t x69 = (uint32_t) (x68 >> 0x1b); + uint32_t x70 = ((uint32_t)x68 & 0x7ffffff); + uint64_t x71 = (x46 + ((uint64_t)0x9 * x69)); + uint32_t x72 = (uint32_t) (x71 >> 0x1b); + uint32_t x73 = ((uint32_t)x71 & 0x7ffffff); + uint32_t x74 = (x72 + x49); + uint32_t x75 = (x74 >> 0x1b); + uint32_t x76 = (x74 & 0x7ffffff); + return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73)) (x, x0)%core - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e243m9/fesquareDisplay.log b/src/Specific/solinas32_2e243m9/fesquareDisplay.log index e61ff59e6..357786c3b 100644 --- a/src/Specific/solinas32_2e243m9/fesquareDisplay.log +++ b/src/Specific/solinas32_2e243m9/fesquareDisplay.log @@ -1,56 +1,48 @@ -λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x19, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x21 = (uint64_t) x2 * x19 + (0x2 * ((uint64_t) x4 * x20) + (0x2 * ((uint64_t) x6 * x18) + (0x2 * ((uint64_t) x8 * x16) + (0x2 * ((uint64_t) x10 * x14) + (0x2 * ((uint64_t) x12 * x12) + (0x2 * ((uint64_t) x14 * x10) + (0x2 * ((uint64_t) x16 * x8) + (0x2 * ((uint64_t) x18 * x6) + (0x2 * ((uint64_t) x20 * x4) + (uint64_t) x19 * x2))))))))); - uint64_t x22 = (uint64_t) x2 * x20 + (0x2 * ((uint64_t) x4 * x18) + (0x2 * ((uint64_t) x6 * x16) + (0x2 * ((uint64_t) x8 * x14) + (0x2 * ((uint64_t) x10 * x12) + (0x2 * ((uint64_t) x12 * x10) + (0x2 * ((uint64_t) x14 * x8) + (0x2 * ((uint64_t) x16 * x6) + (0x2 * ((uint64_t) x18 * x4) + (uint64_t) x20 * x2)))))))) + 0x9 * ((uint64_t) x19 * x19); - uint64_t x23 = (uint64_t) x2 * x18 + (0x2 * ((uint64_t) x4 * x16) + (0x2 * ((uint64_t) x6 * x14) + (0x2 * ((uint64_t) x8 * x12) + (0x2 * ((uint64_t) x10 * x10) + (0x2 * ((uint64_t) x12 * x8) + (0x2 * ((uint64_t) x14 * x6) + (0x2 * ((uint64_t) x16 * x4) + (uint64_t) x18 * x2))))))) + 0x9 * ((uint64_t) x20 * x19 + (uint64_t) x19 * x20); - uint64_t x24 = (uint64_t) x2 * x16 + (0x2 * ((uint64_t) x4 * x14) + (0x2 * ((uint64_t) x6 * x12) + (0x2 * ((uint64_t) x8 * x10) + (0x2 * ((uint64_t) x10 * x8) + (0x2 * ((uint64_t) x12 * x6) + (0x2 * ((uint64_t) x14 * x4) + (uint64_t) x16 * x2)))))) + 0x9 * ((uint64_t) x18 * x19 + ((uint64_t) x20 * x20 + (uint64_t) x19 * x18)); - uint64_t x25 = (uint64_t) x2 * x14 + (0x2 * ((uint64_t) x4 * x12) + (0x2 * ((uint64_t) x6 * x10) + (0x2 * ((uint64_t) x8 * x8) + (0x2 * ((uint64_t) x10 * x6) + (0x2 * ((uint64_t) x12 * x4) + (uint64_t) x14 * x2))))) + 0x9 * ((uint64_t) x16 * x19 + ((uint64_t) x18 * x20 + ((uint64_t) x20 * x18 + (uint64_t) x19 * x16))); - uint64_t x26 = (uint64_t) x2 * x12 + (0x2 * ((uint64_t) x4 * x10) + (0x2 * ((uint64_t) x6 * x8) + (0x2 * ((uint64_t) x8 * x6) + (0x2 * ((uint64_t) x10 * x4) + (uint64_t) x12 * x2)))) + 0x9 * ((uint64_t) x14 * x19 + ((uint64_t) x16 * x20 + ((uint64_t) x18 * x18 + ((uint64_t) x20 * x16 + (uint64_t) x19 * x14)))); - uint64_t x27 = (uint64_t) x2 * x10 + (0x2 * ((uint64_t) x4 * x8) + (0x2 * ((uint64_t) x6 * x6) + (0x2 * ((uint64_t) x8 * x4) + (uint64_t) x10 * x2))) + 0x9 * ((uint64_t) x12 * x19 + ((uint64_t) x14 * x20 + ((uint64_t) x16 * x18 + ((uint64_t) x18 * x16 + ((uint64_t) x20 * x14 + (uint64_t) x19 * x12))))); - uint64_t x28 = (uint64_t) x2 * x8 + (0x2 * ((uint64_t) x4 * x6) + (0x2 * ((uint64_t) x6 * x4) + (uint64_t) x8 * x2)) + 0x9 * ((uint64_t) x10 * x19 + ((uint64_t) x12 * x20 + ((uint64_t) x14 * x18 + ((uint64_t) x16 * x16 + ((uint64_t) x18 * x14 + ((uint64_t) x20 * x12 + (uint64_t) x19 * x10)))))); - uint64_t x29 = (uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2) + 0x9 * ((uint64_t) x8 * x19 + ((uint64_t) x10 * x20 + ((uint64_t) x12 * x18 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + ((uint64_t) x18 * x12 + ((uint64_t) x20 * x10 + (uint64_t) x19 * x8))))))); - uint64_t x30 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x9 * ((uint64_t) x6 * x19 + ((uint64_t) x8 * x20 + ((uint64_t) x10 * x18 + ((uint64_t) x12 * x16 + ((uint64_t) x14 * x14 + ((uint64_t) x16 * x12 + ((uint64_t) x18 * x10 + ((uint64_t) x20 * x8 + (uint64_t) x19 * x6)))))))); - uint64_t x31 = (uint64_t) x2 * x2 + 0x9 * (0x2 * ((uint64_t) x4 * x19) + (0x2 * ((uint64_t) x6 * x20) + (0x2 * ((uint64_t) x8 * x18) + (0x2 * ((uint64_t) x10 * x16) + (0x2 * ((uint64_t) x12 * x14) + (0x2 * ((uint64_t) x14 * x12) + (0x2 * ((uint64_t) x16 * x10) + (0x2 * ((uint64_t) x18 * x8) + (0x2 * ((uint64_t) x20 * x6) + 0x2 * ((uint64_t) x19 * x4)))))))))); - uint32_t x32 = (uint32_t) (x31 >> 0x17); - uint32_t x33 = (uint32_t) x31 & 0x7fffff; - uint64_t x34 = x32 + x30; - uint32_t x35 = (uint32_t) (x34 >> 0x16); - uint32_t x36 = (uint32_t) x34 & 0x3fffff; - uint64_t x37 = x35 + x29; - uint32_t x38 = (uint32_t) (x37 >> 0x16); - uint32_t x39 = (uint32_t) x37 & 0x3fffff; - uint64_t x40 = x38 + x28; - uint32_t x41 = (uint32_t) (x40 >> 0x16); - uint32_t x42 = (uint32_t) x40 & 0x3fffff; - uint64_t x43 = x41 + x27; - uint32_t x44 = (uint32_t) (x43 >> 0x16); - uint32_t x45 = (uint32_t) x43 & 0x3fffff; - uint64_t x46 = x44 + x26; - uint32_t x47 = (uint32_t) (x46 >> 0x16); - uint32_t x48 = (uint32_t) x46 & 0x3fffff; - uint64_t x49 = x47 + x25; - uint32_t x50 = (uint32_t) (x49 >> 0x16); - uint32_t x51 = (uint32_t) x49 & 0x3fffff; - uint64_t x52 = x50 + x24; - uint32_t x53 = (uint32_t) (x52 >> 0x16); - uint32_t x54 = (uint32_t) x52 & 0x3fffff; - uint64_t x55 = x53 + x23; - uint32_t x56 = (uint32_t) (x55 >> 0x16); - uint32_t x57 = (uint32_t) x55 & 0x3fffff; - uint64_t x58 = x56 + x22; - uint32_t x59 = (uint32_t) (x58 >> 0x16); - uint32_t x60 = (uint32_t) x58 & 0x3fffff; - uint64_t x61 = x59 + x21; - uint32_t x62 = (uint32_t) (x61 >> 0x16); - uint32_t x63 = (uint32_t) x61 & 0x3fffff; - uint32_t x64 = x33 + 0x9 * x62; - uint32_t x65 = x64 >> 0x17; - uint32_t x66 = x64 & 0x7fffff; - uint32_t x67 = x65 + x36; - uint32_t x68 = x67 >> 0x16; - uint32_t x69 = x67 & 0x3fffff; - return (Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, x68 + x39, Return x69, Return x66)) + λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x17 = (((uint64_t)x2 * x15) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x15 * x2))))))))); + uint64_t x18 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x9 * ((uint64_t)x15 * x15))); + uint64_t x19 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x9 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16)))); + uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x9 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14))))); + uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x9 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12)))))); + uint64_t x22 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x15) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x15 * x10))))))); + uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x9 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8)))))))); + uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6))))))))); + uint64_t x25 = (((uint64_t)x2 * x2) + (0x9 * (((uint64_t)x4 * x15) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + ((uint64_t)x15 * x4)))))))))); + uint64_t x26 = (x25 >> 0x1b); + uint32_t x27 = ((uint32_t)x25 & 0x7ffffff); + uint64_t x28 = (x26 + x24); + uint64_t x29 = (x28 >> 0x1b); + uint32_t x30 = ((uint32_t)x28 & 0x7ffffff); + uint64_t x31 = (x29 + x23); + uint64_t x32 = (x31 >> 0x1b); + uint32_t x33 = ((uint32_t)x31 & 0x7ffffff); + uint64_t x34 = (x32 + x22); + uint64_t x35 = (x34 >> 0x1b); + uint32_t x36 = ((uint32_t)x34 & 0x7ffffff); + uint64_t x37 = (x35 + x21); + uint64_t x38 = (x37 >> 0x1b); + uint32_t x39 = ((uint32_t)x37 & 0x7ffffff); + uint64_t x40 = (x38 + x20); + uint64_t x41 = (x40 >> 0x1b); + uint32_t x42 = ((uint32_t)x40 & 0x7ffffff); + uint64_t x43 = (x41 + x19); + uint32_t x44 = (uint32_t) (x43 >> 0x1b); + uint32_t x45 = ((uint32_t)x43 & 0x7ffffff); + uint64_t x46 = (x44 + x18); + uint32_t x47 = (uint32_t) (x46 >> 0x1b); + uint32_t x48 = ((uint32_t)x46 & 0x7ffffff); + uint64_t x49 = (x47 + x17); + uint32_t x50 = (uint32_t) (x49 >> 0x1b); + uint32_t x51 = ((uint32_t)x49 & 0x7ffffff); + uint64_t x52 = (x27 + ((uint64_t)0x9 * x50)); + uint32_t x53 = (uint32_t) (x52 >> 0x1b); + uint32_t x54 = ((uint32_t)x52 & 0x7ffffff); + uint32_t x55 = (x53 + x30); + uint32_t x56 = (x55 >> 0x1b); + uint32_t x57 = (x55 & 0x7ffffff); + return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54)) x - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e243m9/freezeDisplay.log b/src/Specific/solinas32_2e243m9/freezeDisplay.log index 2702e851a..c99609247 100644 --- a/src/Specific/solinas32_2e243m9/freezeDisplay.log +++ b/src/Specific/solinas32_2e243m9/freezeDisplay.log @@ -1,41 +1,35 @@ -λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, Interp-η (λ var : Syntax.base_type → Type, - λ '(x19, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffff7); - uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x4, 0x3fffff); - uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x6, 0x3fffff); - uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x8, 0x3fffff); - uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x10, 0x3fffff); - uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x12, 0x3fffff); - uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x14, 0x3fffff); - uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x16, 0x3fffff); - uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x18, 0x3fffff); - uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0x3fffff); - uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0x3fffff); - uint32_t x54 = (uint32_t)cmovznz(x53, 0x0, 0xffffffff); - uint32_t x55 = x54 & 0x7ffff7; - uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55); - uint32_t x59 = x54 & 0x3fffff; - uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, Return x59); - uint32_t x63 = x54 & 0x3fffff; - uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x28, Return x63); - uint32_t x67 = x54 & 0x3fffff; - uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x31, Return x67); - uint32_t x71 = x54 & 0x3fffff; - uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x34, Return x71); - uint32_t x75 = x54 & 0x3fffff; - uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x37, Return x75); - uint32_t x79 = x54 & 0x3fffff; - uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x40, Return x79); - uint32_t x83 = x54 & 0x3fffff; - uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x43, Return x83); - uint32_t x87 = x54 & 0x3fffff; - uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x46, Return x87); - uint32_t x91 = x54 & 0x3fffff; - uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x49, Return x91); - uint32_t x95 = x54 & 0x3fffff; - uint32_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x52, Return x95); - (Return x97, Return x93, Return x89, Return x85, Return x81, Return x77, Return x73, Return x69, Return x65, Return x61, Return x57)) + λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, + uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffff7); + uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x7ffffff); + uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x7ffffff); + uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x7ffffff); + uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x7ffffff); + uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x7ffffff); + uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x7ffffff); + uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x7ffffff); + uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x7ffffff); + uint32_t x44 = (uint32_t)cmovznz(x43, 0x0, 0xffffffff); + uint32_t x45 = (x44 & 0x7fffff7); + uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45); + uint32_t x49 = (x44 & 0x7ffffff); + uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); + uint32_t x53 = (x44 & 0x7ffffff); + uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); + uint32_t x57 = (x44 & 0x7ffffff); + uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); + uint32_t x61 = (x44 & 0x7ffffff); + uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); + uint32_t x65 = (x44 & 0x7ffffff); + uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); + uint32_t x69 = (x44 & 0x7ffffff); + uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); + uint32_t x73 = (x44 & 0x7ffffff); + uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); + uint32_t x77 = (x44 & 0x7ffffff); + uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); + (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) x - : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) + : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e255m2e4m2e1m1/femulDisplay.log b/src/Specific/solinas32_2e255m2e4m2e1m1/femulDisplay.log index ff2f2b79c..64a1f5733 100644 --- a/src/Specific/solinas32_2e255m2e4m2e1m1/femulDisplay.log +++ b/src/Specific/solinas32_2e255m2e4m2e1m1/femulDisplay.log @@ -2,47 +2,60 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - uint64_t x36 = (uint64_t) x5 * x34 + (0x2 * ((uint64_t) x7 * x35) + ((uint64_t) x9 * x33 + ((uint64_t) x11 * x31 + (0x2 * ((uint64_t) x13 * x29) + ((uint64_t) x15 * x27 + ((uint64_t) x17 * x25 + (0x2 * ((uint64_t) x19 * x23) + (uint64_t) x18 * x21))))))); - uint64_t x37 = (uint64_t) x5 * x35 + ((uint64_t) x7 * x33 + ((uint64_t) x9 * x31 + ((uint64_t) x11 * x29 + ((uint64_t) x13 * x27 + ((uint64_t) x15 * x25 + ((uint64_t) x17 * x23 + (uint64_t) x19 * x21)))))) + ((uint64_t) x18 * x34 + (0x2 * ((uint64_t) x18 * x34) + 0x10 * ((uint64_t) x18 * x34))); - uint64_t x38 = (uint64_t) x5 * x33 + (0x2 * ((uint64_t) x7 * x31) + (0x2 * ((uint64_t) x9 * x29) + ((uint64_t) x11 * x27 + (0x2 * ((uint64_t) x13 * x25) + (0x2 * ((uint64_t) x15 * x23) + (uint64_t) x17 * x21))))) + (0x2 * ((uint64_t) x19 * x34) + 0x2 * ((uint64_t) x18 * x35) + (0x2 * (0x2 * ((uint64_t) x19 * x34) + 0x2 * ((uint64_t) x18 * x35)) + 0x10 * (0x2 * ((uint64_t) x19 * x34) + 0x2 * ((uint64_t) x18 * x35)))); - uint64_t x39 = (uint64_t) x5 * x31 + (0x2 * ((uint64_t) x7 * x29) + ((uint64_t) x9 * x27 + ((uint64_t) x11 * x25 + (0x2 * ((uint64_t) x13 * x23) + (uint64_t) x15 * x21)))) + ((uint64_t) x17 * x34 + (0x2 * ((uint64_t) x19 * x35) + (uint64_t) x18 * x33) + (0x2 * ((uint64_t) x17 * x34 + (0x2 * ((uint64_t) x19 * x35) + (uint64_t) x18 * x33)) + 0x10 * ((uint64_t) x17 * x34 + (0x2 * ((uint64_t) x19 * x35) + (uint64_t) x18 * x33)))); - uint64_t x40 = (uint64_t) x5 * x29 + ((uint64_t) x7 * x27 + ((uint64_t) x9 * x25 + ((uint64_t) x11 * x23 + (uint64_t) x13 * x21))) + ((uint64_t) x15 * x34 + ((uint64_t) x17 * x35 + ((uint64_t) x19 * x33 + (uint64_t) x18 * x31)) + (0x2 * ((uint64_t) x15 * x34 + ((uint64_t) x17 * x35 + ((uint64_t) x19 * x33 + (uint64_t) x18 * x31))) + 0x10 * ((uint64_t) x15 * x34 + ((uint64_t) x17 * x35 + ((uint64_t) x19 * x33 + (uint64_t) x18 * x31))))); - ℤ x41 = ((uint64_t) x5 * x27 + (0x2 * ((uint64_t) x7 * x25) + (0x2 * ((uint64_t) x9 * x23) + (uint64_t) x11 * x21))) +ℤ ((0x2 * ((uint64_t) x13 * x34) + (0x2 * ((uint64_t) x15 * x35) + ((uint64_t) x17 * x33 + (0x2 * ((uint64_t) x19 * x31) + 0x2 * ((uint64_t) x18 * x29))))) +ℤ (0x2 * (0x2 * ((uint64_t) x13 * x34) + (0x2 * ((uint64_t) x15 * x35) + ((uint64_t) x17 * x33 + (0x2 * ((uint64_t) x19 * x31) + 0x2 * ((uint64_t) x18 * x29))))) +ℤ 0x10 * (0x2 * ((uint64_t) x13 * x34) + (0x2 * ((uint64_t) x15 * x35) + ((uint64_t) x17 * x33 + (0x2 * ((uint64_t) x19 * x31) + 0x2 * ((uint64_t) x18 * x29))))))); - ℤ x42 = ((uint64_t) x5 * x25 + (0x2 * ((uint64_t) x7 * x23) + (uint64_t) x9 * x21)) +ℤ (((uint64_t) x11 * x34 + (0x2 * ((uint64_t) x13 * x35) + ((uint64_t) x15 * x33 + ((uint64_t) x17 * x31 + (0x2 * ((uint64_t) x19 * x29) + (uint64_t) x18 * x27))))) +ℤ (0x2 * ((uint64_t) x11 * x34 + (0x2 * ((uint64_t) x13 * x35) + ((uint64_t) x15 * x33 + ((uint64_t) x17 * x31 + (0x2 * ((uint64_t) x19 * x29) + (uint64_t) x18 * x27))))) +ℤ 0x10 * ((uint64_t) x11 * x34 + (0x2 * ((uint64_t) x13 * x35) + ((uint64_t) x15 * x33 + ((uint64_t) x17 * x31 + (0x2 * ((uint64_t) x19 * x29) + (uint64_t) x18 * x27))))))); - ℤ x43 = ((uint64_t) x5 * x23 + (uint64_t) x7 * x21) +ℤ (((uint64_t) x9 * x34 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + ((uint64_t) x15 * x31 + ((uint64_t) x17 * x29 + ((uint64_t) x19 * x27 + (uint64_t) x18 * x25)))))) +ℤ (0x2 * ((uint64_t) x9 * x34 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + ((uint64_t) x15 * x31 + ((uint64_t) x17 * x29 + ((uint64_t) x19 * x27 + (uint64_t) x18 * x25)))))) + 0x10 * ((uint64_t) x9 * x34 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + ((uint64_t) x15 * x31 + ((uint64_t) x17 * x29 + ((uint64_t) x19 * x27 + (uint64_t) x18 * x25)))))))); - ℤ x44 = (uint64_t) x5 * x21 +ℤ ((0x2 * ((uint64_t) x7 * x34) + (0x2 * ((uint64_t) x9 * x35) + ((uint64_t) x11 * x33 + (0x2 * ((uint64_t) x13 * x31) + (0x2 * ((uint64_t) x15 * x29) + ((uint64_t) x17 * x27 + (0x2 * ((uint64_t) x19 * x25) + 0x2 * ((uint64_t) x18 * x23)))))))) +ℤ (0x2 * (0x2 * ((uint64_t) x7 * x34) + (0x2 * ((uint64_t) x9 * x35) + ((uint64_t) x11 * x33 + (0x2 * ((uint64_t) x13 * x31) + (0x2 * ((uint64_t) x15 * x29) + ((uint64_t) x17 * x27 + (0x2 * ((uint64_t) x19 * x25) + 0x2 * ((uint64_t) x18 * x23)))))))) +ℤ 0x10 *ℤ (0x2 * ((uint64_t) x7 * x34) + (0x2 * ((uint64_t) x9 * x35) + ((uint64_t) x11 * x33 + (0x2 * ((uint64_t) x13 * x31) + (0x2 * ((uint64_t) x15 * x29) + ((uint64_t) x17 * x27 + (0x2 * ((uint64_t) x19 * x25) + 0x2 * ((uint64_t) x18 * x23)))))))))); - uint64_t x45 = x44 >> 0x1d; - uint32_t x46 = x44 &ℤ 0x1fffffff; - ℤ x47 = x45 +ℤ x43; - uint64_t x48 = x47 >> 0x1c; - uint32_t x49 = x47 &ℤ 0xfffffff; - ℤ x50 = x48 +ℤ x42; - uint64_t x51 = x50 >> 0x1c; - uint32_t x52 = x50 &ℤ 0xfffffff; - ℤ x53 = x51 +ℤ x41; - uint64_t x54 = x53 >> 0x1d; - uint32_t x55 = x53 &ℤ 0x1fffffff; - uint64_t x56 = x54 + x40; - uint64_t x57 = x56 >> 0x1c; - uint32_t x58 = (uint32_t) x56 & 0xfffffff; - uint64_t x59 = x57 + x39; - uint64_t x60 = x59 >> 0x1c; - uint32_t x61 = (uint32_t) x59 & 0xfffffff; - uint64_t x62 = x60 + x38; - uint64_t x63 = x62 >> 0x1d; - uint32_t x64 = (uint32_t) x62 & 0x1fffffff; - uint64_t x65 = x63 + x37; - uint64_t x66 = x65 >> 0x1c; - uint32_t x67 = (uint32_t) x65 & 0xfffffff; - uint64_t x68 = x66 + x36; - uint64_t x69 = x68 >> 0x1c; - uint32_t x70 = (uint32_t) x68 & 0xfffffff; - uint64_t x71 = x46 + (x69 + (0x2 * x69 + 0x10 * x69)); - uint32_t x72 = (uint32_t) (x71 >> 0x1d); - uint32_t x73 = (uint32_t) x71 & 0x1fffffff; - uint32_t x74 = x72 + x49; - uint32_t x75 = x74 >> 0x1c; - uint32_t x76 = x74 & 0xfffffff; - return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, x75 + x52, Return x76, Return x73)) + uint64_t x36 = (((uint64_t)x5 * x34) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((0x2 * ((uint64_t)x19 * x23)) + ((uint64_t)x18 * x21))))))))); + uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (((uint64_t)x18 * x34) + ((0x2 * ((uint64_t)x18 * x34)) + (0x10 * ((uint64_t)x18 * x34))))); + uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35))) + ((0x2 * ((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35)))) + (0x10 * ((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35))))))); + uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + ((((uint64_t)x17 * x34) + ((0x2 * ((uint64_t)x19 * x35)) + ((uint64_t)x18 * x33))) + ((0x2 * (((uint64_t)x17 * x34) + ((0x2 * ((uint64_t)x19 * x35)) + ((uint64_t)x18 * x33)))) + (0x10 * (((uint64_t)x17 * x34) + ((0x2 * ((uint64_t)x19 * x35)) + ((uint64_t)x18 * x33))))))); + uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + ((((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31)))) + ((0x2 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))) + (0x10 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31)))))))); + ℤ x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) +ℤ (((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29)))))) +ℤ ((0x2 * ((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29))))))) +ℤ (0x10 * ((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29)))))))))); + ℤ x42 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((uint64_t)x9 * x21))) +ℤ ((((uint64_t)x11 * x34) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x18 * x27)))))) +ℤ ((0x2 * (((uint64_t)x11 * x34) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x18 * x27))))))) +ℤ (0x10 * (((uint64_t)x11 * x34) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x18 * x27)))))))))); + ℤ x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) +ℤ ((((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25))))))) +ℤ ((0x2 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25)))))))) + (0x10 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25))))))))))); + ℤ x44 = (((uint64_t)x5 * x21) +ℤ (((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23))))))))) +ℤ ((0x2 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))) +ℤ (0x10 *ℤ ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23))))))))))))); + uint64_t x45 = (x36 >> 0x1c); + uint32_t x46 = ((uint32_t)x36 & 0xfffffff); + uint64_t x47 = ((0x10000000 * x45) + x46); + uint64_t x48 = (x47 >> 0x1c); + uint32_t x49 = ((uint32_t)x47 & 0xfffffff); + uint64_t x50 = ((0x10000000 * x48) + x49); + uint64_t x51 = (x50 >> 0x1c); + uint32_t x52 = ((uint32_t)x50 & 0xfffffff); + uint64_t x53 = ((0x10000000 * x51) + x52); + uint64_t x54 = (x53 >> 0x1c); + uint32_t x55 = ((uint32_t)x53 & 0xfffffff); + ℤ x56 = (x44 +ℤ (x54 + ((0x2 * x54) + (0x10 * x54)))); + uint64_t x57 = (x56 >> 0x1d); + uint32_t x58 = (x56 & 0x1fffffff); + ℤ x59 = (x57 +ℤ x43); + uint64_t x60 = (x59 >> 0x1c); + uint32_t x61 = (x59 & 0xfffffff); + ℤ x62 = (x60 +ℤ x42); + uint64_t x63 = (x62 >> 0x1c); + uint32_t x64 = (x62 & 0xfffffff); + ℤ x65 = (x63 +ℤ x41); + uint64_t x66 = (x65 >> 0x1d); + uint32_t x67 = (x65 & 0x1fffffff); + uint64_t x68 = (x66 + x40); + uint64_t x69 = (x68 >> 0x1c); + uint32_t x70 = ((uint32_t)x68 & 0xfffffff); + uint64_t x71 = (x69 + x39); + uint64_t x72 = (x71 >> 0x1c); + uint32_t x73 = ((uint32_t)x71 & 0xfffffff); + uint64_t x74 = (x72 + x38); + uint64_t x75 = (x74 >> 0x1d); + uint32_t x76 = ((uint32_t)x74 & 0x1fffffff); + uint64_t x77 = (x75 + x37); + uint64_t x78 = (x77 >> 0x1c); + uint32_t x79 = ((uint32_t)x77 & 0xfffffff); + uint64_t x80 = (x78 + x55); + uint32_t x81 = (uint32_t) (x80 >> 0x1c); + uint32_t x82 = ((uint32_t)x80 & 0xfffffff); + uint32_t x83 = (x58 + (x81 + ((0x2 * x81) + (0x10 * x81)))); + uint32_t x84 = (x83 >> 0x1d); + uint32_t x85 = (x83 & 0x1fffffff); + uint32_t x86 = (x85 >> 0x1d); + uint32_t x87 = (x85 & 0x1fffffff); + uint32_t x88 = (x87 >> 0x1d); + uint32_t x89 = (x87 & 0x1fffffff); + return (Return x82, Return x79, Return x76, Return x73, Return x70, Return x67, Return x64, (x88 + (x86 + (x84 + x61))), Return x89)) (x, x0)%core : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e255m2e4m2e1m1/fesquareDisplay.log b/src/Specific/solinas32_2e255m2e4m2e1m1/fesquareDisplay.log index 26802c8f4..db64b98a8 100644 --- a/src/Specific/solinas32_2e255m2e4m2e1m1/fesquareDisplay.log +++ b/src/Specific/solinas32_2e255m2e4m2e1m1/fesquareDisplay.log @@ -2,47 +2,60 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x17 = (uint64_t) x2 * x15 + (0x2 * ((uint64_t) x4 * x16) + ((uint64_t) x6 * x14 + ((uint64_t) x8 * x12 + (0x2 * ((uint64_t) x10 * x10) + ((uint64_t) x12 * x8 + ((uint64_t) x14 * x6 + (0x2 * ((uint64_t) x16 * x4) + (uint64_t) x15 * x2))))))); - uint64_t x18 = (uint64_t) x2 * x16 + ((uint64_t) x4 * x14 + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + ((uint64_t) x14 * x4 + (uint64_t) x16 * x2)))))) + ((uint64_t) x15 * x15 + (0x2 * ((uint64_t) x15 * x15) + 0x10 * ((uint64_t) x15 * x15))); - uint64_t x19 = (uint64_t) x2 * x14 + (0x2 * ((uint64_t) x4 * x12) + (0x2 * ((uint64_t) x6 * x10) + ((uint64_t) x8 * x8 + (0x2 * ((uint64_t) x10 * x6) + (0x2 * ((uint64_t) x12 * x4) + (uint64_t) x14 * x2))))) + (0x2 * ((uint64_t) x16 * x15) + 0x2 * ((uint64_t) x15 * x16) + (0x2 * (0x2 * ((uint64_t) x16 * x15) + 0x2 * ((uint64_t) x15 * x16)) + 0x10 * (0x2 * ((uint64_t) x16 * x15) + 0x2 * ((uint64_t) x15 * x16)))); - uint64_t x20 = (uint64_t) x2 * x12 + (0x2 * ((uint64_t) x4 * x10) + ((uint64_t) x6 * x8 + ((uint64_t) x8 * x6 + (0x2 * ((uint64_t) x10 * x4) + (uint64_t) x12 * x2)))) + ((uint64_t) x14 * x15 + (0x2 * ((uint64_t) x16 * x16) + (uint64_t) x15 * x14) + (0x2 * ((uint64_t) x14 * x15 + (0x2 * ((uint64_t) x16 * x16) + (uint64_t) x15 * x14)) + 0x10 * ((uint64_t) x14 * x15 + (0x2 * ((uint64_t) x16 * x16) + (uint64_t) x15 * x14)))); - uint64_t x21 = (uint64_t) x2 * x10 + ((uint64_t) x4 * x8 + ((uint64_t) x6 * x6 + ((uint64_t) x8 * x4 + (uint64_t) x10 * x2))) + ((uint64_t) x12 * x15 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + (uint64_t) x15 * x12)) + (0x2 * ((uint64_t) x12 * x15 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + (uint64_t) x15 * x12))) + 0x10 * ((uint64_t) x12 * x15 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + (uint64_t) x15 * x12))))); - ℤ x22 = ((uint64_t) x2 * x8 + (0x2 * ((uint64_t) x4 * x6) + (0x2 * ((uint64_t) x6 * x4) + (uint64_t) x8 * x2))) +ℤ ((0x2 * ((uint64_t) x10 * x15) + (0x2 * ((uint64_t) x12 * x16) + ((uint64_t) x14 * x14 + (0x2 * ((uint64_t) x16 * x12) + 0x2 * ((uint64_t) x15 * x10))))) +ℤ (0x2 * (0x2 * ((uint64_t) x10 * x15) + (0x2 * ((uint64_t) x12 * x16) + ((uint64_t) x14 * x14 + (0x2 * ((uint64_t) x16 * x12) + 0x2 * ((uint64_t) x15 * x10))))) +ℤ 0x10 * (0x2 * ((uint64_t) x10 * x15) + (0x2 * ((uint64_t) x12 * x16) + ((uint64_t) x14 * x14 + (0x2 * ((uint64_t) x16 * x12) + 0x2 * ((uint64_t) x15 * x10))))))); - ℤ x23 = ((uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2)) +ℤ (((uint64_t) x8 * x15 + (0x2 * ((uint64_t) x10 * x16) + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + (0x2 * ((uint64_t) x16 * x10) + (uint64_t) x15 * x8))))) +ℤ (0x2 * ((uint64_t) x8 * x15 + (0x2 * ((uint64_t) x10 * x16) + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + (0x2 * ((uint64_t) x16 * x10) + (uint64_t) x15 * x8))))) +ℤ 0x10 * ((uint64_t) x8 * x15 + (0x2 * ((uint64_t) x10 * x16) + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + (0x2 * ((uint64_t) x16 * x10) + (uint64_t) x15 * x8))))))); - ℤ x24 = ((uint64_t) x2 * x4 + (uint64_t) x4 * x2) +ℤ (((uint64_t) x6 * x15 + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + (uint64_t) x15 * x6)))))) +ℤ (0x2 * ((uint64_t) x6 * x15 + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + (uint64_t) x15 * x6)))))) + 0x10 * ((uint64_t) x6 * x15 + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + (uint64_t) x15 * x6)))))))); - ℤ x25 = (uint64_t) x2 * x2 +ℤ ((0x2 * ((uint64_t) x4 * x15) + (0x2 * ((uint64_t) x6 * x16) + ((uint64_t) x8 * x14 + (0x2 * ((uint64_t) x10 * x12) + (0x2 * ((uint64_t) x12 * x10) + ((uint64_t) x14 * x8 + (0x2 * ((uint64_t) x16 * x6) + 0x2 * ((uint64_t) x15 * x4)))))))) +ℤ (0x2 * (0x2 * ((uint64_t) x4 * x15) + (0x2 * ((uint64_t) x6 * x16) + ((uint64_t) x8 * x14 + (0x2 * ((uint64_t) x10 * x12) + (0x2 * ((uint64_t) x12 * x10) + ((uint64_t) x14 * x8 + (0x2 * ((uint64_t) x16 * x6) + 0x2 * ((uint64_t) x15 * x4)))))))) +ℤ 0x10 *ℤ (0x2 * ((uint64_t) x4 * x15) + (0x2 * ((uint64_t) x6 * x16) + ((uint64_t) x8 * x14 + (0x2 * ((uint64_t) x10 * x12) + (0x2 * ((uint64_t) x12 * x10) + ((uint64_t) x14 * x8 + (0x2 * ((uint64_t) x16 * x6) + 0x2 * ((uint64_t) x15 * x4)))))))))); - uint64_t x26 = x25 >> 0x1d; - uint32_t x27 = x25 &ℤ 0x1fffffff; - ℤ x28 = x26 +ℤ x24; - uint64_t x29 = x28 >> 0x1c; - uint32_t x30 = x28 &ℤ 0xfffffff; - ℤ x31 = x29 +ℤ x23; - uint64_t x32 = x31 >> 0x1c; - uint32_t x33 = x31 &ℤ 0xfffffff; - ℤ x34 = x32 +ℤ x22; - uint64_t x35 = x34 >> 0x1d; - uint32_t x36 = x34 &ℤ 0x1fffffff; - uint64_t x37 = x35 + x21; - uint64_t x38 = x37 >> 0x1c; - uint32_t x39 = (uint32_t) x37 & 0xfffffff; - uint64_t x40 = x38 + x20; - uint64_t x41 = x40 >> 0x1c; - uint32_t x42 = (uint32_t) x40 & 0xfffffff; - uint64_t x43 = x41 + x19; - uint64_t x44 = x43 >> 0x1d; - uint32_t x45 = (uint32_t) x43 & 0x1fffffff; - uint64_t x46 = x44 + x18; - uint64_t x47 = x46 >> 0x1c; - uint32_t x48 = (uint32_t) x46 & 0xfffffff; - uint64_t x49 = x47 + x17; - uint64_t x50 = x49 >> 0x1c; - uint32_t x51 = (uint32_t) x49 & 0xfffffff; - uint64_t x52 = x27 + (x50 + (0x2 * x50 + 0x10 * x50)); - uint32_t x53 = (uint32_t) (x52 >> 0x1d); - uint32_t x54 = (uint32_t) x52 & 0x1fffffff; - uint32_t x55 = x53 + x30; - uint32_t x56 = x55 >> 0x1c; - uint32_t x57 = x55 & 0xfffffff; - return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, x56 + x33, Return x57, Return x54)) + uint64_t x17 = (((uint64_t)x2 * x15) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x15 * x2))))))))); + uint64_t x18 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (((uint64_t)x15 * x15) + ((0x2 * ((uint64_t)x15 * x15)) + (0x10 * ((uint64_t)x15 * x15))))); + uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16))) + ((0x2 * ((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16)))) + (0x10 * ((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16))))))); + uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + ((((uint64_t)x14 * x15) + ((0x2 * ((uint64_t)x16 * x16)) + ((uint64_t)x15 * x14))) + ((0x2 * (((uint64_t)x14 * x15) + ((0x2 * ((uint64_t)x16 * x16)) + ((uint64_t)x15 * x14)))) + (0x10 * (((uint64_t)x14 * x15) + ((0x2 * ((uint64_t)x16 * x16)) + ((uint64_t)x15 * x14))))))); + uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + ((((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12)))) + ((0x2 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))) + (0x10 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12)))))))); + ℤ x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) +ℤ (((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10)))))) +ℤ ((0x2 * ((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10))))))) +ℤ (0x10 * ((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10)))))))))); + ℤ x23 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) +ℤ ((((uint64_t)x8 * x15) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + ((uint64_t)x15 * x8)))))) +ℤ ((0x2 * (((uint64_t)x8 * x15) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + ((uint64_t)x15 * x8))))))) +ℤ (0x10 * (((uint64_t)x8 * x15) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + ((uint64_t)x15 * x8)))))))))); + ℤ x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ ((((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6))))))) +ℤ ((0x2 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6)))))))) + (0x10 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6))))))))))); + ℤ x25 = (((uint64_t)x2 * x2) +ℤ (((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4))))))))) +ℤ ((0x2 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))) +ℤ (0x10 *ℤ ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4))))))))))))); + uint64_t x26 = (x17 >> 0x1c); + uint32_t x27 = ((uint32_t)x17 & 0xfffffff); + uint64_t x28 = ((0x10000000 * x26) + x27); + uint64_t x29 = (x28 >> 0x1c); + uint32_t x30 = ((uint32_t)x28 & 0xfffffff); + uint64_t x31 = ((0x10000000 * x29) + x30); + uint64_t x32 = (x31 >> 0x1c); + uint32_t x33 = ((uint32_t)x31 & 0xfffffff); + uint64_t x34 = ((0x10000000 * x32) + x33); + uint64_t x35 = (x34 >> 0x1c); + uint32_t x36 = ((uint32_t)x34 & 0xfffffff); + ℤ x37 = (x25 +ℤ (x35 + ((0x2 * x35) + (0x10 * x35)))); + uint64_t x38 = (x37 >> 0x1d); + uint32_t x39 = (x37 & 0x1fffffff); + ℤ x40 = (x38 +ℤ x24); + uint64_t x41 = (x40 >> 0x1c); + uint32_t x42 = (x40 & 0xfffffff); + ℤ x43 = (x41 +ℤ x23); + uint64_t x44 = (x43 >> 0x1c); + uint32_t x45 = (x43 & 0xfffffff); + ℤ x46 = (x44 +ℤ x22); + uint64_t x47 = (x46 >> 0x1d); + uint32_t x48 = (x46 & 0x1fffffff); + uint64_t x49 = (x47 + x21); + uint64_t x50 = (x49 >> 0x1c); + uint32_t x51 = ((uint32_t)x49 & 0xfffffff); + uint64_t x52 = (x50 + x20); + uint64_t x53 = (x52 >> 0x1c); + uint32_t x54 = ((uint32_t)x52 & 0xfffffff); + uint64_t x55 = (x53 + x19); + uint64_t x56 = (x55 >> 0x1d); + uint32_t x57 = ((uint32_t)x55 & 0x1fffffff); + uint64_t x58 = (x56 + x18); + uint64_t x59 = (x58 >> 0x1c); + uint32_t x60 = ((uint32_t)x58 & 0xfffffff); + uint64_t x61 = (x59 + x36); + uint32_t x62 = (uint32_t) (x61 >> 0x1c); + uint32_t x63 = ((uint32_t)x61 & 0xfffffff); + uint32_t x64 = (x39 + (x62 + ((0x2 * x62) + (0x10 * x62)))); + uint32_t x65 = (x64 >> 0x1d); + uint32_t x66 = (x64 & 0x1fffffff); + uint32_t x67 = (x66 >> 0x1d); + uint32_t x68 = (x66 & 0x1fffffff); + uint32_t x69 = (x68 >> 0x1d); + uint32_t x70 = (x68 & 0x1fffffff); + return (Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, (x69 + (x67 + (x65 + x42))), Return x70)) x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e255m2e4m2e1m1/freezeDisplay.log b/src/Specific/solinas32_2e255m2e4m2e1m1/freezeDisplay.log index 6bceed2df..f92d018a1 100644 --- a/src/Specific/solinas32_2e255m2e4m2e1m1/freezeDisplay.log +++ b/src/Specific/solinas32_2e255m2e4m2e1m1/freezeDisplay.log @@ -12,23 +12,23 @@ Interp-η uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0xfffffff); uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0xfffffff); uint32_t x44 = (uint32_t)cmovznz(x43, 0x0, 0xffffffff); - uint32_t x45 = x44 & 0x1fffffed; + uint32_t x45 = (x44 & 0x1fffffed); uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45); - uint32_t x49 = x44 & 0xfffffff; + uint32_t x49 = (x44 & 0xfffffff); uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); - uint32_t x53 = x44 & 0xfffffff; + uint32_t x53 = (x44 & 0xfffffff); uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); - uint32_t x57 = x44 & 0x1fffffff; + uint32_t x57 = (x44 & 0x1fffffff); uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); - uint32_t x61 = x44 & 0xfffffff; + uint32_t x61 = (x44 & 0xfffffff); uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); - uint32_t x65 = x44 & 0xfffffff; + uint32_t x65 = (x44 & 0xfffffff); uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); - uint32_t x69 = x44 & 0x1fffffff; + uint32_t x69 = (x44 & 0x1fffffff); uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); - uint32_t x73 = x44 & 0xfffffff; + uint32_t x73 = (x44 & 0xfffffff); uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); - uint32_t x77 = x44 & 0xfffffff; + uint32_t x77 = (x44 & 0xfffffff); uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) x diff --git a/src/Specific/solinas64_2e369m25/femulDisplay.log b/src/Specific/solinas64_2e369m25/femulDisplay.log index 2411a99b4..7914bb499 100644 --- a/src/Specific/solinas64_2e369m25/femulDisplay.log +++ b/src/Specific/solinas64_2e369m25/femulDisplay.log @@ -2,43 +2,43 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, - uint128_t x32 = (uint128_t) x5 * x30 + (0x2 * ((uint128_t) x7 * x31) + (0x2 * ((uint128_t) x9 * x29) + (0x2 * ((uint128_t) x11 * x27) + (0x2 * ((uint128_t) x13 * x25) + (0x2 * ((uint128_t) x15 * x23) + (0x2 * ((uint128_t) x17 * x21) + (uint128_t) x16 * x19)))))); - uint128_t x33 = (uint128_t) x5 * x31 + (0x2 * ((uint128_t) x7 * x29) + (0x2 * ((uint128_t) x9 * x27) + (0x2 * ((uint128_t) x11 * x25) + (0x2 * ((uint128_t) x13 * x23) + (0x2 * ((uint128_t) x15 * x21) + (uint128_t) x17 * x19))))) + 0x19 * ((uint128_t) x16 * x30); - uint128_t x34 = (uint128_t) x5 * x29 + (0x2 * ((uint128_t) x7 * x27) + (0x2 * ((uint128_t) x9 * x25) + (0x2 * ((uint128_t) x11 * x23) + (0x2 * ((uint128_t) x13 * x21) + (uint128_t) x15 * x19)))) + 0x19 * ((uint128_t) x17 * x30 + (uint128_t) x16 * x31); - uint128_t x35 = (uint128_t) x5 * x27 + (0x2 * ((uint128_t) x7 * x25) + (0x2 * ((uint128_t) x9 * x23) + (0x2 * ((uint128_t) x11 * x21) + (uint128_t) x13 * x19))) + 0x19 * ((uint128_t) x15 * x30 + ((uint128_t) x17 * x31 + (uint128_t) x16 * x29)); - uint128_t x36 = (uint128_t) x5 * x25 + (0x2 * ((uint128_t) x7 * x23) + (0x2 * ((uint128_t) x9 * x21) + (uint128_t) x11 * x19)) + 0x19 * ((uint128_t) x13 * x30 + ((uint128_t) x15 * x31 + ((uint128_t) x17 * x29 + (uint128_t) x16 * x27))); - uint128_t x37 = (uint128_t) x5 * x23 + (0x2 * ((uint128_t) x7 * x21) + (uint128_t) x9 * x19) + 0x19 * ((uint128_t) x11 * x30 + ((uint128_t) x13 * x31 + ((uint128_t) x15 * x29 + ((uint128_t) x17 * x27 + (uint128_t) x16 * x25)))); - uint128_t x38 = (uint128_t) x5 * x21 + (uint128_t) x7 * x19 + 0x19 * ((uint128_t) x9 * x30 + ((uint128_t) x11 * x31 + ((uint128_t) x13 * x29 + ((uint128_t) x15 * x27 + ((uint128_t) x17 * x25 + (uint128_t) x16 * x23))))); - uint128_t x39 = (uint128_t) x5 * x19 + 0x19 * (0x2 * ((uint128_t) x7 * x30) + (0x2 * ((uint128_t) x9 * x31) + (0x2 * ((uint128_t) x11 * x29) + (0x2 * ((uint128_t) x13 * x27) + (0x2 * ((uint128_t) x15 * x25) + (0x2 * ((uint128_t) x17 * x23) + 0x2 * ((uint128_t) x16 * x21))))))); + uint128_t x32 = (((uint128_t)x5 * x30) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + ((0x2 * ((uint128_t)x17 * x21)) + ((uint128_t)x16 * x19)))))))); + uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x19 * ((uint128_t)x16 * x30))); + uint128_t x34 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + ((0x2 * ((uint128_t)x13 * x21)) + ((uint128_t)x15 * x19)))))) + (0x19 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31)))); + uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x19 * (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29))))); + uint128_t x36 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))) + (0x19 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27)))))); + uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x19 * (((uint128_t)x11 * x30) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + ((uint128_t)x16 * x25))))))); + uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x19 * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23)))))))); + uint128_t x39 = (((uint128_t)x5 * x19) + (0x19 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21)))))))))); uint64_t x40 = (uint64_t) (x39 >> 0x2f); - uint64_t x41 = (uint64_t) x39 & 0x7fffffffffff; - uint128_t x42 = x40 + x38; + uint64_t x41 = ((uint64_t)x39 & 0x7fffffffffff); + uint128_t x42 = (x40 + x38); uint64_t x43 = (uint64_t) (x42 >> 0x2e); - uint64_t x44 = (uint64_t) x42 & 0x3fffffffffff; - uint128_t x45 = x43 + x37; + uint64_t x44 = ((uint64_t)x42 & 0x3fffffffffff); + uint128_t x45 = (x43 + x37); uint64_t x46 = (uint64_t) (x45 >> 0x2e); - uint64_t x47 = (uint64_t) x45 & 0x3fffffffffff; - uint128_t x48 = x46 + x36; + uint64_t x47 = ((uint64_t)x45 & 0x3fffffffffff); + uint128_t x48 = (x46 + x36); uint64_t x49 = (uint64_t) (x48 >> 0x2e); - uint64_t x50 = (uint64_t) x48 & 0x3fffffffffff; - uint128_t x51 = x49 + x35; + uint64_t x50 = ((uint64_t)x48 & 0x3fffffffffff); + uint128_t x51 = (x49 + x35); uint64_t x52 = (uint64_t) (x51 >> 0x2e); - uint64_t x53 = (uint64_t) x51 & 0x3fffffffffff; - uint128_t x54 = x52 + x34; + uint64_t x53 = ((uint64_t)x51 & 0x3fffffffffff); + uint128_t x54 = (x52 + x34); uint64_t x55 = (uint64_t) (x54 >> 0x2e); - uint64_t x56 = (uint64_t) x54 & 0x3fffffffffff; - uint128_t x57 = x55 + x33; + uint64_t x56 = ((uint64_t)x54 & 0x3fffffffffff); + uint128_t x57 = (x55 + x33); uint64_t x58 = (uint64_t) (x57 >> 0x2e); - uint64_t x59 = (uint64_t) x57 & 0x3fffffffffff; - uint128_t x60 = x58 + x32; + uint64_t x59 = ((uint64_t)x57 & 0x3fffffffffff); + uint128_t x60 = (x58 + x32); uint64_t x61 = (uint64_t) (x60 >> 0x2e); - uint64_t x62 = (uint64_t) x60 & 0x3fffffffffff; - uint64_t x63 = x41 + 0x19 * x61; - uint64_t x64 = x63 >> 0x2f; - uint64_t x65 = x63 & 0x7fffffffffff; - uint64_t x66 = x64 + x44; - uint64_t x67 = x66 >> 0x2e; - uint64_t x68 = x66 & 0x3fffffffffff; - return (Return x62, Return x59, Return x56, Return x53, Return x50, x67 + x47, Return x68, Return x65)) + uint64_t x62 = ((uint64_t)x60 & 0x3fffffffffff); + uint64_t x63 = (x41 + (0x19 * x61)); + uint64_t x64 = (x63 >> 0x2f); + uint64_t x65 = (x63 & 0x7fffffffffff); + uint64_t x66 = (x64 + x44); + uint64_t x67 = (x66 >> 0x2e); + uint64_t x68 = (x66 & 0x3fffffffffff); + return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65)) (x, x0)%core : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e369m25/fesquareDisplay.log b/src/Specific/solinas64_2e369m25/fesquareDisplay.log index c29105ddf..c27dfaf7f 100644 --- a/src/Specific/solinas64_2e369m25/fesquareDisplay.log +++ b/src/Specific/solinas64_2e369m25/fesquareDisplay.log @@ -2,43 +2,43 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, - uint128_t x15 = (uint128_t) x2 * x13 + (0x2 * ((uint128_t) x4 * x14) + (0x2 * ((uint128_t) x6 * x12) + (0x2 * ((uint128_t) x8 * x10) + (0x2 * ((uint128_t) x10 * x8) + (0x2 * ((uint128_t) x12 * x6) + (0x2 * ((uint128_t) x14 * x4) + (uint128_t) x13 * x2)))))); - uint128_t x16 = (uint128_t) x2 * x14 + (0x2 * ((uint128_t) x4 * x12) + (0x2 * ((uint128_t) x6 * x10) + (0x2 * ((uint128_t) x8 * x8) + (0x2 * ((uint128_t) x10 * x6) + (0x2 * ((uint128_t) x12 * x4) + (uint128_t) x14 * x2))))) + 0x19 * ((uint128_t) x13 * x13); - uint128_t x17 = (uint128_t) x2 * x12 + (0x2 * ((uint128_t) x4 * x10) + (0x2 * ((uint128_t) x6 * x8) + (0x2 * ((uint128_t) x8 * x6) + (0x2 * ((uint128_t) x10 * x4) + (uint128_t) x12 * x2)))) + 0x19 * ((uint128_t) x14 * x13 + (uint128_t) x13 * x14); - uint128_t x18 = (uint128_t) x2 * x10 + (0x2 * ((uint128_t) x4 * x8) + (0x2 * ((uint128_t) x6 * x6) + (0x2 * ((uint128_t) x8 * x4) + (uint128_t) x10 * x2))) + 0x19 * ((uint128_t) x12 * x13 + ((uint128_t) x14 * x14 + (uint128_t) x13 * x12)); - uint128_t x19 = (uint128_t) x2 * x8 + (0x2 * ((uint128_t) x4 * x6) + (0x2 * ((uint128_t) x6 * x4) + (uint128_t) x8 * x2)) + 0x19 * ((uint128_t) x10 * x13 + ((uint128_t) x12 * x14 + ((uint128_t) x14 * x12 + (uint128_t) x13 * x10))); - uint128_t x20 = (uint128_t) x2 * x6 + (0x2 * ((uint128_t) x4 * x4) + (uint128_t) x6 * x2) + 0x19 * ((uint128_t) x8 * x13 + ((uint128_t) x10 * x14 + ((uint128_t) x12 * x12 + ((uint128_t) x14 * x10 + (uint128_t) x13 * x8)))); - uint128_t x21 = (uint128_t) x2 * x4 + (uint128_t) x4 * x2 + 0x19 * ((uint128_t) x6 * x13 + ((uint128_t) x8 * x14 + ((uint128_t) x10 * x12 + ((uint128_t) x12 * x10 + ((uint128_t) x14 * x8 + (uint128_t) x13 * x6))))); - uint128_t x22 = (uint128_t) x2 * x2 + 0x19 * (0x2 * ((uint128_t) x4 * x13) + (0x2 * ((uint128_t) x6 * x14) + (0x2 * ((uint128_t) x8 * x12) + (0x2 * ((uint128_t) x10 * x10) + (0x2 * ((uint128_t) x12 * x8) + (0x2 * ((uint128_t) x14 * x6) + 0x2 * ((uint128_t) x13 * x4))))))); + uint128_t x15 = (((uint128_t)x2 * x13) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x13 * x2)))))))); + uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x19 * ((uint128_t)x13 * x13))); + uint128_t x17 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x19 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14)))); + uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x19 * (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12))))); + uint128_t x19 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x19 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10)))))); + uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x19 * (((uint128_t)x8 * x13) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + ((uint128_t)x13 * x8))))))); + uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6)))))))); + uint128_t x22 = (((uint128_t)x2 * x2) + (0x19 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4)))))))))); uint64_t x23 = (uint64_t) (x22 >> 0x2f); - uint64_t x24 = (uint64_t) x22 & 0x7fffffffffff; - uint128_t x25 = x23 + x21; + uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffff); + uint128_t x25 = (x23 + x21); uint64_t x26 = (uint64_t) (x25 >> 0x2e); - uint64_t x27 = (uint64_t) x25 & 0x3fffffffffff; - uint128_t x28 = x26 + x20; + uint64_t x27 = ((uint64_t)x25 & 0x3fffffffffff); + uint128_t x28 = (x26 + x20); uint64_t x29 = (uint64_t) (x28 >> 0x2e); - uint64_t x30 = (uint64_t) x28 & 0x3fffffffffff; - uint128_t x31 = x29 + x19; + uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffff); + uint128_t x31 = (x29 + x19); uint64_t x32 = (uint64_t) (x31 >> 0x2e); - uint64_t x33 = (uint64_t) x31 & 0x3fffffffffff; - uint128_t x34 = x32 + x18; + uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffff); + uint128_t x34 = (x32 + x18); uint64_t x35 = (uint64_t) (x34 >> 0x2e); - uint64_t x36 = (uint64_t) x34 & 0x3fffffffffff; - uint128_t x37 = x35 + x17; + uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffff); + uint128_t x37 = (x35 + x17); uint64_t x38 = (uint64_t) (x37 >> 0x2e); - uint64_t x39 = (uint64_t) x37 & 0x3fffffffffff; - uint128_t x40 = x38 + x16; + uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffff); + uint128_t x40 = (x38 + x16); uint64_t x41 = (uint64_t) (x40 >> 0x2e); - uint64_t x42 = (uint64_t) x40 & 0x3fffffffffff; - uint128_t x43 = x41 + x15; + uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffff); + uint128_t x43 = (x41 + x15); uint64_t x44 = (uint64_t) (x43 >> 0x2e); - uint64_t x45 = (uint64_t) x43 & 0x3fffffffffff; - uint64_t x46 = x24 + 0x19 * x44; - uint64_t x47 = x46 >> 0x2f; - uint64_t x48 = x46 & 0x7fffffffffff; - uint64_t x49 = x47 + x27; - uint64_t x50 = x49 >> 0x2e; - uint64_t x51 = x49 & 0x3fffffffffff; - return (Return x45, Return x42, Return x39, Return x36, Return x33, x50 + x30, Return x51, Return x48)) + uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffff); + uint64_t x46 = (x24 + (0x19 * x44)); + uint64_t x47 = (x46 >> 0x2f); + uint64_t x48 = (x46 & 0x7fffffffffff); + uint64_t x49 = (x47 + x27); + uint64_t x50 = (x49 >> 0x2e); + uint64_t x51 = (x49 & 0x3fffffffffff); + return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48)) x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e369m25/freezeDisplay.log b/src/Specific/solinas64_2e369m25/freezeDisplay.log index f3427063b..52a4c8379 100644 --- a/src/Specific/solinas64_2e369m25/freezeDisplay.log +++ b/src/Specific/solinas64_2e369m25/freezeDisplay.log @@ -11,21 +11,21 @@ Interp-η uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x3fffffffffff); uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x3fffffffffff); uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); - uint64_t x40 = x39 & 0x7fffffffffe7; + uint64_t x40 = (x39 & 0x7fffffffffe7); uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40); - uint64_t x44 = x39 & 0x3fffffffffff; + uint64_t x44 = (x39 & 0x3fffffffffff); uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); - uint64_t x48 = x39 & 0x3fffffffffff; + uint64_t x48 = (x39 & 0x3fffffffffff); uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); - uint64_t x52 = x39 & 0x3fffffffffff; + uint64_t x52 = (x39 & 0x3fffffffffff); uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); - uint64_t x56 = x39 & 0x3fffffffffff; + uint64_t x56 = (x39 & 0x3fffffffffff); uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); - uint64_t x60 = x39 & 0x3fffffffffff; + uint64_t x60 = (x39 & 0x3fffffffffff); uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); - uint64_t x64 = x39 & 0x3fffffffffff; + uint64_t x64 = (x39 & 0x3fffffffffff); uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); - uint64_t x68 = x39 & 0x3fffffffffff; + uint64_t x68 = (x39 & 0x3fffffffffff); uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1/freezeDisplay.log b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1/freezeDisplay.log index 4c8be970a..394835316 100644 --- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1/freezeDisplay.log +++ b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1/freezeDisplay.log @@ -11,20 +11,20 @@ Interp-η uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffff); uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffff); uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); - uint64_t x40 = x39 & 0xffffffff; + uint64_t x40 = (x39 & 0xffffffff); uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40); uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, 0x0); - uint64_t x47 = x39 & 0xfffeffffffff; + uint64_t x47 = (x39 & 0xfffeffffffff); uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x22, Return x47); - uint64_t x51 = x39 & 0xffffffffffff; + uint64_t x51 = (x39 & 0xffffffffffff); uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x25, Return x51); - uint64_t x55 = x39 & 0xffffffffffff; + uint64_t x55 = (x39 & 0xffffffffffff); uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x28, Return x55); - uint64_t x59 = x39 & 0xffffffffffff; + uint64_t x59 = (x39 & 0xffffffffffff); uint64_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x31, Return x59); - uint64_t x63 = x39 & 0xffffffffffff; + uint64_t x63 = (x39 & 0xffffffffffff); uint64_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x62, Return x34, Return x63); - uint64_t x67 = x39 & 0xffffffffffff; + uint64_t x67 = (x39 & 0xffffffffffff); uint64_t x69, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x66, Return x37, Return x67); (Return x69, Return x65, Return x61, Return x57, Return x53, Return x49, Return x45, Return x42)) x diff --git a/src/Specific/solinas64_2e384m317/femulDisplay.log b/src/Specific/solinas64_2e384m317/femulDisplay.log index 4730fb88a..a9357bb1e 100644 --- a/src/Specific/solinas64_2e384m317/femulDisplay.log +++ b/src/Specific/solinas64_2e384m317/femulDisplay.log @@ -2,43 +2,43 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, - uint128_t x32 = (uint128_t) x5 * x30 + ((uint128_t) x7 * x31 + ((uint128_t) x9 * x29 + ((uint128_t) x11 * x27 + ((uint128_t) x13 * x25 + ((uint128_t) x15 * x23 + ((uint128_t) x17 * x21 + (uint128_t) x16 * x19)))))); - uint128_t x33 = (uint128_t) x5 * x31 + ((uint128_t) x7 * x29 + ((uint128_t) x9 * x27 + ((uint128_t) x11 * x25 + ((uint128_t) x13 * x23 + ((uint128_t) x15 * x21 + (uint128_t) x17 * x19))))) + 0x13d * ((uint128_t) x16 * x30); - uint128_t x34 = (uint128_t) x5 * x29 + ((uint128_t) x7 * x27 + ((uint128_t) x9 * x25 + ((uint128_t) x11 * x23 + ((uint128_t) x13 * x21 + (uint128_t) x15 * x19)))) + 0x13d * ((uint128_t) x17 * x30 + (uint128_t) x16 * x31); - uint128_t x35 = (uint128_t) x5 * x27 + ((uint128_t) x7 * x25 + ((uint128_t) x9 * x23 + ((uint128_t) x11 * x21 + (uint128_t) x13 * x19))) + 0x13d * ((uint128_t) x15 * x30 + ((uint128_t) x17 * x31 + (uint128_t) x16 * x29)); - uint128_t x36 = (uint128_t) x5 * x25 + ((uint128_t) x7 * x23 + ((uint128_t) x9 * x21 + (uint128_t) x11 * x19)) + 0x13d * ((uint128_t) x13 * x30 + ((uint128_t) x15 * x31 + ((uint128_t) x17 * x29 + (uint128_t) x16 * x27))); - uint128_t x37 = (uint128_t) x5 * x23 + ((uint128_t) x7 * x21 + (uint128_t) x9 * x19) + 0x13d * ((uint128_t) x11 * x30 + ((uint128_t) x13 * x31 + ((uint128_t) x15 * x29 + ((uint128_t) x17 * x27 + (uint128_t) x16 * x25)))); - uint128_t x38 = (uint128_t) x5 * x21 + (uint128_t) x7 * x19 + 0x13d * ((uint128_t) x9 * x30 + ((uint128_t) x11 * x31 + ((uint128_t) x13 * x29 + ((uint128_t) x15 * x27 + ((uint128_t) x17 * x25 + (uint128_t) x16 * x23))))); - uint128_t x39 = (uint128_t) x5 * x19 + 0x13d * ((uint128_t) x7 * x30 + ((uint128_t) x9 * x31 + ((uint128_t) x11 * x29 + ((uint128_t) x13 * x27 + ((uint128_t) x15 * x25 + ((uint128_t) x17 * x23 + (uint128_t) x16 * x21)))))); + uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19)))))))); + uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0x13d * ((uint128_t)x16 * x30))); + uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x13d * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31)))); + uint128_t x35 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + ((uint128_t)x13 * x19))))) + (0x13d * (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29))))); + uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x13d * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27)))))); + uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x13d * (((uint128_t)x11 * x30) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + ((uint128_t)x16 * x25))))))); + uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x13d * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23)))))))); + uint128_t x39 = (((uint128_t)x5 * x19) + (0x13d * (((uint128_t)x7 * x30) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x16 * x21))))))))); uint64_t x40 = (uint64_t) (x39 >> 0x30); - uint64_t x41 = (uint64_t) x39 & 0xffffffffffff; - uint128_t x42 = x40 + x38; + uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff); + uint128_t x42 = (x40 + x38); uint64_t x43 = (uint64_t) (x42 >> 0x30); - uint64_t x44 = (uint64_t) x42 & 0xffffffffffff; - uint128_t x45 = x43 + x37; + uint64_t x44 = ((uint64_t)x42 & 0xffffffffffff); + uint128_t x45 = (x43 + x37); uint64_t x46 = (uint64_t) (x45 >> 0x30); - uint64_t x47 = (uint64_t) x45 & 0xffffffffffff; - uint128_t x48 = x46 + x36; + uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff); + uint128_t x48 = (x46 + x36); uint64_t x49 = (uint64_t) (x48 >> 0x30); - uint64_t x50 = (uint64_t) x48 & 0xffffffffffff; - uint128_t x51 = x49 + x35; + uint64_t x50 = ((uint64_t)x48 & 0xffffffffffff); + uint128_t x51 = (x49 + x35); uint64_t x52 = (uint64_t) (x51 >> 0x30); - uint64_t x53 = (uint64_t) x51 & 0xffffffffffff; - uint128_t x54 = x52 + x34; + uint64_t x53 = ((uint64_t)x51 & 0xffffffffffff); + uint128_t x54 = (x52 + x34); uint64_t x55 = (uint64_t) (x54 >> 0x30); - uint64_t x56 = (uint64_t) x54 & 0xffffffffffff; - uint128_t x57 = x55 + x33; + uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff); + uint128_t x57 = (x55 + x33); uint64_t x58 = (uint64_t) (x57 >> 0x30); - uint64_t x59 = (uint64_t) x57 & 0xffffffffffff; - uint128_t x60 = x58 + x32; + uint64_t x59 = ((uint64_t)x57 & 0xffffffffffff); + uint128_t x60 = (x58 + x32); uint64_t x61 = (uint64_t) (x60 >> 0x30); - uint64_t x62 = (uint64_t) x60 & 0xffffffffffff; - uint64_t x63 = x41 + 0x13d * x61; - uint64_t x64 = x63 >> 0x30; - uint64_t x65 = x63 & 0xffffffffffff; - uint64_t x66 = x64 + x44; - uint64_t x67 = x66 >> 0x30; - uint64_t x68 = x66 & 0xffffffffffff; - return (Return x62, Return x59, Return x56, Return x53, Return x50, x67 + x47, Return x68, Return x65)) + uint64_t x62 = ((uint64_t)x60 & 0xffffffffffff); + uint64_t x63 = (x41 + (0x13d * x61)); + uint64_t x64 = (x63 >> 0x30); + uint64_t x65 = (x63 & 0xffffffffffff); + uint64_t x66 = (x64 + x44); + uint64_t x67 = (x66 >> 0x30); + uint64_t x68 = (x66 & 0xffffffffffff); + return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65)) (x, x0)%core : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e384m317/fesquareDisplay.log b/src/Specific/solinas64_2e384m317/fesquareDisplay.log index fa5c40707..25c7fd4d2 100644 --- a/src/Specific/solinas64_2e384m317/fesquareDisplay.log +++ b/src/Specific/solinas64_2e384m317/fesquareDisplay.log @@ -2,43 +2,43 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, - uint128_t x15 = (uint128_t) x2 * x13 + ((uint128_t) x4 * x14 + ((uint128_t) x6 * x12 + ((uint128_t) x8 * x10 + ((uint128_t) x10 * x8 + ((uint128_t) x12 * x6 + ((uint128_t) x14 * x4 + (uint128_t) x13 * x2)))))); - uint128_t x16 = (uint128_t) x2 * x14 + ((uint128_t) x4 * x12 + ((uint128_t) x6 * x10 + ((uint128_t) x8 * x8 + ((uint128_t) x10 * x6 + ((uint128_t) x12 * x4 + (uint128_t) x14 * x2))))) + 0x13d * ((uint128_t) x13 * x13); - uint128_t x17 = (uint128_t) x2 * x12 + ((uint128_t) x4 * x10 + ((uint128_t) x6 * x8 + ((uint128_t) x8 * x6 + ((uint128_t) x10 * x4 + (uint128_t) x12 * x2)))) + 0x13d * ((uint128_t) x14 * x13 + (uint128_t) x13 * x14); - uint128_t x18 = (uint128_t) x2 * x10 + ((uint128_t) x4 * x8 + ((uint128_t) x6 * x6 + ((uint128_t) x8 * x4 + (uint128_t) x10 * x2))) + 0x13d * ((uint128_t) x12 * x13 + ((uint128_t) x14 * x14 + (uint128_t) x13 * x12)); - uint128_t x19 = (uint128_t) x2 * x8 + ((uint128_t) x4 * x6 + ((uint128_t) x6 * x4 + (uint128_t) x8 * x2)) + 0x13d * ((uint128_t) x10 * x13 + ((uint128_t) x12 * x14 + ((uint128_t) x14 * x12 + (uint128_t) x13 * x10))); - uint128_t x20 = (uint128_t) x2 * x6 + ((uint128_t) x4 * x4 + (uint128_t) x6 * x2) + 0x13d * ((uint128_t) x8 * x13 + ((uint128_t) x10 * x14 + ((uint128_t) x12 * x12 + ((uint128_t) x14 * x10 + (uint128_t) x13 * x8)))); - uint128_t x21 = (uint128_t) x2 * x4 + (uint128_t) x4 * x2 + 0x13d * ((uint128_t) x6 * x13 + ((uint128_t) x8 * x14 + ((uint128_t) x10 * x12 + ((uint128_t) x12 * x10 + ((uint128_t) x14 * x8 + (uint128_t) x13 * x6))))); - uint128_t x22 = (uint128_t) x2 * x2 + 0x13d * ((uint128_t) x4 * x13 + ((uint128_t) x6 * x14 + ((uint128_t) x8 * x12 + ((uint128_t) x10 * x10 + ((uint128_t) x12 * x8 + ((uint128_t) x14 * x6 + (uint128_t) x13 * x4)))))); + uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2)))))))); + uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x13d * ((uint128_t)x13 * x13))); + uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x13d * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14)))); + uint128_t x18 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x13d * (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12))))); + uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x13d * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10)))))); + uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x13d * (((uint128_t)x8 * x13) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + ((uint128_t)x13 * x8))))))); + uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13d * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6)))))))); + uint128_t x22 = (((uint128_t)x2 * x2) + (0x13d * (((uint128_t)x4 * x13) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + ((uint128_t)x13 * x4))))))))); uint64_t x23 = (uint64_t) (x22 >> 0x30); - uint64_t x24 = (uint64_t) x22 & 0xffffffffffff; - uint128_t x25 = x23 + x21; + uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff); + uint128_t x25 = (x23 + x21); uint64_t x26 = (uint64_t) (x25 >> 0x30); - uint64_t x27 = (uint64_t) x25 & 0xffffffffffff; - uint128_t x28 = x26 + x20; + uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff); + uint128_t x28 = (x26 + x20); uint64_t x29 = (uint64_t) (x28 >> 0x30); - uint64_t x30 = (uint64_t) x28 & 0xffffffffffff; - uint128_t x31 = x29 + x19; + uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff); + uint128_t x31 = (x29 + x19); uint64_t x32 = (uint64_t) (x31 >> 0x30); - uint64_t x33 = (uint64_t) x31 & 0xffffffffffff; - uint128_t x34 = x32 + x18; + uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff); + uint128_t x34 = (x32 + x18); uint64_t x35 = (uint64_t) (x34 >> 0x30); - uint64_t x36 = (uint64_t) x34 & 0xffffffffffff; - uint128_t x37 = x35 + x17; + uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff); + uint128_t x37 = (x35 + x17); uint64_t x38 = (uint64_t) (x37 >> 0x30); - uint64_t x39 = (uint64_t) x37 & 0xffffffffffff; - uint128_t x40 = x38 + x16; + uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff); + uint128_t x40 = (x38 + x16); uint64_t x41 = (uint64_t) (x40 >> 0x30); - uint64_t x42 = (uint64_t) x40 & 0xffffffffffff; - uint128_t x43 = x41 + x15; + uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff); + uint128_t x43 = (x41 + x15); uint64_t x44 = (uint64_t) (x43 >> 0x30); - uint64_t x45 = (uint64_t) x43 & 0xffffffffffff; - uint64_t x46 = x24 + 0x13d * x44; - uint64_t x47 = x46 >> 0x30; - uint64_t x48 = x46 & 0xffffffffffff; - uint64_t x49 = x47 + x27; - uint64_t x50 = x49 >> 0x30; - uint64_t x51 = x49 & 0xffffffffffff; - return (Return x45, Return x42, Return x39, Return x36, Return x33, x50 + x30, Return x51, Return x48)) + uint64_t x45 = ((uint64_t)x43 & 0xffffffffffff); + uint64_t x46 = (x24 + (0x13d * x44)); + uint64_t x47 = (x46 >> 0x30); + uint64_t x48 = (x46 & 0xffffffffffff); + uint64_t x49 = (x47 + x27); + uint64_t x50 = (x49 >> 0x30); + uint64_t x51 = (x49 & 0xffffffffffff); + return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48)) x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e384m317/freezeDisplay.log b/src/Specific/solinas64_2e384m317/freezeDisplay.log index d9651a88f..9c49548af 100644 --- a/src/Specific/solinas64_2e384m317/freezeDisplay.log +++ b/src/Specific/solinas64_2e384m317/freezeDisplay.log @@ -11,21 +11,21 @@ Interp-η uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffff); uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffff); uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); - uint64_t x40 = x39 & 0xfffffffffec3; + uint64_t x40 = (x39 & 0xfffffffffec3); uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40); - uint64_t x44 = x39 & 0xffffffffffff; + uint64_t x44 = (x39 & 0xffffffffffff); uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); - uint64_t x48 = x39 & 0xffffffffffff; + uint64_t x48 = (x39 & 0xffffffffffff); uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); - uint64_t x52 = x39 & 0xffffffffffff; + uint64_t x52 = (x39 & 0xffffffffffff); uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); - uint64_t x56 = x39 & 0xffffffffffff; + uint64_t x56 = (x39 & 0xffffffffffff); uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); - uint64_t x60 = x39 & 0xffffffffffff; + uint64_t x60 = (x39 & 0xffffffffffff); uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); - uint64_t x64 = x39 & 0xffffffffffff; + uint64_t x64 = (x39 & 0xffffffffffff); uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); - uint64_t x68 = x39 & 0xffffffffffff; + uint64_t x68 = (x39 & 0xffffffffffff); uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x diff --git a/src/Specific/solinas64_2e384m5x2e368m1/freezeDisplay.log b/src/Specific/solinas64_2e384m5x2e368m1/freezeDisplay.log new file mode 100644 index 000000000..f4a0013b4 --- /dev/null +++ b/src/Specific/solinas64_2e384m5x2e368m1/freezeDisplay.log @@ -0,0 +1,32 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffff); + uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffff); + uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff); + uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffff); + uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffff); + uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff); + uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffff); + uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xfffaffffffff); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xffffffffffff); + uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40); + uint64_t x44 = (x39 & 0xffffffffffff); + uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); + uint64_t x48 = (x39 & 0xffffffffffff); + uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); + uint64_t x52 = (x39 & 0xffffffffffff); + uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); + uint64_t x56 = (x39 & 0xffffffffffff); + uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); + uint64_t x60 = (x39 & 0xffffffffffff); + uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); + uint64_t x64 = (x39 & 0xffffffffffff); + uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); + uint64_t x68 = (x39 & 0xfffaffffffff); + uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e384m79x2e376m1/freezeDisplay.log b/src/Specific/solinas64_2e384m79x2e376m1/freezeDisplay.log new file mode 100644 index 000000000..f5a3262f3 --- /dev/null +++ b/src/Specific/solinas64_2e384m79x2e376m1/freezeDisplay.log @@ -0,0 +1,32 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffff); + uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffff); + uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff); + uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffff); + uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffff); + uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff); + uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffff); + uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xb0ffffffffff); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xffffffffffff); + uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40); + uint64_t x44 = (x39 & 0xffffffffffff); + uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); + uint64_t x48 = (x39 & 0xffffffffffff); + uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); + uint64_t x52 = (x39 & 0xffffffffffff); + uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); + uint64_t x56 = (x39 & 0xffffffffffff); + uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); + uint64_t x60 = (x39 & 0xffffffffffff); + uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); + uint64_t x64 = (x39 & 0xffffffffffff); + uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); + uint64_t x68 = (x39 & 0xb0ffffffffff); + uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e401m31/femulDisplay.log b/src/Specific/solinas64_2e401m31/femulDisplay.log index fb94b8cd7..f2fe04251 100644 --- a/src/Specific/solinas64_2e401m31/femulDisplay.log +++ b/src/Specific/solinas64_2e401m31/femulDisplay.log @@ -2,43 +2,43 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, - uint128_t x32 = (uint128_t) x5 * x30 + (0x2 * ((uint128_t) x7 * x31) + (0x2 * ((uint128_t) x9 * x29) + (0x2 * ((uint128_t) x11 * x27) + (0x2 * ((uint128_t) x13 * x25) + (0x2 * ((uint128_t) x15 * x23) + (0x2 * ((uint128_t) x17 * x21) + (uint128_t) x16 * x19)))))); - uint128_t x33 = (uint128_t) x5 * x31 + (0x2 * ((uint128_t) x7 * x29) + (0x2 * ((uint128_t) x9 * x27) + (0x2 * ((uint128_t) x11 * x25) + (0x2 * ((uint128_t) x13 * x23) + (0x2 * ((uint128_t) x15 * x21) + (uint128_t) x17 * x19))))) + 0x1f * ((uint128_t) x16 * x30); - uint128_t x34 = (uint128_t) x5 * x29 + (0x2 * ((uint128_t) x7 * x27) + (0x2 * ((uint128_t) x9 * x25) + (0x2 * ((uint128_t) x11 * x23) + (0x2 * ((uint128_t) x13 * x21) + (uint128_t) x15 * x19)))) + 0x1f * ((uint128_t) x17 * x30 + (uint128_t) x16 * x31); - uint128_t x35 = (uint128_t) x5 * x27 + (0x2 * ((uint128_t) x7 * x25) + (0x2 * ((uint128_t) x9 * x23) + (0x2 * ((uint128_t) x11 * x21) + (uint128_t) x13 * x19))) + 0x1f * ((uint128_t) x15 * x30 + ((uint128_t) x17 * x31 + (uint128_t) x16 * x29)); - uint128_t x36 = (uint128_t) x5 * x25 + (0x2 * ((uint128_t) x7 * x23) + (0x2 * ((uint128_t) x9 * x21) + (uint128_t) x11 * x19)) + 0x1f * ((uint128_t) x13 * x30 + ((uint128_t) x15 * x31 + ((uint128_t) x17 * x29 + (uint128_t) x16 * x27))); - uint128_t x37 = (uint128_t) x5 * x23 + (0x2 * ((uint128_t) x7 * x21) + (uint128_t) x9 * x19) + 0x1f * ((uint128_t) x11 * x30 + ((uint128_t) x13 * x31 + ((uint128_t) x15 * x29 + ((uint128_t) x17 * x27 + (uint128_t) x16 * x25)))); - uint128_t x38 = (uint128_t) x5 * x21 + (uint128_t) x7 * x19 + 0x1f * ((uint128_t) x9 * x30 + ((uint128_t) x11 * x31 + ((uint128_t) x13 * x29 + ((uint128_t) x15 * x27 + ((uint128_t) x17 * x25 + (uint128_t) x16 * x23))))); - uint128_t x39 = (uint128_t) x5 * x19 + 0x1f * (0x2 * ((uint128_t) x7 * x30) + (0x2 * ((uint128_t) x9 * x31) + (0x2 * ((uint128_t) x11 * x29) + (0x2 * ((uint128_t) x13 * x27) + (0x2 * ((uint128_t) x15 * x25) + (0x2 * ((uint128_t) x17 * x23) + 0x2 * ((uint128_t) x16 * x21))))))); + uint128_t x32 = (((uint128_t)x5 * x30) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + ((0x2 * ((uint128_t)x17 * x21)) + ((uint128_t)x16 * x19)))))))); + uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x1f * ((uint128_t)x16 * x30))); + uint128_t x34 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + ((0x2 * ((uint128_t)x13 * x21)) + ((uint128_t)x15 * x19)))))) + (0x1f * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31)))); + uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x1f * (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29))))); + uint128_t x36 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))) + (0x1f * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27)))))); + uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x1f * (((uint128_t)x11 * x30) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + ((uint128_t)x16 * x25))))))); + uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x1f * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23)))))))); + uint128_t x39 = (((uint128_t)x5 * x19) + (0x1f * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21)))))))))); uint64_t x40 = (uint64_t) (x39 >> 0x33); - uint64_t x41 = (uint64_t) x39 & 0x7ffffffffffff; - uint128_t x42 = x40 + x38; + uint64_t x41 = ((uint64_t)x39 & 0x7ffffffffffff); + uint128_t x42 = (x40 + x38); uint64_t x43 = (uint64_t) (x42 >> 0x32); - uint64_t x44 = (uint64_t) x42 & 0x3ffffffffffff; - uint128_t x45 = x43 + x37; + uint64_t x44 = ((uint64_t)x42 & 0x3ffffffffffff); + uint128_t x45 = (x43 + x37); uint64_t x46 = (uint64_t) (x45 >> 0x32); - uint64_t x47 = (uint64_t) x45 & 0x3ffffffffffff; - uint128_t x48 = x46 + x36; + uint64_t x47 = ((uint64_t)x45 & 0x3ffffffffffff); + uint128_t x48 = (x46 + x36); uint64_t x49 = (uint64_t) (x48 >> 0x32); - uint64_t x50 = (uint64_t) x48 & 0x3ffffffffffff; - uint128_t x51 = x49 + x35; + uint64_t x50 = ((uint64_t)x48 & 0x3ffffffffffff); + uint128_t x51 = (x49 + x35); uint64_t x52 = (uint64_t) (x51 >> 0x32); - uint64_t x53 = (uint64_t) x51 & 0x3ffffffffffff; - uint128_t x54 = x52 + x34; + uint64_t x53 = ((uint64_t)x51 & 0x3ffffffffffff); + uint128_t x54 = (x52 + x34); uint64_t x55 = (uint64_t) (x54 >> 0x32); - uint64_t x56 = (uint64_t) x54 & 0x3ffffffffffff; - uint128_t x57 = x55 + x33; + uint64_t x56 = ((uint64_t)x54 & 0x3ffffffffffff); + uint128_t x57 = (x55 + x33); uint64_t x58 = (uint64_t) (x57 >> 0x32); - uint64_t x59 = (uint64_t) x57 & 0x3ffffffffffff; - uint128_t x60 = x58 + x32; + uint64_t x59 = ((uint64_t)x57 & 0x3ffffffffffff); + uint128_t x60 = (x58 + x32); uint64_t x61 = (uint64_t) (x60 >> 0x32); - uint64_t x62 = (uint64_t) x60 & 0x3ffffffffffff; - uint64_t x63 = x41 + 0x1f * x61; - uint64_t x64 = x63 >> 0x33; - uint64_t x65 = x63 & 0x7ffffffffffff; - uint64_t x66 = x64 + x44; - uint64_t x67 = x66 >> 0x32; - uint64_t x68 = x66 & 0x3ffffffffffff; - return (Return x62, Return x59, Return x56, Return x53, Return x50, x67 + x47, Return x68, Return x65)) + uint64_t x62 = ((uint64_t)x60 & 0x3ffffffffffff); + uint64_t x63 = (x41 + (0x1f * x61)); + uint64_t x64 = (x63 >> 0x33); + uint64_t x65 = (x63 & 0x7ffffffffffff); + uint64_t x66 = (x64 + x44); + uint64_t x67 = (x66 >> 0x32); + uint64_t x68 = (x66 & 0x3ffffffffffff); + return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65)) (x, x0)%core : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e401m31/fesquareDisplay.log b/src/Specific/solinas64_2e401m31/fesquareDisplay.log index a569b94e9..60c16004d 100644 --- a/src/Specific/solinas64_2e401m31/fesquareDisplay.log +++ b/src/Specific/solinas64_2e401m31/fesquareDisplay.log @@ -2,43 +2,43 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, - uint128_t x15 = (uint128_t) x2 * x13 + (0x2 * ((uint128_t) x4 * x14) + (0x2 * ((uint128_t) x6 * x12) + (0x2 * ((uint128_t) x8 * x10) + (0x2 * ((uint128_t) x10 * x8) + (0x2 * ((uint128_t) x12 * x6) + (0x2 * ((uint128_t) x14 * x4) + (uint128_t) x13 * x2)))))); - uint128_t x16 = (uint128_t) x2 * x14 + (0x2 * ((uint128_t) x4 * x12) + (0x2 * ((uint128_t) x6 * x10) + (0x2 * ((uint128_t) x8 * x8) + (0x2 * ((uint128_t) x10 * x6) + (0x2 * ((uint128_t) x12 * x4) + (uint128_t) x14 * x2))))) + 0x1f * ((uint128_t) x13 * x13); - uint128_t x17 = (uint128_t) x2 * x12 + (0x2 * ((uint128_t) x4 * x10) + (0x2 * ((uint128_t) x6 * x8) + (0x2 * ((uint128_t) x8 * x6) + (0x2 * ((uint128_t) x10 * x4) + (uint128_t) x12 * x2)))) + 0x1f * ((uint128_t) x14 * x13 + (uint128_t) x13 * x14); - uint128_t x18 = (uint128_t) x2 * x10 + (0x2 * ((uint128_t) x4 * x8) + (0x2 * ((uint128_t) x6 * x6) + (0x2 * ((uint128_t) x8 * x4) + (uint128_t) x10 * x2))) + 0x1f * ((uint128_t) x12 * x13 + ((uint128_t) x14 * x14 + (uint128_t) x13 * x12)); - uint128_t x19 = (uint128_t) x2 * x8 + (0x2 * ((uint128_t) x4 * x6) + (0x2 * ((uint128_t) x6 * x4) + (uint128_t) x8 * x2)) + 0x1f * ((uint128_t) x10 * x13 + ((uint128_t) x12 * x14 + ((uint128_t) x14 * x12 + (uint128_t) x13 * x10))); - uint128_t x20 = (uint128_t) x2 * x6 + (0x2 * ((uint128_t) x4 * x4) + (uint128_t) x6 * x2) + 0x1f * ((uint128_t) x8 * x13 + ((uint128_t) x10 * x14 + ((uint128_t) x12 * x12 + ((uint128_t) x14 * x10 + (uint128_t) x13 * x8)))); - uint128_t x21 = (uint128_t) x2 * x4 + (uint128_t) x4 * x2 + 0x1f * ((uint128_t) x6 * x13 + ((uint128_t) x8 * x14 + ((uint128_t) x10 * x12 + ((uint128_t) x12 * x10 + ((uint128_t) x14 * x8 + (uint128_t) x13 * x6))))); - uint128_t x22 = (uint128_t) x2 * x2 + 0x1f * (0x2 * ((uint128_t) x4 * x13) + (0x2 * ((uint128_t) x6 * x14) + (0x2 * ((uint128_t) x8 * x12) + (0x2 * ((uint128_t) x10 * x10) + (0x2 * ((uint128_t) x12 * x8) + (0x2 * ((uint128_t) x14 * x6) + 0x2 * ((uint128_t) x13 * x4))))))); + uint128_t x15 = (((uint128_t)x2 * x13) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x13 * x2)))))))); + uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x1f * ((uint128_t)x13 * x13))); + uint128_t x17 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x1f * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14)))); + uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x1f * (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12))))); + uint128_t x19 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x1f * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10)))))); + uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1f * (((uint128_t)x8 * x13) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + ((uint128_t)x13 * x8))))))); + uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1f * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6)))))))); + uint128_t x22 = (((uint128_t)x2 * x2) + (0x1f * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4)))))))))); uint64_t x23 = (uint64_t) (x22 >> 0x33); - uint64_t x24 = (uint64_t) x22 & 0x7ffffffffffff; - uint128_t x25 = x23 + x21; + uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffff); + uint128_t x25 = (x23 + x21); uint64_t x26 = (uint64_t) (x25 >> 0x32); - uint64_t x27 = (uint64_t) x25 & 0x3ffffffffffff; - uint128_t x28 = x26 + x20; + uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffff); + uint128_t x28 = (x26 + x20); uint64_t x29 = (uint64_t) (x28 >> 0x32); - uint64_t x30 = (uint64_t) x28 & 0x3ffffffffffff; - uint128_t x31 = x29 + x19; + uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffffff); + uint128_t x31 = (x29 + x19); uint64_t x32 = (uint64_t) (x31 >> 0x32); - uint64_t x33 = (uint64_t) x31 & 0x3ffffffffffff; - uint128_t x34 = x32 + x18; + uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffffff); + uint128_t x34 = (x32 + x18); uint64_t x35 = (uint64_t) (x34 >> 0x32); - uint64_t x36 = (uint64_t) x34 & 0x3ffffffffffff; - uint128_t x37 = x35 + x17; + uint64_t x36 = ((uint64_t)x34 & 0x3ffffffffffff); + uint128_t x37 = (x35 + x17); uint64_t x38 = (uint64_t) (x37 >> 0x32); - uint64_t x39 = (uint64_t) x37 & 0x3ffffffffffff; - uint128_t x40 = x38 + x16; + uint64_t x39 = ((uint64_t)x37 & 0x3ffffffffffff); + uint128_t x40 = (x38 + x16); uint64_t x41 = (uint64_t) (x40 >> 0x32); - uint64_t x42 = (uint64_t) x40 & 0x3ffffffffffff; - uint128_t x43 = x41 + x15; + uint64_t x42 = ((uint64_t)x40 & 0x3ffffffffffff); + uint128_t x43 = (x41 + x15); uint64_t x44 = (uint64_t) (x43 >> 0x32); - uint64_t x45 = (uint64_t) x43 & 0x3ffffffffffff; - uint64_t x46 = x24 + 0x1f * x44; - uint64_t x47 = x46 >> 0x33; - uint64_t x48 = x46 & 0x7ffffffffffff; - uint64_t x49 = x47 + x27; - uint64_t x50 = x49 >> 0x32; - uint64_t x51 = x49 & 0x3ffffffffffff; - return (Return x45, Return x42, Return x39, Return x36, Return x33, x50 + x30, Return x51, Return x48)) + uint64_t x45 = ((uint64_t)x43 & 0x3ffffffffffff); + uint64_t x46 = (x24 + (0x1f * x44)); + uint64_t x47 = (x46 >> 0x33); + uint64_t x48 = (x46 & 0x7ffffffffffff); + uint64_t x49 = (x47 + x27); + uint64_t x50 = (x49 >> 0x32); + uint64_t x51 = (x49 & 0x3ffffffffffff); + return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48)) x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e401m31/freezeDisplay.log b/src/Specific/solinas64_2e401m31/freezeDisplay.log index 1859158c9..d1baed290 100644 --- a/src/Specific/solinas64_2e401m31/freezeDisplay.log +++ b/src/Specific/solinas64_2e401m31/freezeDisplay.log @@ -11,21 +11,21 @@ Interp-η uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x3ffffffffffff); uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x3ffffffffffff); uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); - uint64_t x40 = x39 & 0x7ffffffffffe1; + uint64_t x40 = (x39 & 0x7ffffffffffe1); uint64_t x42, uint8_t x43 = addcarryx_u51(0x0, x16, x40); - uint64_t x44 = x39 & 0x3ffffffffffff; + uint64_t x44 = (x39 & 0x3ffffffffffff); uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); - uint64_t x48 = x39 & 0x3ffffffffffff; + uint64_t x48 = (x39 & 0x3ffffffffffff); uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); - uint64_t x52 = x39 & 0x3ffffffffffff; + uint64_t x52 = (x39 & 0x3ffffffffffff); uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); - uint64_t x56 = x39 & 0x3ffffffffffff; + uint64_t x56 = (x39 & 0x3ffffffffffff); uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); - uint64_t x60 = x39 & 0x3ffffffffffff; + uint64_t x60 = (x39 & 0x3ffffffffffff); uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); - uint64_t x64 = x39 & 0x3ffffffffffff; + uint64_t x64 = (x39 & 0x3ffffffffffff); uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); - uint64_t x68 = x39 & 0x3ffffffffffff; + uint64_t x68 = (x39 & 0x3ffffffffffff); uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x diff --git a/src/Specific/solinas64_2e414m17/femulDisplay.log b/src/Specific/solinas64_2e414m17/femulDisplay.log index e217ee359..0a1c91fcd 100644 --- a/src/Specific/solinas64_2e414m17/femulDisplay.log +++ b/src/Specific/solinas64_2e414m17/femulDisplay.log @@ -2,47 +2,47 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - uint128_t x36 = (uint128_t) x5 * x34 + ((uint128_t) x7 * x35 + ((uint128_t) x9 * x33 + ((uint128_t) x11 * x31 + ((uint128_t) x13 * x29 + ((uint128_t) x15 * x27 + ((uint128_t) x17 * x25 + ((uint128_t) x19 * x23 + (uint128_t) x18 * x21))))))); - uint128_t x37 = (uint128_t) x5 * x35 + ((uint128_t) x7 * x33 + ((uint128_t) x9 * x31 + ((uint128_t) x11 * x29 + ((uint128_t) x13 * x27 + ((uint128_t) x15 * x25 + ((uint128_t) x17 * x23 + (uint128_t) x19 * x21)))))) + 0x11 * ((uint128_t) x18 * x34); - uint128_t x38 = (uint128_t) x5 * x33 + ((uint128_t) x7 * x31 + ((uint128_t) x9 * x29 + ((uint128_t) x11 * x27 + ((uint128_t) x13 * x25 + ((uint128_t) x15 * x23 + (uint128_t) x17 * x21))))) + 0x11 * ((uint128_t) x19 * x34 + (uint128_t) x18 * x35); - uint128_t x39 = (uint128_t) x5 * x31 + ((uint128_t) x7 * x29 + ((uint128_t) x9 * x27 + ((uint128_t) x11 * x25 + ((uint128_t) x13 * x23 + (uint128_t) x15 * x21)))) + 0x11 * ((uint128_t) x17 * x34 + ((uint128_t) x19 * x35 + (uint128_t) x18 * x33)); - uint128_t x40 = (uint128_t) x5 * x29 + ((uint128_t) x7 * x27 + ((uint128_t) x9 * x25 + ((uint128_t) x11 * x23 + (uint128_t) x13 * x21))) + 0x11 * ((uint128_t) x15 * x34 + ((uint128_t) x17 * x35 + ((uint128_t) x19 * x33 + (uint128_t) x18 * x31))); - uint128_t x41 = (uint128_t) x5 * x27 + ((uint128_t) x7 * x25 + ((uint128_t) x9 * x23 + (uint128_t) x11 * x21)) + 0x11 * ((uint128_t) x13 * x34 + ((uint128_t) x15 * x35 + ((uint128_t) x17 * x33 + ((uint128_t) x19 * x31 + (uint128_t) x18 * x29)))); - uint128_t x42 = (uint128_t) x5 * x25 + ((uint128_t) x7 * x23 + (uint128_t) x9 * x21) + 0x11 * ((uint128_t) x11 * x34 + ((uint128_t) x13 * x35 + ((uint128_t) x15 * x33 + ((uint128_t) x17 * x31 + ((uint128_t) x19 * x29 + (uint128_t) x18 * x27))))); - uint128_t x43 = (uint128_t) x5 * x23 + (uint128_t) x7 * x21 + 0x11 * ((uint128_t) x9 * x34 + ((uint128_t) x11 * x35 + ((uint128_t) x13 * x33 + ((uint128_t) x15 * x31 + ((uint128_t) x17 * x29 + ((uint128_t) x19 * x27 + (uint128_t) x18 * x25)))))); - uint128_t x44 = (uint128_t) x5 * x21 + 0x11 * ((uint128_t) x7 * x34 + ((uint128_t) x9 * x35 + ((uint128_t) x11 * x33 + ((uint128_t) x13 * x31 + ((uint128_t) x15 * x29 + ((uint128_t) x17 * x27 + ((uint128_t) x19 * x25 + (uint128_t) x18 * x23))))))); + uint128_t x36 = (((uint128_t)x5 * x34) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + (((uint128_t)x19 * x23) + ((uint128_t)x18 * x21))))))))); + uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x11 * ((uint128_t)x18 * x34))); + uint128_t x38 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x17 * x21))))))) + (0x11 * (((uint128_t)x19 * x34) + ((uint128_t)x18 * x35)))); + uint128_t x39 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + ((uint128_t)x15 * x21)))))) + (0x11 * (((uint128_t)x17 * x34) + (((uint128_t)x19 * x35) + ((uint128_t)x18 * x33))))); + uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + (0x11 * (((uint128_t)x15 * x34) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((uint128_t)x18 * x31)))))); + uint128_t x41 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21)))) + (0x11 * (((uint128_t)x13 * x34) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + ((uint128_t)x18 * x29))))))); + uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((uint128_t)x9 * x21))) + (0x11 * (((uint128_t)x11 * x34) + (((uint128_t)x13 * x35) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + (((uint128_t)x19 * x29) + ((uint128_t)x18 * x27)))))))); + uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x11 * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25))))))))); + uint128_t x44 = (((uint128_t)x5 * x21) + (0x11 * (((uint128_t)x7 * x34) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (((uint128_t)x19 * x25) + ((uint128_t)x18 * x23)))))))))); uint64_t x45 = (uint64_t) (x44 >> 0x2e); - uint64_t x46 = (uint64_t) x44 & 0x3fffffffffff; - uint128_t x47 = x45 + x43; + uint64_t x46 = ((uint64_t)x44 & 0x3fffffffffff); + uint128_t x47 = (x45 + x43); uint64_t x48 = (uint64_t) (x47 >> 0x2e); - uint64_t x49 = (uint64_t) x47 & 0x3fffffffffff; - uint128_t x50 = x48 + x42; + uint64_t x49 = ((uint64_t)x47 & 0x3fffffffffff); + uint128_t x50 = (x48 + x42); uint64_t x51 = (uint64_t) (x50 >> 0x2e); - uint64_t x52 = (uint64_t) x50 & 0x3fffffffffff; - uint128_t x53 = x51 + x41; + uint64_t x52 = ((uint64_t)x50 & 0x3fffffffffff); + uint128_t x53 = (x51 + x41); uint64_t x54 = (uint64_t) (x53 >> 0x2e); - uint64_t x55 = (uint64_t) x53 & 0x3fffffffffff; - uint128_t x56 = x54 + x40; + uint64_t x55 = ((uint64_t)x53 & 0x3fffffffffff); + uint128_t x56 = (x54 + x40); uint64_t x57 = (uint64_t) (x56 >> 0x2e); - uint64_t x58 = (uint64_t) x56 & 0x3fffffffffff; - uint128_t x59 = x57 + x39; + uint64_t x58 = ((uint64_t)x56 & 0x3fffffffffff); + uint128_t x59 = (x57 + x39); uint64_t x60 = (uint64_t) (x59 >> 0x2e); - uint64_t x61 = (uint64_t) x59 & 0x3fffffffffff; - uint128_t x62 = x60 + x38; + uint64_t x61 = ((uint64_t)x59 & 0x3fffffffffff); + uint128_t x62 = (x60 + x38); uint64_t x63 = (uint64_t) (x62 >> 0x2e); - uint64_t x64 = (uint64_t) x62 & 0x3fffffffffff; - uint128_t x65 = x63 + x37; + uint64_t x64 = ((uint64_t)x62 & 0x3fffffffffff); + uint128_t x65 = (x63 + x37); uint64_t x66 = (uint64_t) (x65 >> 0x2e); - uint64_t x67 = (uint64_t) x65 & 0x3fffffffffff; - uint128_t x68 = x66 + x36; + uint64_t x67 = ((uint64_t)x65 & 0x3fffffffffff); + uint128_t x68 = (x66 + x36); uint64_t x69 = (uint64_t) (x68 >> 0x2e); - uint64_t x70 = (uint64_t) x68 & 0x3fffffffffff; - uint64_t x71 = x46 + 0x11 * x69; - uint64_t x72 = x71 >> 0x2e; - uint64_t x73 = x71 & 0x3fffffffffff; - uint64_t x74 = x72 + x49; - uint64_t x75 = x74 >> 0x2e; - uint64_t x76 = x74 & 0x3fffffffffff; - return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, x75 + x52, Return x76, Return x73)) + uint64_t x70 = ((uint64_t)x68 & 0x3fffffffffff); + uint64_t x71 = (x46 + (0x11 * x69)); + uint64_t x72 = (x71 >> 0x2e); + uint64_t x73 = (x71 & 0x3fffffffffff); + uint64_t x74 = (x72 + x49); + uint64_t x75 = (x74 >> 0x2e); + uint64_t x76 = (x74 & 0x3fffffffffff); + return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73)) (x, x0)%core : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e414m17/fesquareDisplay.log b/src/Specific/solinas64_2e414m17/fesquareDisplay.log index 002276f78..add6dcff0 100644 --- a/src/Specific/solinas64_2e414m17/fesquareDisplay.log +++ b/src/Specific/solinas64_2e414m17/fesquareDisplay.log @@ -2,47 +2,47 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint128_t x17 = (uint128_t) x2 * x15 + ((uint128_t) x4 * x16 + ((uint128_t) x6 * x14 + ((uint128_t) x8 * x12 + ((uint128_t) x10 * x10 + ((uint128_t) x12 * x8 + ((uint128_t) x14 * x6 + ((uint128_t) x16 * x4 + (uint128_t) x15 * x2))))))); - uint128_t x18 = (uint128_t) x2 * x16 + ((uint128_t) x4 * x14 + ((uint128_t) x6 * x12 + ((uint128_t) x8 * x10 + ((uint128_t) x10 * x8 + ((uint128_t) x12 * x6 + ((uint128_t) x14 * x4 + (uint128_t) x16 * x2)))))) + 0x11 * ((uint128_t) x15 * x15); - uint128_t x19 = (uint128_t) x2 * x14 + ((uint128_t) x4 * x12 + ((uint128_t) x6 * x10 + ((uint128_t) x8 * x8 + ((uint128_t) x10 * x6 + ((uint128_t) x12 * x4 + (uint128_t) x14 * x2))))) + 0x11 * ((uint128_t) x16 * x15 + (uint128_t) x15 * x16); - uint128_t x20 = (uint128_t) x2 * x12 + ((uint128_t) x4 * x10 + ((uint128_t) x6 * x8 + ((uint128_t) x8 * x6 + ((uint128_t) x10 * x4 + (uint128_t) x12 * x2)))) + 0x11 * ((uint128_t) x14 * x15 + ((uint128_t) x16 * x16 + (uint128_t) x15 * x14)); - uint128_t x21 = (uint128_t) x2 * x10 + ((uint128_t) x4 * x8 + ((uint128_t) x6 * x6 + ((uint128_t) x8 * x4 + (uint128_t) x10 * x2))) + 0x11 * ((uint128_t) x12 * x15 + ((uint128_t) x14 * x16 + ((uint128_t) x16 * x14 + (uint128_t) x15 * x12))); - uint128_t x22 = (uint128_t) x2 * x8 + ((uint128_t) x4 * x6 + ((uint128_t) x6 * x4 + (uint128_t) x8 * x2)) + 0x11 * ((uint128_t) x10 * x15 + ((uint128_t) x12 * x16 + ((uint128_t) x14 * x14 + ((uint128_t) x16 * x12 + (uint128_t) x15 * x10)))); - uint128_t x23 = (uint128_t) x2 * x6 + ((uint128_t) x4 * x4 + (uint128_t) x6 * x2) + 0x11 * ((uint128_t) x8 * x15 + ((uint128_t) x10 * x16 + ((uint128_t) x12 * x14 + ((uint128_t) x14 * x12 + ((uint128_t) x16 * x10 + (uint128_t) x15 * x8))))); - uint128_t x24 = (uint128_t) x2 * x4 + (uint128_t) x4 * x2 + 0x11 * ((uint128_t) x6 * x15 + ((uint128_t) x8 * x16 + ((uint128_t) x10 * x14 + ((uint128_t) x12 * x12 + ((uint128_t) x14 * x10 + ((uint128_t) x16 * x8 + (uint128_t) x15 * x6)))))); - uint128_t x25 = (uint128_t) x2 * x2 + 0x11 * ((uint128_t) x4 * x15 + ((uint128_t) x6 * x16 + ((uint128_t) x8 * x14 + ((uint128_t) x10 * x12 + ((uint128_t) x12 * x10 + ((uint128_t) x14 * x8 + ((uint128_t) x16 * x6 + (uint128_t) x15 * x4))))))); + uint128_t x17 = (((uint128_t)x2 * x15) + (((uint128_t)x4 * x16) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + (((uint128_t)x16 * x4) + ((uint128_t)x15 * x2))))))))); + uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x11 * ((uint128_t)x15 * x15))); + uint128_t x19 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x11 * (((uint128_t)x16 * x15) + ((uint128_t)x15 * x16)))); + uint128_t x20 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x15) + (((uint128_t)x16 * x16) + ((uint128_t)x15 * x14))))); + uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x11 * (((uint128_t)x12 * x15) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x15 * x12)))))); + uint128_t x22 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x15) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + ((uint128_t)x15 * x10))))))); + uint128_t x23 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x15) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + ((uint128_t)x15 * x8)))))))); + uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6))))))))); + uint128_t x25 = (((uint128_t)x2 * x2) + (0x11 * (((uint128_t)x4 * x15) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + ((uint128_t)x15 * x4)))))))))); uint64_t x26 = (uint64_t) (x25 >> 0x2e); - uint64_t x27 = (uint64_t) x25 & 0x3fffffffffff; - uint128_t x28 = x26 + x24; + uint64_t x27 = ((uint64_t)x25 & 0x3fffffffffff); + uint128_t x28 = (x26 + x24); uint64_t x29 = (uint64_t) (x28 >> 0x2e); - uint64_t x30 = (uint64_t) x28 & 0x3fffffffffff; - uint128_t x31 = x29 + x23; + uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffff); + uint128_t x31 = (x29 + x23); uint64_t x32 = (uint64_t) (x31 >> 0x2e); - uint64_t x33 = (uint64_t) x31 & 0x3fffffffffff; - uint128_t x34 = x32 + x22; + uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffff); + uint128_t x34 = (x32 + x22); uint64_t x35 = (uint64_t) (x34 >> 0x2e); - uint64_t x36 = (uint64_t) x34 & 0x3fffffffffff; - uint128_t x37 = x35 + x21; + uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffff); + uint128_t x37 = (x35 + x21); uint64_t x38 = (uint64_t) (x37 >> 0x2e); - uint64_t x39 = (uint64_t) x37 & 0x3fffffffffff; - uint128_t x40 = x38 + x20; + uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffff); + uint128_t x40 = (x38 + x20); uint64_t x41 = (uint64_t) (x40 >> 0x2e); - uint64_t x42 = (uint64_t) x40 & 0x3fffffffffff; - uint128_t x43 = x41 + x19; + uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffff); + uint128_t x43 = (x41 + x19); uint64_t x44 = (uint64_t) (x43 >> 0x2e); - uint64_t x45 = (uint64_t) x43 & 0x3fffffffffff; - uint128_t x46 = x44 + x18; + uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffff); + uint128_t x46 = (x44 + x18); uint64_t x47 = (uint64_t) (x46 >> 0x2e); - uint64_t x48 = (uint64_t) x46 & 0x3fffffffffff; - uint128_t x49 = x47 + x17; + uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffff); + uint128_t x49 = (x47 + x17); uint64_t x50 = (uint64_t) (x49 >> 0x2e); - uint64_t x51 = (uint64_t) x49 & 0x3fffffffffff; - uint64_t x52 = x27 + 0x11 * x50; - uint64_t x53 = x52 >> 0x2e; - uint64_t x54 = x52 & 0x3fffffffffff; - uint64_t x55 = x53 + x30; - uint64_t x56 = x55 >> 0x2e; - uint64_t x57 = x55 & 0x3fffffffffff; - return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, x56 + x33, Return x57, Return x54)) + uint64_t x51 = ((uint64_t)x49 & 0x3fffffffffff); + uint64_t x52 = (x27 + (0x11 * x50)); + uint64_t x53 = (x52 >> 0x2e); + uint64_t x54 = (x52 & 0x3fffffffffff); + uint64_t x55 = (x53 + x30); + uint64_t x56 = (x55 >> 0x2e); + uint64_t x57 = (x55 & 0x3fffffffffff); + return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54)) x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e414m17/freezeDisplay.log b/src/Specific/solinas64_2e414m17/freezeDisplay.log index 817d3bbf1..e0a2a97c5 100644 --- a/src/Specific/solinas64_2e414m17/freezeDisplay.log +++ b/src/Specific/solinas64_2e414m17/freezeDisplay.log @@ -12,23 +12,23 @@ Interp-η uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffffffffff); uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffffffffff); uint64_t x44 = (uint64_t)cmovznz(x43, 0x0, 0xffffffffffffffffL); - uint64_t x45 = x44 & 0x3fffffffffef; + uint64_t x45 = (x44 & 0x3fffffffffef); uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45); - uint64_t x49 = x44 & 0x3fffffffffff; + uint64_t x49 = (x44 & 0x3fffffffffff); uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); - uint64_t x53 = x44 & 0x3fffffffffff; + uint64_t x53 = (x44 & 0x3fffffffffff); uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); - uint64_t x57 = x44 & 0x3fffffffffff; + uint64_t x57 = (x44 & 0x3fffffffffff); uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); - uint64_t x61 = x44 & 0x3fffffffffff; + uint64_t x61 = (x44 & 0x3fffffffffff); uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); - uint64_t x65 = x44 & 0x3fffffffffff; + uint64_t x65 = (x44 & 0x3fffffffffff); uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); - uint64_t x69 = x44 & 0x3fffffffffff; + uint64_t x69 = (x44 & 0x3fffffffffff); uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); - uint64_t x73 = x44 & 0x3fffffffffff; + uint64_t x73 = (x44 & 0x3fffffffffff); uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); - uint64_t x77 = x44 & 0x3fffffffffff; + uint64_t x77 = (x44 & 0x3fffffffffff); uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) x diff --git a/src/Specific/solinas64_2e416m2e208m1/femulDisplay.log b/src/Specific/solinas64_2e416m2e208m1/femulDisplay.log new file mode 100644 index 000000000..b80ae858e --- /dev/null +++ b/src/Specific/solinas64_2e416m2e208m1/femulDisplay.log @@ -0,0 +1,61 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint128_t x32 = (((uint128_t)(x11 + x16) * (x25 + x30)) - ((uint128_t)x11 * x25)); + uint128_t x33 = ((((uint128_t)(x9 + x17) * (x25 + x30)) + ((uint128_t)(x11 + x16) * (x23 + x31))) - (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23))); + uint128_t x34 = ((((uint128_t)(x7 + x15) * (x25 + x30)) + (((uint128_t)(x9 + x17) * (x23 + x31)) + ((uint128_t)(x11 + x16) * (x21 + x29)))) - (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21)))); + uint128_t x35 = ((((uint128_t)(x5 + x13) * (x25 + x30)) + (((uint128_t)(x7 + x15) * (x23 + x31)) + (((uint128_t)(x9 + x17) * (x21 + x29)) + ((uint128_t)(x11 + x16) * (x19 + x27))))) - (((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19))))); + uint128_t x36 = ((((uint128_t)(x5 + x13) * (x23 + x31)) + (((uint128_t)(x7 + x15) * (x21 + x29)) + ((uint128_t)(x9 + x17) * (x19 + x27)))) - (((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19)))); + uint128_t x37 = ((((uint128_t)(x5 + x13) * (x21 + x29)) + ((uint128_t)(x7 + x15) * (x19 + x27))) - (((uint128_t)x5 * x21) + ((uint128_t)x7 * x19))); + uint128_t x38 = (((uint128_t)(x5 + x13) * (x19 + x27)) - ((uint128_t)x5 * x19)); + uint128_t x39 = (((((uint128_t)x11 * x25) + ((uint128_t)x16 * x30)) + x36) + x32); + uint128_t x40 = ((((((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)) + (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))) + x37) + x33); + uint128_t x41 = ((((((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))) + (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))) + x38) + x34); + uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))); + uint128_t x43 = (((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + ((uint128_t)x17 * x27)))) + x32); + uint128_t x44 = (((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (((uint128_t)x13 * x29) + ((uint128_t)x15 * x27))) + x33); + uint128_t x45 = ((((uint128_t)x5 * x19) + ((uint128_t)x13 * x27)) + x34); + uint64_t x46 = (uint64_t) (x42 >> 0x34); + uint64_t x47 = ((uint64_t)x42 & 0xfffffffffffff); + uint64_t x48 = (uint64_t) (x35 >> 0x34); + uint64_t x49 = ((uint64_t)x35 & 0xfffffffffffff); + uint128_t x50 = (((uint128_t)0x10000000000000 * x48) + x49); + uint64_t x51 = (uint64_t) (x50 >> 0x34); + uint64_t x52 = ((uint64_t)x50 & 0xfffffffffffff); + uint128_t x53 = ((x46 + x41) + x51); + uint64_t x54 = (uint64_t) (x53 >> 0x34); + uint64_t x55 = ((uint64_t)x53 & 0xfffffffffffff); + uint128_t x56 = (x45 + x51); + uint64_t x57 = (uint64_t) (x56 >> 0x34); + uint64_t x58 = ((uint64_t)x56 & 0xfffffffffffff); + uint128_t x59 = (x54 + x40); + uint64_t x60 = (uint64_t) (x59 >> 0x34); + uint64_t x61 = ((uint64_t)x59 & 0xfffffffffffff); + uint128_t x62 = (x57 + x44); + uint64_t x63 = (uint64_t) (x62 >> 0x34); + uint64_t x64 = ((uint64_t)x62 & 0xfffffffffffff); + uint128_t x65 = (x60 + x39); + uint64_t x66 = (uint64_t) (x65 >> 0x34); + uint64_t x67 = ((uint64_t)x65 & 0xfffffffffffff); + uint128_t x68 = (x63 + x43); + uint64_t x69 = (uint64_t) (x68 >> 0x34); + uint64_t x70 = ((uint64_t)x68 & 0xfffffffffffff); + uint64_t x71 = (x66 + x52); + uint64_t x72 = (x71 >> 0x34); + uint64_t x73 = (x71 & 0xfffffffffffff); + uint64_t x74 = (x69 + x47); + uint64_t x75 = (x74 >> 0x34); + uint64_t x76 = (x74 & 0xfffffffffffff); + uint64_t x77 = ((0x10000000000000 * x72) + x73); + uint64_t x78 = (x77 >> 0x34); + uint64_t x79 = (x77 & 0xfffffffffffff); + uint64_t x80 = ((x75 + x55) + x78); + uint64_t x81 = (x80 >> 0x34); + uint64_t x82 = (x80 & 0xfffffffffffff); + uint64_t x83 = (x58 + x78); + uint64_t x84 = (x83 >> 0x34); + uint64_t x85 = (x83 & 0xfffffffffffff); + return (Return x79, Return x67, (x81 + x61), Return x82, Return x76, Return x70, (x84 + x64), Return x85)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e416m2e208m1/fesquareDisplay.log b/src/Specific/solinas64_2e416m2e208m1/fesquareDisplay.log new file mode 100644 index 000000000..104992b7a --- /dev/null +++ b/src/Specific/solinas64_2e416m2e208m1/fesquareDisplay.log @@ -0,0 +1,61 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint128_t x15 = (((uint128_t)(x8 + x13) * (x8 + x13)) - ((uint128_t)x8 * x8)); + uint128_t x16 = ((((uint128_t)(x6 + x14) * (x8 + x13)) + ((uint128_t)(x8 + x13) * (x6 + x14))) - (((uint128_t)x6 * x8) + ((uint128_t)x8 * x6))); + uint128_t x17 = ((((uint128_t)(x4 + x12) * (x8 + x13)) + (((uint128_t)(x6 + x14) * (x6 + x14)) + ((uint128_t)(x8 + x13) * (x4 + x12)))) - (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4)))); + uint128_t x18 = ((((uint128_t)(x2 + x10) * (x8 + x13)) + (((uint128_t)(x4 + x12) * (x6 + x14)) + (((uint128_t)(x6 + x14) * (x4 + x12)) + ((uint128_t)(x8 + x13) * (x2 + x10))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2))))); + uint128_t x19 = ((((uint128_t)(x2 + x10) * (x6 + x14)) + (((uint128_t)(x4 + x12) * (x4 + x12)) + ((uint128_t)(x6 + x14) * (x2 + x10)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2)))); + uint128_t x20 = ((((uint128_t)(x2 + x10) * (x4 + x12)) + ((uint128_t)(x4 + x12) * (x2 + x10))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2))); + uint128_t x21 = (((uint128_t)(x2 + x10) * (x2 + x10)) - ((uint128_t)x2 * x2)); + uint128_t x22 = (((((uint128_t)x8 * x8) + ((uint128_t)x13 * x13)) + x19) + x15); + uint128_t x23 = ((((((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)) + (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))) + x20) + x16); + uint128_t x24 = ((((((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))) + (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))) + x21) + x17); + uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))); + uint128_t x26 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + ((uint128_t)x14 * x10)))) + x15); + uint128_t x27 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x10 * x12) + ((uint128_t)x12 * x10))) + x16); + uint128_t x28 = ((((uint128_t)x2 * x2) + ((uint128_t)x10 * x10)) + x17); + uint64_t x29 = (uint64_t) (x25 >> 0x34); + uint64_t x30 = ((uint64_t)x25 & 0xfffffffffffff); + uint64_t x31 = (uint64_t) (x18 >> 0x34); + uint64_t x32 = ((uint64_t)x18 & 0xfffffffffffff); + uint128_t x33 = (((uint128_t)0x10000000000000 * x31) + x32); + uint64_t x34 = (uint64_t) (x33 >> 0x34); + uint64_t x35 = ((uint64_t)x33 & 0xfffffffffffff); + uint128_t x36 = ((x29 + x24) + x34); + uint64_t x37 = (uint64_t) (x36 >> 0x34); + uint64_t x38 = ((uint64_t)x36 & 0xfffffffffffff); + uint128_t x39 = (x28 + x34); + uint64_t x40 = (uint64_t) (x39 >> 0x34); + uint64_t x41 = ((uint64_t)x39 & 0xfffffffffffff); + uint128_t x42 = (x37 + x23); + uint64_t x43 = (uint64_t) (x42 >> 0x34); + uint64_t x44 = ((uint64_t)x42 & 0xfffffffffffff); + uint128_t x45 = (x40 + x27); + uint64_t x46 = (uint64_t) (x45 >> 0x34); + uint64_t x47 = ((uint64_t)x45 & 0xfffffffffffff); + uint128_t x48 = (x43 + x22); + uint64_t x49 = (uint64_t) (x48 >> 0x34); + uint64_t x50 = ((uint64_t)x48 & 0xfffffffffffff); + uint128_t x51 = (x46 + x26); + uint64_t x52 = (uint64_t) (x51 >> 0x34); + uint64_t x53 = ((uint64_t)x51 & 0xfffffffffffff); + uint64_t x54 = (x49 + x35); + uint64_t x55 = (x54 >> 0x34); + uint64_t x56 = (x54 & 0xfffffffffffff); + uint64_t x57 = (x52 + x30); + uint64_t x58 = (x57 >> 0x34); + uint64_t x59 = (x57 & 0xfffffffffffff); + uint64_t x60 = ((0x10000000000000 * x55) + x56); + uint64_t x61 = (x60 >> 0x34); + uint64_t x62 = (x60 & 0xfffffffffffff); + uint64_t x63 = ((x58 + x38) + x61); + uint64_t x64 = (x63 >> 0x34); + uint64_t x65 = (x63 & 0xfffffffffffff); + uint64_t x66 = (x41 + x61); + uint64_t x67 = (x66 >> 0x34); + uint64_t x68 = (x66 & 0xfffffffffffff); + return (Return x62, Return x50, (x64 + x44), Return x65, Return x59, Return x53, (x67 + x47), Return x68)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e416m2e208m1/freezeDisplay.log b/src/Specific/solinas64_2e416m2e208m1/freezeDisplay.log index b52ac8ae3..7ee94c920 100644 --- a/src/Specific/solinas64_2e416m2e208m1/freezeDisplay.log +++ b/src/Specific/solinas64_2e416m2e208m1/freezeDisplay.log @@ -11,21 +11,21 @@ Interp-η uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xfffffffffffff); uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xfffffffffffff); uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); - uint64_t x40 = x39 & 0xfffffffffffff; + uint64_t x40 = (x39 & 0xfffffffffffff); uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40); - uint64_t x44 = x39 & 0xfffffffffffff; + uint64_t x44 = (x39 & 0xfffffffffffff); uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); - uint64_t x48 = x39 & 0xfffffffffffff; + uint64_t x48 = (x39 & 0xfffffffffffff); uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); - uint64_t x52 = x39 & 0xfffffffffffff; + uint64_t x52 = (x39 & 0xfffffffffffff); uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); - uint64_t x56 = x39 & 0xffffffffffffe; + uint64_t x56 = (x39 & 0xffffffffffffe); uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); - uint64_t x60 = x39 & 0xfffffffffffff; + uint64_t x60 = (x39 & 0xfffffffffffff); uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); - uint64_t x64 = x39 & 0xfffffffffffff; + uint64_t x64 = (x39 & 0xfffffffffffff); uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); - uint64_t x68 = x39 & 0xfffffffffffff; + uint64_t x68 = (x39 & 0xfffffffffffff); uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x diff --git a/src/Specific/solinas64_2e444m17/femulDisplay.log b/src/Specific/solinas64_2e444m17/femulDisplay.log index c325764cf..a8e925cea 100644 --- a/src/Specific/solinas64_2e444m17/femulDisplay.log +++ b/src/Specific/solinas64_2e444m17/femulDisplay.log @@ -1,48 +1,44 @@ -λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, Interp-η (λ var : Syntax.base_type → Type, - λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - uint128_t x36 = (uint128_t) x5 * x34 + (0x2 * ((uint128_t) x7 * x35) + ((uint128_t) x9 * x33 + ((uint128_t) x11 * x31 + (0x2 * ((uint128_t) x13 * x29) + ((uint128_t) x15 * x27 + ((uint128_t) x17 * x25 + (0x2 * ((uint128_t) x19 * x23) + (uint128_t) x18 * x21))))))); - uint128_t x37 = (uint128_t) x5 * x35 + ((uint128_t) x7 * x33 + ((uint128_t) x9 * x31 + ((uint128_t) x11 * x29 + ((uint128_t) x13 * x27 + ((uint128_t) x15 * x25 + ((uint128_t) x17 * x23 + (uint128_t) x19 * x21)))))) + 0x11 * ((uint128_t) x18 * x34); - uint128_t x38 = (uint128_t) x5 * x33 + (0x2 * ((uint128_t) x7 * x31) + (0x2 * ((uint128_t) x9 * x29) + ((uint128_t) x11 * x27 + (0x2 * ((uint128_t) x13 * x25) + (0x2 * ((uint128_t) x15 * x23) + (uint128_t) x17 * x21))))) + 0x11 * (0x2 * ((uint128_t) x19 * x34) + 0x2 * ((uint128_t) x18 * x35)); - uint128_t x39 = (uint128_t) x5 * x31 + (0x2 * ((uint128_t) x7 * x29) + ((uint128_t) x9 * x27 + ((uint128_t) x11 * x25 + (0x2 * ((uint128_t) x13 * x23) + (uint128_t) x15 * x21)))) + 0x11 * ((uint128_t) x17 * x34 + (0x2 * ((uint128_t) x19 * x35) + (uint128_t) x18 * x33)); - uint128_t x40 = (uint128_t) x5 * x29 + ((uint128_t) x7 * x27 + ((uint128_t) x9 * x25 + ((uint128_t) x11 * x23 + (uint128_t) x13 * x21))) + 0x11 * ((uint128_t) x15 * x34 + ((uint128_t) x17 * x35 + ((uint128_t) x19 * x33 + (uint128_t) x18 * x31))); - uint128_t x41 = (uint128_t) x5 * x27 + (0x2 * ((uint128_t) x7 * x25) + (0x2 * ((uint128_t) x9 * x23) + (uint128_t) x11 * x21)) + 0x11 * (0x2 * ((uint128_t) x13 * x34) + (0x2 * ((uint128_t) x15 * x35) + ((uint128_t) x17 * x33 + (0x2 * ((uint128_t) x19 * x31) + 0x2 * ((uint128_t) x18 * x29))))); - uint128_t x42 = (uint128_t) x5 * x25 + (0x2 * ((uint128_t) x7 * x23) + (uint128_t) x9 * x21) + 0x11 * ((uint128_t) x11 * x34 + (0x2 * ((uint128_t) x13 * x35) + ((uint128_t) x15 * x33 + ((uint128_t) x17 * x31 + (0x2 * ((uint128_t) x19 * x29) + (uint128_t) x18 * x27))))); - uint128_t x43 = (uint128_t) x5 * x23 + (uint128_t) x7 * x21 + 0x11 * ((uint128_t) x9 * x34 + ((uint128_t) x11 * x35 + ((uint128_t) x13 * x33 + ((uint128_t) x15 * x31 + ((uint128_t) x17 * x29 + ((uint128_t) x19 * x27 + (uint128_t) x18 * x25)))))); - uint128_t x44 = (uint128_t) x5 * x21 + 0x11 * (0x2 * ((uint128_t) x7 * x34) + (0x2 * ((uint128_t) x9 * x35) + ((uint128_t) x11 * x33 + (0x2 * ((uint128_t) x13 * x31) + (0x2 * ((uint128_t) x15 * x29) + ((uint128_t) x17 * x27 + (0x2 * ((uint128_t) x19 * x25) + 0x2 * ((uint128_t) x18 * x23)))))))); - uint64_t x45 = (uint64_t) (x44 >> 0x32); - uint64_t x46 = (uint64_t) x44 & 0x3ffffffffffff; - uint128_t x47 = x45 + x43; - uint64_t x48 = (uint64_t) (x47 >> 0x31); - uint64_t x49 = (uint64_t) x47 & 0x1ffffffffffff; - uint128_t x50 = x48 + x42; - uint64_t x51 = (uint64_t) (x50 >> 0x31); - uint64_t x52 = (uint64_t) x50 & 0x1ffffffffffff; - uint128_t x53 = x51 + x41; - uint64_t x54 = (uint64_t) (x53 >> 0x32); - uint64_t x55 = (uint64_t) x53 & 0x3ffffffffffff; - uint128_t x56 = x54 + x40; - uint64_t x57 = (uint64_t) (x56 >> 0x31); - uint64_t x58 = (uint64_t) x56 & 0x1ffffffffffff; - uint128_t x59 = x57 + x39; - uint64_t x60 = (uint64_t) (x59 >> 0x31); - uint64_t x61 = (uint64_t) x59 & 0x1ffffffffffff; - uint128_t x62 = x60 + x38; - uint64_t x63 = (uint64_t) (x62 >> 0x32); - uint64_t x64 = (uint64_t) x62 & 0x3ffffffffffff; - uint128_t x65 = x63 + x37; - uint64_t x66 = (uint64_t) (x65 >> 0x31); - uint64_t x67 = (uint64_t) x65 & 0x1ffffffffffff; - uint128_t x68 = x66 + x36; - uint64_t x69 = (uint64_t) (x68 >> 0x31); - uint64_t x70 = (uint64_t) x68 & 0x1ffffffffffff; - uint64_t x71 = x46 + 0x11 * x69; - uint64_t x72 = x71 >> 0x32; - uint64_t x73 = x71 & 0x3ffffffffffff; - uint64_t x74 = x72 + x49; - uint64_t x75 = x74 >> 0x31; - uint64_t x76 = x74 & 0x1ffffffffffff; - return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, x75 + x52, Return x76, Return x73)) + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19)))))))); + uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x11 * (0x2 * ((uint128_t)x16 * x30)))); + uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x11 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31)))); + uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x11 * ((0x2 * ((uint128_t)x15 * x30)) + (((uint128_t)x17 * x31) + (0x2 * ((uint128_t)x16 * x29)))))); + uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x11 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27)))))); + uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x11 * ((0x2 * ((uint128_t)x11 * x30)) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + (0x2 * ((uint128_t)x16 * x25)))))))); + uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x11 * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23)))))))); + uint128_t x39 = (((uint128_t)x5 * x19) + (0x11 * ((0x2 * ((uint128_t)x7 * x30)) + (((uint128_t)x9 * x31) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + (((uint128_t)x17 * x23) + (0x2 * ((uint128_t)x16 * x21)))))))))); + uint64_t x40 = (uint64_t) (x39 >> 0x38); + uint64_t x41 = ((uint64_t)x39 & 0xffffffffffffff); + uint128_t x42 = (x40 + x38); + uint64_t x43 = (uint64_t) (x42 >> 0x37); + uint64_t x44 = ((uint64_t)x42 & 0x7fffffffffffff); + uint128_t x45 = (x43 + x37); + uint64_t x46 = (uint64_t) (x45 >> 0x38); + uint64_t x47 = ((uint64_t)x45 & 0xffffffffffffff); + uint128_t x48 = (x46 + x36); + uint64_t x49 = (uint64_t) (x48 >> 0x37); + uint64_t x50 = ((uint64_t)x48 & 0x7fffffffffffff); + uint128_t x51 = (x49 + x35); + uint64_t x52 = (uint64_t) (x51 >> 0x38); + uint64_t x53 = ((uint64_t)x51 & 0xffffffffffffff); + uint128_t x54 = (x52 + x34); + uint64_t x55 = (uint64_t) (x54 >> 0x37); + uint64_t x56 = ((uint64_t)x54 & 0x7fffffffffffff); + uint128_t x57 = (x55 + x33); + uint64_t x58 = (uint64_t) (x57 >> 0x38); + uint64_t x59 = ((uint64_t)x57 & 0xffffffffffffff); + uint128_t x60 = (x58 + x32); + uint64_t x61 = (uint64_t) (x60 >> 0x37); + uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffffff); + uint64_t x63 = (x41 + (0x11 * x61)); + uint64_t x64 = (x63 >> 0x38); + uint64_t x65 = (x63 & 0xffffffffffffff); + uint64_t x66 = (x64 + x44); + uint64_t x67 = (x66 >> 0x37); + uint64_t x68 = (x66 & 0x7fffffffffffff); + return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65)) (x, x0)%core - : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e444m17/fesquareDisplay.log b/src/Specific/solinas64_2e444m17/fesquareDisplay.log index 21b07fd5e..59dbd76f2 100644 --- a/src/Specific/solinas64_2e444m17/fesquareDisplay.log +++ b/src/Specific/solinas64_2e444m17/fesquareDisplay.log @@ -1,48 +1,44 @@ -λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, Interp-η (λ var : Syntax.base_type → Type, - λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint128_t x17 = (uint128_t) x2 * x15 + (0x2 * ((uint128_t) x4 * x16) + ((uint128_t) x6 * x14 + ((uint128_t) x8 * x12 + (0x2 * ((uint128_t) x10 * x10) + ((uint128_t) x12 * x8 + ((uint128_t) x14 * x6 + (0x2 * ((uint128_t) x16 * x4) + (uint128_t) x15 * x2))))))); - uint128_t x18 = (uint128_t) x2 * x16 + ((uint128_t) x4 * x14 + ((uint128_t) x6 * x12 + ((uint128_t) x8 * x10 + ((uint128_t) x10 * x8 + ((uint128_t) x12 * x6 + ((uint128_t) x14 * x4 + (uint128_t) x16 * x2)))))) + 0x11 * ((uint128_t) x15 * x15); - uint128_t x19 = (uint128_t) x2 * x14 + (0x2 * ((uint128_t) x4 * x12) + (0x2 * ((uint128_t) x6 * x10) + ((uint128_t) x8 * x8 + (0x2 * ((uint128_t) x10 * x6) + (0x2 * ((uint128_t) x12 * x4) + (uint128_t) x14 * x2))))) + 0x11 * (0x2 * ((uint128_t) x16 * x15) + 0x2 * ((uint128_t) x15 * x16)); - uint128_t x20 = (uint128_t) x2 * x12 + (0x2 * ((uint128_t) x4 * x10) + ((uint128_t) x6 * x8 + ((uint128_t) x8 * x6 + (0x2 * ((uint128_t) x10 * x4) + (uint128_t) x12 * x2)))) + 0x11 * ((uint128_t) x14 * x15 + (0x2 * ((uint128_t) x16 * x16) + (uint128_t) x15 * x14)); - uint128_t x21 = (uint128_t) x2 * x10 + ((uint128_t) x4 * x8 + ((uint128_t) x6 * x6 + ((uint128_t) x8 * x4 + (uint128_t) x10 * x2))) + 0x11 * ((uint128_t) x12 * x15 + ((uint128_t) x14 * x16 + ((uint128_t) x16 * x14 + (uint128_t) x15 * x12))); - uint128_t x22 = (uint128_t) x2 * x8 + (0x2 * ((uint128_t) x4 * x6) + (0x2 * ((uint128_t) x6 * x4) + (uint128_t) x8 * x2)) + 0x11 * (0x2 * ((uint128_t) x10 * x15) + (0x2 * ((uint128_t) x12 * x16) + ((uint128_t) x14 * x14 + (0x2 * ((uint128_t) x16 * x12) + 0x2 * ((uint128_t) x15 * x10))))); - uint128_t x23 = (uint128_t) x2 * x6 + (0x2 * ((uint128_t) x4 * x4) + (uint128_t) x6 * x2) + 0x11 * ((uint128_t) x8 * x15 + (0x2 * ((uint128_t) x10 * x16) + ((uint128_t) x12 * x14 + ((uint128_t) x14 * x12 + (0x2 * ((uint128_t) x16 * x10) + (uint128_t) x15 * x8))))); - uint128_t x24 = (uint128_t) x2 * x4 + (uint128_t) x4 * x2 + 0x11 * ((uint128_t) x6 * x15 + ((uint128_t) x8 * x16 + ((uint128_t) x10 * x14 + ((uint128_t) x12 * x12 + ((uint128_t) x14 * x10 + ((uint128_t) x16 * x8 + (uint128_t) x15 * x6)))))); - uint128_t x25 = (uint128_t) x2 * x2 + 0x11 * (0x2 * ((uint128_t) x4 * x15) + (0x2 * ((uint128_t) x6 * x16) + ((uint128_t) x8 * x14 + (0x2 * ((uint128_t) x10 * x12) + (0x2 * ((uint128_t) x12 * x10) + ((uint128_t) x14 * x8 + (0x2 * ((uint128_t) x16 * x6) + 0x2 * ((uint128_t) x15 * x4)))))))); - uint64_t x26 = (uint64_t) (x25 >> 0x32); - uint64_t x27 = (uint64_t) x25 & 0x3ffffffffffff; - uint128_t x28 = x26 + x24; - uint64_t x29 = (uint64_t) (x28 >> 0x31); - uint64_t x30 = (uint64_t) x28 & 0x1ffffffffffff; - uint128_t x31 = x29 + x23; - uint64_t x32 = (uint64_t) (x31 >> 0x31); - uint64_t x33 = (uint64_t) x31 & 0x1ffffffffffff; - uint128_t x34 = x32 + x22; - uint64_t x35 = (uint64_t) (x34 >> 0x32); - uint64_t x36 = (uint64_t) x34 & 0x3ffffffffffff; - uint128_t x37 = x35 + x21; - uint64_t x38 = (uint64_t) (x37 >> 0x31); - uint64_t x39 = (uint64_t) x37 & 0x1ffffffffffff; - uint128_t x40 = x38 + x20; - uint64_t x41 = (uint64_t) (x40 >> 0x31); - uint64_t x42 = (uint64_t) x40 & 0x1ffffffffffff; - uint128_t x43 = x41 + x19; - uint64_t x44 = (uint64_t) (x43 >> 0x32); - uint64_t x45 = (uint64_t) x43 & 0x3ffffffffffff; - uint128_t x46 = x44 + x18; - uint64_t x47 = (uint64_t) (x46 >> 0x31); - uint64_t x48 = (uint64_t) x46 & 0x1ffffffffffff; - uint128_t x49 = x47 + x17; - uint64_t x50 = (uint64_t) (x49 >> 0x31); - uint64_t x51 = (uint64_t) x49 & 0x1ffffffffffff; - uint64_t x52 = x27 + 0x11 * x50; - uint64_t x53 = x52 >> 0x32; - uint64_t x54 = x52 & 0x3ffffffffffff; - uint64_t x55 = x53 + x30; - uint64_t x56 = x55 >> 0x31; - uint64_t x57 = x55 & 0x1ffffffffffff; - return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, x56 + x33, Return x57, Return x54)) + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2)))))))); + uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x11 * (0x2 * ((uint128_t)x13 * x13)))); + uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14)))); + uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint128_t)x12 * x13)) + (((uint128_t)x14 * x14) + (0x2 * ((uint128_t)x13 * x12)))))); + uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10)))))); + uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x11 * ((0x2 * ((uint128_t)x8 * x13)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + (0x2 * ((uint128_t)x13 * x8)))))))); + uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6)))))))); + uint128_t x22 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x13)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + (0x2 * ((uint128_t)x13 * x4)))))))))); + uint64_t x23 = (uint64_t) (x22 >> 0x38); + uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff); + uint128_t x25 = (x23 + x21); + uint64_t x26 = (uint64_t) (x25 >> 0x37); + uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff); + uint128_t x28 = (x26 + x20); + uint64_t x29 = (uint64_t) (x28 >> 0x38); + uint64_t x30 = ((uint64_t)x28 & 0xffffffffffffff); + uint128_t x31 = (x29 + x19); + uint64_t x32 = (uint64_t) (x31 >> 0x37); + uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff); + uint128_t x34 = (x32 + x18); + uint64_t x35 = (uint64_t) (x34 >> 0x38); + uint64_t x36 = ((uint64_t)x34 & 0xffffffffffffff); + uint128_t x37 = (x35 + x17); + uint64_t x38 = (uint64_t) (x37 >> 0x37); + uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff); + uint128_t x40 = (x38 + x16); + uint64_t x41 = (uint64_t) (x40 >> 0x38); + uint64_t x42 = ((uint64_t)x40 & 0xffffffffffffff); + uint128_t x43 = (x41 + x15); + uint64_t x44 = (uint64_t) (x43 >> 0x37); + uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffffff); + uint64_t x46 = (x24 + (0x11 * x44)); + uint64_t x47 = (x46 >> 0x38); + uint64_t x48 = (x46 & 0xffffffffffffff); + uint64_t x49 = (x47 + x27); + uint64_t x50 = (x49 >> 0x37); + uint64_t x51 = (x49 & 0x7fffffffffffff); + return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48)) x - : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e444m17/freezeDisplay.log b/src/Specific/solinas64_2e444m17/freezeDisplay.log index cf3ac0ed1..025251dc8 100644 --- a/src/Specific/solinas64_2e444m17/freezeDisplay.log +++ b/src/Specific/solinas64_2e444m17/freezeDisplay.log @@ -1,35 +1,32 @@ -λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, Interp-η (λ var : Syntax.base_type → Type, - λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffef); - uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x1ffffffffffff); - uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x1ffffffffffff); - uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffffffffff); - uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x1ffffffffffff); - uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x1ffffffffffff); - uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3ffffffffffff); - uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x1ffffffffffff); - uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x1ffffffffffff); - uint64_t x44 = (uint64_t)cmovznz(x43, 0x0, 0xffffffffffffffffL); - uint64_t x45 = x44 & 0x3ffffffffffef; - uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45); - uint64_t x49 = x44 & 0x1ffffffffffff; - uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); - uint64_t x53 = x44 & 0x1ffffffffffff; - uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); - uint64_t x57 = x44 & 0x3ffffffffffff; - uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); - uint64_t x61 = x44 & 0x1ffffffffffff; - uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); - uint64_t x65 = x44 & 0x1ffffffffffff; - uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); - uint64_t x69 = x44 & 0x3ffffffffffff; - uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); - uint64_t x73 = x44 & 0x1ffffffffffff; - uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); - uint64_t x77 = x44 & 0x1ffffffffffff; - uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); - (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffffef); + uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0x7fffffffffffff); + uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffffff); + uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x7fffffffffffff); + uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffffff); + uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0x7fffffffffffff); + uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffffff); + uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffffffffffff); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xffffffffffffef); + uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40); + uint64_t x44 = (x39 & 0x7fffffffffffff); + uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); + uint64_t x48 = (x39 & 0xffffffffffffff); + uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); + uint64_t x52 = (x39 & 0x7fffffffffffff); + uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); + uint64_t x56 = (x39 & 0xffffffffffffff); + uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); + uint64_t x60 = (x39 & 0x7fffffffffffff); + uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); + uint64_t x64 = (x39 & 0xffffffffffffff); + uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); + uint64_t x68 = (x39 & 0x7fffffffffffff); + uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x - : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e448m2e224m1/femulDisplay.log b/src/Specific/solinas64_2e448m2e224m1/femulDisplay.log new file mode 100644 index 000000000..f2d1600ca --- /dev/null +++ b/src/Specific/solinas64_2e448m2e224m1/femulDisplay.log @@ -0,0 +1,61 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint128_t x32 = (((uint128_t)(x11 + x16) * (x25 + x30)) - ((uint128_t)x11 * x25)); + uint128_t x33 = ((((uint128_t)(x9 + x17) * (x25 + x30)) + ((uint128_t)(x11 + x16) * (x23 + x31))) - (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23))); + uint128_t x34 = ((((uint128_t)(x7 + x15) * (x25 + x30)) + (((uint128_t)(x9 + x17) * (x23 + x31)) + ((uint128_t)(x11 + x16) * (x21 + x29)))) - (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21)))); + uint128_t x35 = ((((uint128_t)(x5 + x13) * (x25 + x30)) + (((uint128_t)(x7 + x15) * (x23 + x31)) + (((uint128_t)(x9 + x17) * (x21 + x29)) + ((uint128_t)(x11 + x16) * (x19 + x27))))) - (((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19))))); + uint128_t x36 = ((((uint128_t)(x5 + x13) * (x23 + x31)) + (((uint128_t)(x7 + x15) * (x21 + x29)) + ((uint128_t)(x9 + x17) * (x19 + x27)))) - (((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19)))); + uint128_t x37 = ((((uint128_t)(x5 + x13) * (x21 + x29)) + ((uint128_t)(x7 + x15) * (x19 + x27))) - (((uint128_t)x5 * x21) + ((uint128_t)x7 * x19))); + uint128_t x38 = (((uint128_t)(x5 + x13) * (x19 + x27)) - ((uint128_t)x5 * x19)); + uint128_t x39 = (((((uint128_t)x11 * x25) + ((uint128_t)x16 * x30)) + x36) + x32); + uint128_t x40 = ((((((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)) + (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))) + x37) + x33); + uint128_t x41 = ((((((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))) + (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))) + x38) + x34); + uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))); + uint128_t x43 = (((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + ((uint128_t)x17 * x27)))) + x32); + uint128_t x44 = (((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (((uint128_t)x13 * x29) + ((uint128_t)x15 * x27))) + x33); + uint128_t x45 = ((((uint128_t)x5 * x19) + ((uint128_t)x13 * x27)) + x34); + uint64_t x46 = (uint64_t) (x42 >> 0x38); + uint64_t x47 = ((uint64_t)x42 & 0xffffffffffffff); + uint64_t x48 = (uint64_t) (x35 >> 0x38); + uint64_t x49 = ((uint64_t)x35 & 0xffffffffffffff); + uint128_t x50 = (((uint128_t)0x100000000000000 * x48) + x49); + uint64_t x51 = (uint64_t) (x50 >> 0x38); + uint64_t x52 = ((uint64_t)x50 & 0xffffffffffffff); + uint128_t x53 = ((x46 + x41) + x51); + uint64_t x54 = (uint64_t) (x53 >> 0x38); + uint64_t x55 = ((uint64_t)x53 & 0xffffffffffffff); + uint128_t x56 = (x45 + x51); + uint64_t x57 = (uint64_t) (x56 >> 0x38); + uint64_t x58 = ((uint64_t)x56 & 0xffffffffffffff); + uint128_t x59 = (x54 + x40); + uint64_t x60 = (uint64_t) (x59 >> 0x38); + uint64_t x61 = ((uint64_t)x59 & 0xffffffffffffff); + uint128_t x62 = (x57 + x44); + uint64_t x63 = (uint64_t) (x62 >> 0x38); + uint64_t x64 = ((uint64_t)x62 & 0xffffffffffffff); + uint128_t x65 = (x60 + x39); + uint64_t x66 = (uint64_t) (x65 >> 0x38); + uint64_t x67 = ((uint64_t)x65 & 0xffffffffffffff); + uint128_t x68 = (x63 + x43); + uint64_t x69 = (uint64_t) (x68 >> 0x38); + uint64_t x70 = ((uint64_t)x68 & 0xffffffffffffff); + uint64_t x71 = (x66 + x52); + uint64_t x72 = (x71 >> 0x38); + uint64_t x73 = (x71 & 0xffffffffffffff); + uint64_t x74 = (x69 + x47); + uint64_t x75 = (x74 >> 0x38); + uint64_t x76 = (x74 & 0xffffffffffffff); + uint64_t x77 = ((0x100000000000000 * x72) + x73); + uint64_t x78 = (x77 >> 0x38); + uint64_t x79 = (x77 & 0xffffffffffffff); + uint64_t x80 = ((x75 + x55) + x78); + uint64_t x81 = (x80 >> 0x38); + uint64_t x82 = (x80 & 0xffffffffffffff); + uint64_t x83 = (x58 + x78); + uint64_t x84 = (x83 >> 0x38); + uint64_t x85 = (x83 & 0xffffffffffffff); + return (Return x79, Return x67, (x81 + x61), Return x82, Return x76, Return x70, (x84 + x64), Return x85)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e448m2e224m1/fesquareDisplay.log b/src/Specific/solinas64_2e448m2e224m1/fesquareDisplay.log new file mode 100644 index 000000000..786925670 --- /dev/null +++ b/src/Specific/solinas64_2e448m2e224m1/fesquareDisplay.log @@ -0,0 +1,61 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint128_t x15 = (((uint128_t)(x8 + x13) * (x8 + x13)) - ((uint128_t)x8 * x8)); + uint128_t x16 = ((((uint128_t)(x6 + x14) * (x8 + x13)) + ((uint128_t)(x8 + x13) * (x6 + x14))) - (((uint128_t)x6 * x8) + ((uint128_t)x8 * x6))); + uint128_t x17 = ((((uint128_t)(x4 + x12) * (x8 + x13)) + (((uint128_t)(x6 + x14) * (x6 + x14)) + ((uint128_t)(x8 + x13) * (x4 + x12)))) - (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4)))); + uint128_t x18 = ((((uint128_t)(x2 + x10) * (x8 + x13)) + (((uint128_t)(x4 + x12) * (x6 + x14)) + (((uint128_t)(x6 + x14) * (x4 + x12)) + ((uint128_t)(x8 + x13) * (x2 + x10))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2))))); + uint128_t x19 = ((((uint128_t)(x2 + x10) * (x6 + x14)) + (((uint128_t)(x4 + x12) * (x4 + x12)) + ((uint128_t)(x6 + x14) * (x2 + x10)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2)))); + uint128_t x20 = ((((uint128_t)(x2 + x10) * (x4 + x12)) + ((uint128_t)(x4 + x12) * (x2 + x10))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2))); + uint128_t x21 = (((uint128_t)(x2 + x10) * (x2 + x10)) - ((uint128_t)x2 * x2)); + uint128_t x22 = (((((uint128_t)x8 * x8) + ((uint128_t)x13 * x13)) + x19) + x15); + uint128_t x23 = ((((((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)) + (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))) + x20) + x16); + uint128_t x24 = ((((((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))) + (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))) + x21) + x17); + uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))); + uint128_t x26 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + ((uint128_t)x14 * x10)))) + x15); + uint128_t x27 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x10 * x12) + ((uint128_t)x12 * x10))) + x16); + uint128_t x28 = ((((uint128_t)x2 * x2) + ((uint128_t)x10 * x10)) + x17); + uint64_t x29 = (uint64_t) (x25 >> 0x38); + uint64_t x30 = ((uint64_t)x25 & 0xffffffffffffff); + uint64_t x31 = (uint64_t) (x18 >> 0x38); + uint64_t x32 = ((uint64_t)x18 & 0xffffffffffffff); + uint128_t x33 = (((uint128_t)0x100000000000000 * x31) + x32); + uint64_t x34 = (uint64_t) (x33 >> 0x38); + uint64_t x35 = ((uint64_t)x33 & 0xffffffffffffff); + uint128_t x36 = ((x29 + x24) + x34); + uint64_t x37 = (uint64_t) (x36 >> 0x38); + uint64_t x38 = ((uint64_t)x36 & 0xffffffffffffff); + uint128_t x39 = (x28 + x34); + uint64_t x40 = (uint64_t) (x39 >> 0x38); + uint64_t x41 = ((uint64_t)x39 & 0xffffffffffffff); + uint128_t x42 = (x37 + x23); + uint64_t x43 = (uint64_t) (x42 >> 0x38); + uint64_t x44 = ((uint64_t)x42 & 0xffffffffffffff); + uint128_t x45 = (x40 + x27); + uint64_t x46 = (uint64_t) (x45 >> 0x38); + uint64_t x47 = ((uint64_t)x45 & 0xffffffffffffff); + uint128_t x48 = (x43 + x22); + uint64_t x49 = (uint64_t) (x48 >> 0x38); + uint64_t x50 = ((uint64_t)x48 & 0xffffffffffffff); + uint128_t x51 = (x46 + x26); + uint64_t x52 = (uint64_t) (x51 >> 0x38); + uint64_t x53 = ((uint64_t)x51 & 0xffffffffffffff); + uint64_t x54 = (x49 + x35); + uint64_t x55 = (x54 >> 0x38); + uint64_t x56 = (x54 & 0xffffffffffffff); + uint64_t x57 = (x52 + x30); + uint64_t x58 = (x57 >> 0x38); + uint64_t x59 = (x57 & 0xffffffffffffff); + uint64_t x60 = ((0x100000000000000 * x55) + x56); + uint64_t x61 = (x60 >> 0x38); + uint64_t x62 = (x60 & 0xffffffffffffff); + uint64_t x63 = ((x58 + x38) + x61); + uint64_t x64 = (x63 >> 0x38); + uint64_t x65 = (x63 & 0xffffffffffffff); + uint64_t x66 = (x41 + x61); + uint64_t x67 = (x66 >> 0x38); + uint64_t x68 = (x66 & 0xffffffffffffff); + return (Return x62, Return x50, (x64 + x44), Return x65, Return x59, Return x53, (x67 + x47), Return x68)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e448m2e224m1/freezeDisplay.log b/src/Specific/solinas64_2e448m2e224m1/freezeDisplay.log index 9107c95f3..0a0474d75 100644 --- a/src/Specific/solinas64_2e448m2e224m1/freezeDisplay.log +++ b/src/Specific/solinas64_2e448m2e224m1/freezeDisplay.log @@ -11,21 +11,21 @@ Interp-η uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffffff); uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffffff); uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); - uint64_t x40 = x39 & 0xffffffffffffff; + uint64_t x40 = (x39 & 0xffffffffffffff); uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40); - uint64_t x44 = x39 & 0xffffffffffffff; + uint64_t x44 = (x39 & 0xffffffffffffff); uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); - uint64_t x48 = x39 & 0xffffffffffffff; + uint64_t x48 = (x39 & 0xffffffffffffff); uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); - uint64_t x52 = x39 & 0xffffffffffffff; + uint64_t x52 = (x39 & 0xffffffffffffff); uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); - uint64_t x56 = x39 & 0xfffffffffffffe; + uint64_t x56 = (x39 & 0xfffffffffffffe); uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); - uint64_t x60 = x39 & 0xffffffffffffff; + uint64_t x60 = (x39 & 0xffffffffffffff); uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); - uint64_t x64 = x39 & 0xffffffffffffff; + uint64_t x64 = (x39 & 0xffffffffffffff); uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); - uint64_t x68 = x39 & 0xffffffffffffff; + uint64_t x68 = (x39 & 0xffffffffffffff); uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x diff --git a/src/Specific/solinas64_2e450m2e225m1/femulDisplay.log b/src/Specific/solinas64_2e450m2e225m1/femulDisplay.log new file mode 100644 index 000000000..70250e4ef --- /dev/null +++ b/src/Specific/solinas64_2e450m2e225m1/femulDisplay.log @@ -0,0 +1,61 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint128_t x32 = (((uint128_t)(x11 + x16) * (x25 + x30)) - ((uint128_t)x11 * x25)); + uint128_t x33 = ((((uint128_t)(x9 + x17) * (x25 + x30)) + ((uint128_t)(x11 + x16) * (x23 + x31))) - (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23))); + uint128_t x34 = (((0x2 * ((uint128_t)(x7 + x15) * (x25 + x30))) + ((0x2 * ((uint128_t)(x9 + x17) * (x23 + x31))) + (0x2 * ((uint128_t)(x11 + x16) * (x21 + x29))))) - ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + (0x2 * ((uint128_t)x11 * x21))))); + uint128_t x35 = ((((uint128_t)(x5 + x13) * (x25 + x30)) + ((0x2 * ((uint128_t)(x7 + x15) * (x23 + x31))) + ((0x2 * ((uint128_t)(x9 + x17) * (x21 + x29))) + ((uint128_t)(x11 + x16) * (x19 + x27))))) - (((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19))))); + uint128_t x36 = ((((uint128_t)(x5 + x13) * (x23 + x31)) + ((0x2 * ((uint128_t)(x7 + x15) * (x21 + x29))) + ((uint128_t)(x9 + x17) * (x19 + x27)))) - (((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19)))); + uint128_t x37 = ((((uint128_t)(x5 + x13) * (x21 + x29)) + ((uint128_t)(x7 + x15) * (x19 + x27))) - (((uint128_t)x5 * x21) + ((uint128_t)x7 * x19))); + uint128_t x38 = (((uint128_t)(x5 + x13) * (x19 + x27)) - ((uint128_t)x5 * x19)); + uint128_t x39 = (((((uint128_t)x11 * x25) + ((uint128_t)x16 * x30)) + x36) + x32); + uint128_t x40 = ((((((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)) + (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))) + x37) + x33); + uint128_t x41 = (((((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + (0x2 * ((uint128_t)x11 * x21)))) + ((0x2 * ((uint128_t)x15 * x30)) + ((0x2 * ((uint128_t)x17 * x31)) + (0x2 * ((uint128_t)x16 * x29))))) + x38) + x34); + uint128_t x42 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))) + (((uint128_t)x13 * x30) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + ((uint128_t)x16 * x27))))); + uint128_t x43 = (((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + ((uint128_t)x17 * x27)))) + x32); + uint128_t x44 = (((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (((uint128_t)x13 * x29) + ((uint128_t)x15 * x27))) + x33); + uint128_t x45 = ((((uint128_t)x5 * x19) + ((uint128_t)x13 * x27)) + x34); + uint64_t x46 = (uint64_t) (x42 >> 0x38); + uint64_t x47 = ((uint64_t)x42 & 0xffffffffffffff); + uint64_t x48 = (uint64_t) (x35 >> 0x38); + uint64_t x49 = ((uint64_t)x35 & 0xffffffffffffff); + uint128_t x50 = (((uint128_t)0x100000000000000 * x48) + x49); + uint64_t x51 = (uint64_t) (x50 >> 0x38); + uint64_t x52 = ((uint64_t)x50 & 0xffffffffffffff); + uint128_t x53 = ((x46 + x41) + x51); + uint64_t x54 = (uint64_t) (x53 >> 0x39); + uint64_t x55 = ((uint64_t)x53 & 0x1ffffffffffffff); + uint128_t x56 = (x45 + x51); + uint64_t x57 = (uint64_t) (x56 >> 0x39); + uint64_t x58 = ((uint64_t)x56 & 0x1ffffffffffffff); + uint128_t x59 = (x54 + x40); + uint64_t x60 = (uint64_t) (x59 >> 0x38); + uint64_t x61 = ((uint64_t)x59 & 0xffffffffffffff); + uint128_t x62 = (x57 + x44); + uint64_t x63 = (uint64_t) (x62 >> 0x38); + uint64_t x64 = ((uint64_t)x62 & 0xffffffffffffff); + uint128_t x65 = (x60 + x39); + uint64_t x66 = (uint64_t) (x65 >> 0x38); + uint64_t x67 = ((uint64_t)x65 & 0xffffffffffffff); + uint128_t x68 = (x63 + x43); + uint64_t x69 = (uint64_t) (x68 >> 0x38); + uint64_t x70 = ((uint64_t)x68 & 0xffffffffffffff); + uint64_t x71 = (x66 + x52); + uint64_t x72 = (x71 >> 0x38); + uint64_t x73 = (x71 & 0xffffffffffffff); + uint64_t x74 = (x69 + x47); + uint64_t x75 = (x74 >> 0x38); + uint64_t x76 = (x74 & 0xffffffffffffff); + uint64_t x77 = ((0x100000000000000 * x72) + x73); + uint64_t x78 = (x77 >> 0x38); + uint64_t x79 = (x77 & 0xffffffffffffff); + uint64_t x80 = ((x75 + x55) + x78); + uint64_t x81 = (x80 >> 0x39); + uint64_t x82 = (x80 & 0x1ffffffffffffff); + uint64_t x83 = (x58 + x78); + uint64_t x84 = (x83 >> 0x39); + uint64_t x85 = (x83 & 0x1ffffffffffffff); + return (Return x79, Return x67, (x81 + x61), Return x82, Return x76, Return x70, (x84 + x64), Return x85)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e450m2e225m1/fesquareDisplay.log b/src/Specific/solinas64_2e450m2e225m1/fesquareDisplay.log new file mode 100644 index 000000000..754f87eda --- /dev/null +++ b/src/Specific/solinas64_2e450m2e225m1/fesquareDisplay.log @@ -0,0 +1,61 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint128_t x15 = (((uint128_t)(x8 + x13) * (x8 + x13)) - ((uint128_t)x8 * x8)); + uint128_t x16 = ((((uint128_t)(x6 + x14) * (x8 + x13)) + ((uint128_t)(x8 + x13) * (x6 + x14))) - (((uint128_t)x6 * x8) + ((uint128_t)x8 * x6))); + uint128_t x17 = (((0x2 * ((uint128_t)(x4 + x12) * (x8 + x13))) + ((0x2 * ((uint128_t)(x6 + x14) * (x6 + x14))) + (0x2 * ((uint128_t)(x8 + x13) * (x4 + x12))))) - ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x8 * x4))))); + uint128_t x18 = ((((uint128_t)(x2 + x10) * (x8 + x13)) + ((0x2 * ((uint128_t)(x4 + x12) * (x6 + x14))) + ((0x2 * ((uint128_t)(x6 + x14) * (x4 + x12))) + ((uint128_t)(x8 + x13) * (x2 + x10))))) - (((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2))))); + uint128_t x19 = ((((uint128_t)(x2 + x10) * (x6 + x14)) + ((0x2 * ((uint128_t)(x4 + x12) * (x4 + x12))) + ((uint128_t)(x6 + x14) * (x2 + x10)))) - (((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2)))); + uint128_t x20 = ((((uint128_t)(x2 + x10) * (x4 + x12)) + ((uint128_t)(x4 + x12) * (x2 + x10))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2))); + uint128_t x21 = (((uint128_t)(x2 + x10) * (x2 + x10)) - ((uint128_t)x2 * x2)); + uint128_t x22 = (((((uint128_t)x8 * x8) + ((uint128_t)x13 * x13)) + x19) + x15); + uint128_t x23 = ((((((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)) + (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))) + x20) + x16); + uint128_t x24 = (((((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x8 * x4)))) + ((0x2 * ((uint128_t)x12 * x13)) + ((0x2 * ((uint128_t)x14 * x14)) + (0x2 * ((uint128_t)x13 * x12))))) + x21) + x17); + uint128_t x25 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (((uint128_t)x10 * x13) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + ((uint128_t)x13 * x10))))); + uint128_t x26 = (((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + ((uint128_t)x14 * x10)))) + x15); + uint128_t x27 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x10 * x12) + ((uint128_t)x12 * x10))) + x16); + uint128_t x28 = ((((uint128_t)x2 * x2) + ((uint128_t)x10 * x10)) + x17); + uint64_t x29 = (uint64_t) (x25 >> 0x38); + uint64_t x30 = ((uint64_t)x25 & 0xffffffffffffff); + uint64_t x31 = (uint64_t) (x18 >> 0x38); + uint64_t x32 = ((uint64_t)x18 & 0xffffffffffffff); + uint128_t x33 = (((uint128_t)0x100000000000000 * x31) + x32); + uint64_t x34 = (uint64_t) (x33 >> 0x38); + uint64_t x35 = ((uint64_t)x33 & 0xffffffffffffff); + uint128_t x36 = ((x29 + x24) + x34); + uint64_t x37 = (uint64_t) (x36 >> 0x39); + uint64_t x38 = ((uint64_t)x36 & 0x1ffffffffffffff); + uint128_t x39 = (x28 + x34); + uint64_t x40 = (uint64_t) (x39 >> 0x39); + uint64_t x41 = ((uint64_t)x39 & 0x1ffffffffffffff); + uint128_t x42 = (x37 + x23); + uint64_t x43 = (uint64_t) (x42 >> 0x38); + uint64_t x44 = ((uint64_t)x42 & 0xffffffffffffff); + uint128_t x45 = (x40 + x27); + uint64_t x46 = (uint64_t) (x45 >> 0x38); + uint64_t x47 = ((uint64_t)x45 & 0xffffffffffffff); + uint128_t x48 = (x43 + x22); + uint64_t x49 = (uint64_t) (x48 >> 0x38); + uint64_t x50 = ((uint64_t)x48 & 0xffffffffffffff); + uint128_t x51 = (x46 + x26); + uint64_t x52 = (uint64_t) (x51 >> 0x38); + uint64_t x53 = ((uint64_t)x51 & 0xffffffffffffff); + uint64_t x54 = (x49 + x35); + uint64_t x55 = (x54 >> 0x38); + uint64_t x56 = (x54 & 0xffffffffffffff); + uint64_t x57 = (x52 + x30); + uint64_t x58 = (x57 >> 0x38); + uint64_t x59 = (x57 & 0xffffffffffffff); + uint64_t x60 = ((0x100000000000000 * x55) + x56); + uint64_t x61 = (x60 >> 0x38); + uint64_t x62 = (x60 & 0xffffffffffffff); + uint64_t x63 = ((x58 + x38) + x61); + uint64_t x64 = (x63 >> 0x39); + uint64_t x65 = (x63 & 0x1ffffffffffffff); + uint64_t x66 = (x41 + x61); + uint64_t x67 = (x66 >> 0x39); + uint64_t x68 = (x66 & 0x1ffffffffffffff); + return (Return x62, Return x50, (x64 + x44), Return x65, Return x59, Return x53, (x67 + x47), Return x68)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e450m2e225m1/freezeDisplay.log b/src/Specific/solinas64_2e450m2e225m1/freezeDisplay.log index 9f6e9b962..b9084313e 100644 --- a/src/Specific/solinas64_2e450m2e225m1/freezeDisplay.log +++ b/src/Specific/solinas64_2e450m2e225m1/freezeDisplay.log @@ -1,35 +1,32 @@ -λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, Interp-η (λ var : Syntax.base_type → Type, - λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffff); - uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x3ffffffffffff); - uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3ffffffffffff); - uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffffffffff); - uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x3fffffdffffff); - uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3ffffffffffff); - uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3ffffffffffff); - uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3ffffffffffff); - uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3ffffffffffff); - uint64_t x44 = (uint64_t)cmovznz(x43, 0x0, 0xffffffffffffffffL); - uint64_t x45 = x44 & 0x3ffffffffffff; - uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45); - uint64_t x49 = x44 & 0x3ffffffffffff; - uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); - uint64_t x53 = x44 & 0x3ffffffffffff; - uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); - uint64_t x57 = x44 & 0x3ffffffffffff; - uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); - uint64_t x61 = x44 & 0x3fffffdffffff; - uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); - uint64_t x65 = x44 & 0x3ffffffffffff; - uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); - uint64_t x69 = x44 & 0x3ffffffffffff; - uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); - uint64_t x73 = x44 & 0x3ffffffffffff; - uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); - uint64_t x77 = x44 & 0x3ffffffffffff; - uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); - (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffffff); + uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffffff); + uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffffff); + uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffffff); + uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x1fffffffffffffe); + uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffffff); + uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffffff); + uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffffff); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0x1ffffffffffffff); + uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40); + uint64_t x44 = (x39 & 0xffffffffffffff); + uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); + uint64_t x48 = (x39 & 0xffffffffffffff); + uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); + uint64_t x52 = (x39 & 0xffffffffffffff); + uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); + uint64_t x56 = (x39 & 0x1fffffffffffffe); + uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); + uint64_t x60 = (x39 & 0xffffffffffffff); + uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); + uint64_t x64 = (x39 & 0xffffffffffffff); + uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); + uint64_t x68 = (x39 & 0xffffffffffffff); + uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x - : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e452m3/femulDisplay.log b/src/Specific/solinas64_2e452m3/femulDisplay.log index 11443af92..dbb264596 100644 --- a/src/Specific/solinas64_2e452m3/femulDisplay.log +++ b/src/Specific/solinas64_2e452m3/femulDisplay.log @@ -1,52 +1,44 @@ -λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, Interp-η (λ var : Syntax.base_type → Type, - λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, - uint128_t x40 = (uint128_t) x5 * x38 + (0x2 * ((uint128_t) x7 * x39) + (0x2 * ((uint128_t) x9 * x37) + (0x2 * ((uint128_t) x11 * x35) + ((uint128_t) x13 * x33 + ((uint128_t) x15 * x31 + (0x2 * ((uint128_t) x17 * x29) + (0x2 * ((uint128_t) x19 * x27) + (0x2 * ((uint128_t) x21 * x25) + (uint128_t) x20 * x23)))))))); - uint128_t x41 = (uint128_t) x5 * x39 + (0x2 * ((uint128_t) x7 * x37) + (0x2 * ((uint128_t) x9 * x35) + ((uint128_t) x11 * x33 + ((uint128_t) x13 * x31 + ((uint128_t) x15 * x29 + (0x2 * ((uint128_t) x17 * x27) + (0x2 * ((uint128_t) x19 * x25) + (uint128_t) x21 * x23))))))) + 0x3 * ((uint128_t) x20 * x38); - uint128_t x42 = (uint128_t) x5 * x37 + (0x2 * ((uint128_t) x7 * x35) + ((uint128_t) x9 * x33 + ((uint128_t) x11 * x31 + ((uint128_t) x13 * x29 + ((uint128_t) x15 * x27 + (0x2 * ((uint128_t) x17 * x25) + (uint128_t) x19 * x23)))))) + 0x3 * ((uint128_t) x21 * x38 + (uint128_t) x20 * x39); - uint128_t x43 = (uint128_t) x5 * x35 + ((uint128_t) x7 * x33 + ((uint128_t) x9 * x31 + ((uint128_t) x11 * x29 + ((uint128_t) x13 * x27 + ((uint128_t) x15 * x25 + (uint128_t) x17 * x23))))) + 0x3 * ((uint128_t) x19 * x38 + ((uint128_t) x21 * x39 + (uint128_t) x20 * x37)); - uint128_t x44 = (uint128_t) x5 * x33 + (0x2 * ((uint128_t) x7 * x31) + (0x2 * ((uint128_t) x9 * x29) + (0x2 * ((uint128_t) x11 * x27) + (0x2 * ((uint128_t) x13 * x25) + (uint128_t) x15 * x23)))) + 0x3 * (0x2 * ((uint128_t) x17 * x38) + (0x2 * ((uint128_t) x19 * x39) + (0x2 * ((uint128_t) x21 * x37) + 0x2 * ((uint128_t) x20 * x35)))); - uint128_t x45 = (uint128_t) x5 * x31 + (0x2 * ((uint128_t) x7 * x29) + (0x2 * ((uint128_t) x9 * x27) + (0x2 * ((uint128_t) x11 * x25) + (uint128_t) x13 * x23))) + 0x3 * ((uint128_t) x15 * x38 + (0x2 * ((uint128_t) x17 * x39) + (0x2 * ((uint128_t) x19 * x37) + (0x2 * ((uint128_t) x21 * x35) + (uint128_t) x20 * x33)))); - uint128_t x46 = (uint128_t) x5 * x29 + (0x2 * ((uint128_t) x7 * x27) + (0x2 * ((uint128_t) x9 * x25) + (uint128_t) x11 * x23)) + 0x3 * ((uint128_t) x13 * x38 + ((uint128_t) x15 * x39 + (0x2 * ((uint128_t) x17 * x37) + (0x2 * ((uint128_t) x19 * x35) + ((uint128_t) x21 * x33 + (uint128_t) x20 * x31))))); - uint128_t x47 = (uint128_t) x5 * x27 + (0x2 * ((uint128_t) x7 * x25) + (uint128_t) x9 * x23) + 0x3 * ((uint128_t) x11 * x38 + ((uint128_t) x13 * x39 + ((uint128_t) x15 * x37 + (0x2 * ((uint128_t) x17 * x35) + ((uint128_t) x19 * x33 + ((uint128_t) x21 * x31 + (uint128_t) x20 * x29)))))); - uint128_t x48 = (uint128_t) x5 * x25 + (uint128_t) x7 * x23 + 0x3 * ((uint128_t) x9 * x38 + ((uint128_t) x11 * x39 + ((uint128_t) x13 * x37 + ((uint128_t) x15 * x35 + ((uint128_t) x17 * x33 + ((uint128_t) x19 * x31 + ((uint128_t) x21 * x29 + (uint128_t) x20 * x27))))))); - uint128_t x49 = (uint128_t) x5 * x23 + 0x3 * (0x2 * ((uint128_t) x7 * x38) + (0x2 * ((uint128_t) x9 * x39) + (0x2 * ((uint128_t) x11 * x37) + (0x2 * ((uint128_t) x13 * x35) + ((uint128_t) x15 * x33 + (0x2 * ((uint128_t) x17 * x31) + (0x2 * ((uint128_t) x19 * x29) + (0x2 * ((uint128_t) x21 * x27) + 0x2 * ((uint128_t) x20 * x25))))))))); - uint64_t x50 = (uint64_t) (x49 >> 0x2e); - uint64_t x51 = (uint64_t) x49 & 0x3fffffffffff; - uint128_t x52 = x50 + x48; - uint64_t x53 = (uint64_t) (x52 >> 0x2d); - uint64_t x54 = (uint64_t) x52 & 0x1fffffffffff; - uint128_t x55 = x53 + x47; - uint64_t x56 = (uint64_t) (x55 >> 0x2d); - uint64_t x57 = (uint64_t) x55 & 0x1fffffffffff; - uint128_t x58 = x56 + x46; - uint64_t x59 = (uint64_t) (x58 >> 0x2d); - uint64_t x60 = (uint64_t) x58 & 0x1fffffffffff; - uint128_t x61 = x59 + x45; - uint64_t x62 = (uint64_t) (x61 >> 0x2d); - uint64_t x63 = (uint64_t) x61 & 0x1fffffffffff; - uint128_t x64 = x62 + x44; - uint64_t x65 = (uint64_t) (x64 >> 0x2e); - uint64_t x66 = (uint64_t) x64 & 0x3fffffffffff; - uint128_t x67 = x65 + x43; - uint64_t x68 = (uint64_t) (x67 >> 0x2d); - uint64_t x69 = (uint64_t) x67 & 0x1fffffffffff; - uint128_t x70 = x68 + x42; - uint64_t x71 = (uint64_t) (x70 >> 0x2d); - uint64_t x72 = (uint64_t) x70 & 0x1fffffffffff; - uint128_t x73 = x71 + x41; - uint64_t x74 = (uint64_t) (x73 >> 0x2d); - uint64_t x75 = (uint64_t) x73 & 0x1fffffffffff; - uint128_t x76 = x74 + x40; - uint64_t x77 = (uint64_t) (x76 >> 0x2d); - uint64_t x78 = (uint64_t) x76 & 0x1fffffffffff; - uint64_t x79 = x51 + 0x3 * x77; - uint64_t x80 = x79 >> 0x2e; - uint64_t x81 = x79 & 0x3fffffffffff; - uint64_t x82 = x80 + x54; - uint64_t x83 = x82 >> 0x2d; - uint64_t x84 = x82 & 0x1fffffffffff; - return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, x83 + x57, Return x84, Return x81)) + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19)))))))); + uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x3 * (0x2 * ((uint128_t)x16 * x30)))); + uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x3 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31)))); + uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x3 * ((0x2 * ((uint128_t)x15 * x30)) + (((uint128_t)x17 * x31) + (0x2 * ((uint128_t)x16 * x29)))))); + uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x3 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27)))))); + uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x3 * ((0x2 * ((uint128_t)x11 * x30)) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + (0x2 * ((uint128_t)x16 * x25)))))))); + uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x3 * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23)))))))); + uint128_t x39 = (((uint128_t)x5 * x19) + (0x3 * ((0x2 * ((uint128_t)x7 * x30)) + (((uint128_t)x9 * x31) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + (((uint128_t)x17 * x23) + (0x2 * ((uint128_t)x16 * x21)))))))))); + uint64_t x40 = (uint64_t) (x39 >> 0x39); + uint64_t x41 = ((uint64_t)x39 & 0x1ffffffffffffff); + uint128_t x42 = (x40 + x38); + uint64_t x43 = (uint64_t) (x42 >> 0x38); + uint64_t x44 = ((uint64_t)x42 & 0xffffffffffffff); + uint128_t x45 = (x43 + x37); + uint64_t x46 = (uint64_t) (x45 >> 0x39); + uint64_t x47 = ((uint64_t)x45 & 0x1ffffffffffffff); + uint128_t x48 = (x46 + x36); + uint64_t x49 = (uint64_t) (x48 >> 0x38); + uint64_t x50 = ((uint64_t)x48 & 0xffffffffffffff); + uint128_t x51 = (x49 + x35); + uint64_t x52 = (uint64_t) (x51 >> 0x39); + uint64_t x53 = ((uint64_t)x51 & 0x1ffffffffffffff); + uint128_t x54 = (x52 + x34); + uint64_t x55 = (uint64_t) (x54 >> 0x38); + uint64_t x56 = ((uint64_t)x54 & 0xffffffffffffff); + uint128_t x57 = (x55 + x33); + uint64_t x58 = (uint64_t) (x57 >> 0x39); + uint64_t x59 = ((uint64_t)x57 & 0x1ffffffffffffff); + uint128_t x60 = (x58 + x32); + uint64_t x61 = (uint64_t) (x60 >> 0x38); + uint64_t x62 = ((uint64_t)x60 & 0xffffffffffffff); + uint64_t x63 = (x41 + (0x3 * x61)); + uint64_t x64 = (x63 >> 0x39); + uint64_t x65 = (x63 & 0x1ffffffffffffff); + uint64_t x66 = (x64 + x44); + uint64_t x67 = (x66 >> 0x38); + uint64_t x68 = (x66 & 0xffffffffffffff); + return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65)) (x, x0)%core - : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e452m3/fesquareDisplay.log b/src/Specific/solinas64_2e452m3/fesquareDisplay.log index 388d7e543..ca50a633b 100644 --- a/src/Specific/solinas64_2e452m3/fesquareDisplay.log +++ b/src/Specific/solinas64_2e452m3/fesquareDisplay.log @@ -1,52 +1,44 @@ -λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, Interp-η (λ var : Syntax.base_type → Type, - λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint128_t x19 = (uint128_t) x2 * x17 + (0x2 * ((uint128_t) x4 * x18) + (0x2 * ((uint128_t) x6 * x16) + (0x2 * ((uint128_t) x8 * x14) + ((uint128_t) x10 * x12 + ((uint128_t) x12 * x10 + (0x2 * ((uint128_t) x14 * x8) + (0x2 * ((uint128_t) x16 * x6) + (0x2 * ((uint128_t) x18 * x4) + (uint128_t) x17 * x2)))))))); - uint128_t x20 = (uint128_t) x2 * x18 + (0x2 * ((uint128_t) x4 * x16) + (0x2 * ((uint128_t) x6 * x14) + ((uint128_t) x8 * x12 + ((uint128_t) x10 * x10 + ((uint128_t) x12 * x8 + (0x2 * ((uint128_t) x14 * x6) + (0x2 * ((uint128_t) x16 * x4) + (uint128_t) x18 * x2))))))) + 0x3 * ((uint128_t) x17 * x17); - uint128_t x21 = (uint128_t) x2 * x16 + (0x2 * ((uint128_t) x4 * x14) + ((uint128_t) x6 * x12 + ((uint128_t) x8 * x10 + ((uint128_t) x10 * x8 + ((uint128_t) x12 * x6 + (0x2 * ((uint128_t) x14 * x4) + (uint128_t) x16 * x2)))))) + 0x3 * ((uint128_t) x18 * x17 + (uint128_t) x17 * x18); - uint128_t x22 = (uint128_t) x2 * x14 + ((uint128_t) x4 * x12 + ((uint128_t) x6 * x10 + ((uint128_t) x8 * x8 + ((uint128_t) x10 * x6 + ((uint128_t) x12 * x4 + (uint128_t) x14 * x2))))) + 0x3 * ((uint128_t) x16 * x17 + ((uint128_t) x18 * x18 + (uint128_t) x17 * x16)); - uint128_t x23 = (uint128_t) x2 * x12 + (0x2 * ((uint128_t) x4 * x10) + (0x2 * ((uint128_t) x6 * x8) + (0x2 * ((uint128_t) x8 * x6) + (0x2 * ((uint128_t) x10 * x4) + (uint128_t) x12 * x2)))) + 0x3 * (0x2 * ((uint128_t) x14 * x17) + (0x2 * ((uint128_t) x16 * x18) + (0x2 * ((uint128_t) x18 * x16) + 0x2 * ((uint128_t) x17 * x14)))); - uint128_t x24 = (uint128_t) x2 * x10 + (0x2 * ((uint128_t) x4 * x8) + (0x2 * ((uint128_t) x6 * x6) + (0x2 * ((uint128_t) x8 * x4) + (uint128_t) x10 * x2))) + 0x3 * ((uint128_t) x12 * x17 + (0x2 * ((uint128_t) x14 * x18) + (0x2 * ((uint128_t) x16 * x16) + (0x2 * ((uint128_t) x18 * x14) + (uint128_t) x17 * x12)))); - uint128_t x25 = (uint128_t) x2 * x8 + (0x2 * ((uint128_t) x4 * x6) + (0x2 * ((uint128_t) x6 * x4) + (uint128_t) x8 * x2)) + 0x3 * ((uint128_t) x10 * x17 + ((uint128_t) x12 * x18 + (0x2 * ((uint128_t) x14 * x16) + (0x2 * ((uint128_t) x16 * x14) + ((uint128_t) x18 * x12 + (uint128_t) x17 * x10))))); - uint128_t x26 = (uint128_t) x2 * x6 + (0x2 * ((uint128_t) x4 * x4) + (uint128_t) x6 * x2) + 0x3 * ((uint128_t) x8 * x17 + ((uint128_t) x10 * x18 + ((uint128_t) x12 * x16 + (0x2 * ((uint128_t) x14 * x14) + ((uint128_t) x16 * x12 + ((uint128_t) x18 * x10 + (uint128_t) x17 * x8)))))); - uint128_t x27 = (uint128_t) x2 * x4 + (uint128_t) x4 * x2 + 0x3 * ((uint128_t) x6 * x17 + ((uint128_t) x8 * x18 + ((uint128_t) x10 * x16 + ((uint128_t) x12 * x14 + ((uint128_t) x14 * x12 + ((uint128_t) x16 * x10 + ((uint128_t) x18 * x8 + (uint128_t) x17 * x6))))))); - uint128_t x28 = (uint128_t) x2 * x2 + 0x3 * (0x2 * ((uint128_t) x4 * x17) + (0x2 * ((uint128_t) x6 * x18) + (0x2 * ((uint128_t) x8 * x16) + (0x2 * ((uint128_t) x10 * x14) + ((uint128_t) x12 * x12 + (0x2 * ((uint128_t) x14 * x10) + (0x2 * ((uint128_t) x16 * x8) + (0x2 * ((uint128_t) x18 * x6) + 0x2 * ((uint128_t) x17 * x4))))))))); - uint64_t x29 = (uint64_t) (x28 >> 0x2e); - uint64_t x30 = (uint64_t) x28 & 0x3fffffffffff; - uint128_t x31 = x29 + x27; - uint64_t x32 = (uint64_t) (x31 >> 0x2d); - uint64_t x33 = (uint64_t) x31 & 0x1fffffffffff; - uint128_t x34 = x32 + x26; - uint64_t x35 = (uint64_t) (x34 >> 0x2d); - uint64_t x36 = (uint64_t) x34 & 0x1fffffffffff; - uint128_t x37 = x35 + x25; - uint64_t x38 = (uint64_t) (x37 >> 0x2d); - uint64_t x39 = (uint64_t) x37 & 0x1fffffffffff; - uint128_t x40 = x38 + x24; - uint64_t x41 = (uint64_t) (x40 >> 0x2d); - uint64_t x42 = (uint64_t) x40 & 0x1fffffffffff; - uint128_t x43 = x41 + x23; - uint64_t x44 = (uint64_t) (x43 >> 0x2e); - uint64_t x45 = (uint64_t) x43 & 0x3fffffffffff; - uint128_t x46 = x44 + x22; - uint64_t x47 = (uint64_t) (x46 >> 0x2d); - uint64_t x48 = (uint64_t) x46 & 0x1fffffffffff; - uint128_t x49 = x47 + x21; - uint64_t x50 = (uint64_t) (x49 >> 0x2d); - uint64_t x51 = (uint64_t) x49 & 0x1fffffffffff; - uint128_t x52 = x50 + x20; - uint64_t x53 = (uint64_t) (x52 >> 0x2d); - uint64_t x54 = (uint64_t) x52 & 0x1fffffffffff; - uint128_t x55 = x53 + x19; - uint64_t x56 = (uint64_t) (x55 >> 0x2d); - uint64_t x57 = (uint64_t) x55 & 0x1fffffffffff; - uint64_t x58 = x30 + 0x3 * x56; - uint64_t x59 = x58 >> 0x2e; - uint64_t x60 = x58 & 0x3fffffffffff; - uint64_t x61 = x59 + x33; - uint64_t x62 = x61 >> 0x2d; - uint64_t x63 = x61 & 0x1fffffffffff; - return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, x62 + x36, Return x63, Return x60)) + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2)))))))); + uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x3 * (0x2 * ((uint128_t)x13 * x13)))); + uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x3 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14)))); + uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint128_t)x12 * x13)) + (((uint128_t)x14 * x14) + (0x2 * ((uint128_t)x13 * x12)))))); + uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x3 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10)))))); + uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * ((0x2 * ((uint128_t)x8 * x13)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + (0x2 * ((uint128_t)x13 * x8)))))))); + uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6)))))))); + uint128_t x22 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x13)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + (0x2 * ((uint128_t)x13 * x4)))))))))); + uint64_t x23 = (uint64_t) (x22 >> 0x39); + uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffffff); + uint128_t x25 = (x23 + x21); + uint64_t x26 = (uint64_t) (x25 >> 0x38); + uint64_t x27 = ((uint64_t)x25 & 0xffffffffffffff); + uint128_t x28 = (x26 + x20); + uint64_t x29 = (uint64_t) (x28 >> 0x39); + uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffffff); + uint128_t x31 = (x29 + x19); + uint64_t x32 = (uint64_t) (x31 >> 0x38); + uint64_t x33 = ((uint64_t)x31 & 0xffffffffffffff); + uint128_t x34 = (x32 + x18); + uint64_t x35 = (uint64_t) (x34 >> 0x39); + uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffffff); + uint128_t x37 = (x35 + x17); + uint64_t x38 = (uint64_t) (x37 >> 0x38); + uint64_t x39 = ((uint64_t)x37 & 0xffffffffffffff); + uint128_t x40 = (x38 + x16); + uint64_t x41 = (uint64_t) (x40 >> 0x39); + uint64_t x42 = ((uint64_t)x40 & 0x1ffffffffffffff); + uint128_t x43 = (x41 + x15); + uint64_t x44 = (uint64_t) (x43 >> 0x38); + uint64_t x45 = ((uint64_t)x43 & 0xffffffffffffff); + uint64_t x46 = (x24 + (0x3 * x44)); + uint64_t x47 = (x46 >> 0x39); + uint64_t x48 = (x46 & 0x1ffffffffffffff); + uint64_t x49 = (x47 + x27); + uint64_t x50 = (x49 >> 0x38); + uint64_t x51 = (x49 & 0xffffffffffffff); + return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48)) x - : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e452m3/freezeDisplay.log b/src/Specific/solinas64_2e452m3/freezeDisplay.log index 2e945b38b..65a0d09a1 100644 --- a/src/Specific/solinas64_2e452m3/freezeDisplay.log +++ b/src/Specific/solinas64_2e452m3/freezeDisplay.log @@ -1,38 +1,32 @@ -λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, Interp-η (λ var : Syntax.base_type → Type, - λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffd); - uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0x1fffffffffff); - uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x1fffffffffff); - uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x1fffffffffff); - uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0x1fffffffffff); - uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x3fffffffffff); - uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x1fffffffffff); - uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x1fffffffffff); - uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x1fffffffffff); - uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0x1fffffffffff); - uint64_t x49 = (uint64_t)cmovznz(x48, 0x0, 0xffffffffffffffffL); - uint64_t x50 = x49 & 0x3ffffffffffd; - uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50); - uint64_t x54 = x49 & 0x1fffffffffff; - uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54); - uint64_t x58 = x49 & 0x1fffffffffff; - uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58); - uint64_t x62 = x49 & 0x1fffffffffff; - uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62); - uint64_t x66 = x49 & 0x1fffffffffff; - uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66); - uint64_t x70 = x49 & 0x3fffffffffff; - uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70); - uint64_t x74 = x49 & 0x1fffffffffff; - uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74); - uint64_t x78 = x49 & 0x1fffffffffff; - uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78); - uint64_t x82 = x49 & 0x1fffffffffff; - uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82); - uint64_t x86 = x49 & 0x1fffffffffff; - uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86); - (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffffd); + uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffffff); + uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0x1ffffffffffffff); + uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffffff); + uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x1ffffffffffffff); + uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffffff); + uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x1ffffffffffffff); + uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffffff); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0x1fffffffffffffd); + uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40); + uint64_t x44 = (x39 & 0xffffffffffffff); + uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); + uint64_t x48 = (x39 & 0x1ffffffffffffff); + uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); + uint64_t x52 = (x39 & 0xffffffffffffff); + uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); + uint64_t x56 = (x39 & 0x1ffffffffffffff); + uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); + uint64_t x60 = (x39 & 0xffffffffffffff); + uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); + uint64_t x64 = (x39 & 0x1ffffffffffffff); + uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); + uint64_t x68 = (x39 & 0xffffffffffffff); + uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x - : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e468m17/femulDisplay.log b/src/Specific/solinas64_2e468m17/femulDisplay.log index 772b3449f..2c0aac97c 100644 --- a/src/Specific/solinas64_2e468m17/femulDisplay.log +++ b/src/Specific/solinas64_2e468m17/femulDisplay.log @@ -1,48 +1,44 @@ -λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, Interp-η (λ var : Syntax.base_type → Type, - λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - uint128_t x36 = (uint128_t) x5 * x34 + ((uint128_t) x7 * x35 + ((uint128_t) x9 * x33 + ((uint128_t) x11 * x31 + ((uint128_t) x13 * x29 + ((uint128_t) x15 * x27 + ((uint128_t) x17 * x25 + ((uint128_t) x19 * x23 + (uint128_t) x18 * x21))))))); - uint128_t x37 = (uint128_t) x5 * x35 + ((uint128_t) x7 * x33 + ((uint128_t) x9 * x31 + ((uint128_t) x11 * x29 + ((uint128_t) x13 * x27 + ((uint128_t) x15 * x25 + ((uint128_t) x17 * x23 + (uint128_t) x19 * x21)))))) + 0x11 * ((uint128_t) x18 * x34); - uint128_t x38 = (uint128_t) x5 * x33 + ((uint128_t) x7 * x31 + ((uint128_t) x9 * x29 + ((uint128_t) x11 * x27 + ((uint128_t) x13 * x25 + ((uint128_t) x15 * x23 + (uint128_t) x17 * x21))))) + 0x11 * ((uint128_t) x19 * x34 + (uint128_t) x18 * x35); - uint128_t x39 = (uint128_t) x5 * x31 + ((uint128_t) x7 * x29 + ((uint128_t) x9 * x27 + ((uint128_t) x11 * x25 + ((uint128_t) x13 * x23 + (uint128_t) x15 * x21)))) + 0x11 * ((uint128_t) x17 * x34 + ((uint128_t) x19 * x35 + (uint128_t) x18 * x33)); - uint128_t x40 = (uint128_t) x5 * x29 + ((uint128_t) x7 * x27 + ((uint128_t) x9 * x25 + ((uint128_t) x11 * x23 + (uint128_t) x13 * x21))) + 0x11 * ((uint128_t) x15 * x34 + ((uint128_t) x17 * x35 + ((uint128_t) x19 * x33 + (uint128_t) x18 * x31))); - uint128_t x41 = (uint128_t) x5 * x27 + ((uint128_t) x7 * x25 + ((uint128_t) x9 * x23 + (uint128_t) x11 * x21)) + 0x11 * ((uint128_t) x13 * x34 + ((uint128_t) x15 * x35 + ((uint128_t) x17 * x33 + ((uint128_t) x19 * x31 + (uint128_t) x18 * x29)))); - uint128_t x42 = (uint128_t) x5 * x25 + ((uint128_t) x7 * x23 + (uint128_t) x9 * x21) + 0x11 * ((uint128_t) x11 * x34 + ((uint128_t) x13 * x35 + ((uint128_t) x15 * x33 + ((uint128_t) x17 * x31 + ((uint128_t) x19 * x29 + (uint128_t) x18 * x27))))); - uint128_t x43 = (uint128_t) x5 * x23 + (uint128_t) x7 * x21 + 0x11 * ((uint128_t) x9 * x34 + ((uint128_t) x11 * x35 + ((uint128_t) x13 * x33 + ((uint128_t) x15 * x31 + ((uint128_t) x17 * x29 + ((uint128_t) x19 * x27 + (uint128_t) x18 * x25)))))); - uint128_t x44 = (uint128_t) x5 * x21 + 0x11 * ((uint128_t) x7 * x34 + ((uint128_t) x9 * x35 + ((uint128_t) x11 * x33 + ((uint128_t) x13 * x31 + ((uint128_t) x15 * x29 + ((uint128_t) x17 * x27 + ((uint128_t) x19 * x25 + (uint128_t) x18 * x23))))))); - uint64_t x45 = (uint64_t) (x44 >> 0x34); - uint64_t x46 = (uint64_t) x44 & 0xfffffffffffff; - uint128_t x47 = x45 + x43; - uint64_t x48 = (uint64_t) (x47 >> 0x34); - uint64_t x49 = (uint64_t) x47 & 0xfffffffffffff; - uint128_t x50 = x48 + x42; - uint64_t x51 = (uint64_t) (x50 >> 0x34); - uint64_t x52 = (uint64_t) x50 & 0xfffffffffffff; - uint128_t x53 = x51 + x41; - uint64_t x54 = (uint64_t) (x53 >> 0x34); - uint64_t x55 = (uint64_t) x53 & 0xfffffffffffff; - uint128_t x56 = x54 + x40; - uint64_t x57 = (uint64_t) (x56 >> 0x34); - uint64_t x58 = (uint64_t) x56 & 0xfffffffffffff; - uint128_t x59 = x57 + x39; - uint64_t x60 = (uint64_t) (x59 >> 0x34); - uint64_t x61 = (uint64_t) x59 & 0xfffffffffffff; - uint128_t x62 = x60 + x38; - uint64_t x63 = (uint64_t) (x62 >> 0x34); - uint64_t x64 = (uint64_t) x62 & 0xfffffffffffff; - uint128_t x65 = x63 + x37; - uint64_t x66 = (uint64_t) (x65 >> 0x34); - uint64_t x67 = (uint64_t) x65 & 0xfffffffffffff; - uint128_t x68 = x66 + x36; - uint64_t x69 = (uint64_t) (x68 >> 0x34); - uint64_t x70 = (uint64_t) x68 & 0xfffffffffffff; - uint64_t x71 = x46 + 0x11 * x69; - uint64_t x72 = x71 >> 0x34; - uint64_t x73 = x71 & 0xfffffffffffff; - uint64_t x74 = x72 + x49; - uint64_t x75 = x74 >> 0x34; - uint64_t x76 = x74 & 0xfffffffffffff; - return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, x75 + x52, Return x76, Return x73)) + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19)))))))); + uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x11 * (0x2 * ((uint128_t)x16 * x30)))); + uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x11 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31)))); + uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x11 * ((0x2 * ((uint128_t)x15 * x30)) + (((uint128_t)x17 * x31) + (0x2 * ((uint128_t)x16 * x29)))))); + uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x11 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27)))))); + uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x11 * ((0x2 * ((uint128_t)x11 * x30)) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + (0x2 * ((uint128_t)x16 * x25)))))))); + uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x11 * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23)))))))); + uint128_t x39 = (((uint128_t)x5 * x19) + (0x11 * ((0x2 * ((uint128_t)x7 * x30)) + (((uint128_t)x9 * x31) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + (((uint128_t)x17 * x23) + (0x2 * ((uint128_t)x16 * x21)))))))))); + uint128_t x40 = (x39 >> 0x3b); + uint64_t x41 = ((uint64_t)x39 & 0x7ffffffffffffff); + uint128_t x42 = (x40 + x38); + uint128_t x43 = (x42 >> 0x3a); + uint64_t x44 = ((uint64_t)x42 & 0x3ffffffffffffff); + uint128_t x45 = (x43 + x37); + uint128_t x46 = (x45 >> 0x3b); + uint64_t x47 = ((uint64_t)x45 & 0x7ffffffffffffff); + uint128_t x48 = (x46 + x36); + uint128_t x49 = (x48 >> 0x3a); + uint64_t x50 = ((uint64_t)x48 & 0x3ffffffffffffff); + uint128_t x51 = (x49 + x35); + uint128_t x52 = (x51 >> 0x3b); + uint64_t x53 = ((uint64_t)x51 & 0x7ffffffffffffff); + uint128_t x54 = (x52 + x34); + uint128_t x55 = (x54 >> 0x3a); + uint64_t x56 = ((uint64_t)x54 & 0x3ffffffffffffff); + uint128_t x57 = (x55 + x33); + uint64_t x58 = (uint64_t) (x57 >> 0x3b); + uint64_t x59 = ((uint64_t)x57 & 0x7ffffffffffffff); + uint128_t x60 = (x58 + x32); + uint64_t x61 = (uint64_t) (x60 >> 0x3a); + uint64_t x62 = ((uint64_t)x60 & 0x3ffffffffffffff); + uint128_t x63 = (x41 + ((uint128_t)0x11 * x61)); + uint64_t x64 = (uint64_t) (x63 >> 0x3b); + uint64_t x65 = ((uint64_t)x63 & 0x7ffffffffffffff); + uint64_t x66 = (x64 + x44); + uint64_t x67 = (x66 >> 0x3a); + uint64_t x68 = (x66 & 0x3ffffffffffffff); + return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65)) (x, x0)%core - : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e468m17/fesquareDisplay.log b/src/Specific/solinas64_2e468m17/fesquareDisplay.log index 30c0490bb..017b9eb6c 100644 --- a/src/Specific/solinas64_2e468m17/fesquareDisplay.log +++ b/src/Specific/solinas64_2e468m17/fesquareDisplay.log @@ -1,48 +1,44 @@ -λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, Interp-η (λ var : Syntax.base_type → Type, - λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint128_t x17 = (uint128_t) x2 * x15 + ((uint128_t) x4 * x16 + ((uint128_t) x6 * x14 + ((uint128_t) x8 * x12 + ((uint128_t) x10 * x10 + ((uint128_t) x12 * x8 + ((uint128_t) x14 * x6 + ((uint128_t) x16 * x4 + (uint128_t) x15 * x2))))))); - uint128_t x18 = (uint128_t) x2 * x16 + ((uint128_t) x4 * x14 + ((uint128_t) x6 * x12 + ((uint128_t) x8 * x10 + ((uint128_t) x10 * x8 + ((uint128_t) x12 * x6 + ((uint128_t) x14 * x4 + (uint128_t) x16 * x2)))))) + 0x11 * ((uint128_t) x15 * x15); - uint128_t x19 = (uint128_t) x2 * x14 + ((uint128_t) x4 * x12 + ((uint128_t) x6 * x10 + ((uint128_t) x8 * x8 + ((uint128_t) x10 * x6 + ((uint128_t) x12 * x4 + (uint128_t) x14 * x2))))) + 0x11 * ((uint128_t) x16 * x15 + (uint128_t) x15 * x16); - uint128_t x20 = (uint128_t) x2 * x12 + ((uint128_t) x4 * x10 + ((uint128_t) x6 * x8 + ((uint128_t) x8 * x6 + ((uint128_t) x10 * x4 + (uint128_t) x12 * x2)))) + 0x11 * ((uint128_t) x14 * x15 + ((uint128_t) x16 * x16 + (uint128_t) x15 * x14)); - uint128_t x21 = (uint128_t) x2 * x10 + ((uint128_t) x4 * x8 + ((uint128_t) x6 * x6 + ((uint128_t) x8 * x4 + (uint128_t) x10 * x2))) + 0x11 * ((uint128_t) x12 * x15 + ((uint128_t) x14 * x16 + ((uint128_t) x16 * x14 + (uint128_t) x15 * x12))); - uint128_t x22 = (uint128_t) x2 * x8 + ((uint128_t) x4 * x6 + ((uint128_t) x6 * x4 + (uint128_t) x8 * x2)) + 0x11 * ((uint128_t) x10 * x15 + ((uint128_t) x12 * x16 + ((uint128_t) x14 * x14 + ((uint128_t) x16 * x12 + (uint128_t) x15 * x10)))); - uint128_t x23 = (uint128_t) x2 * x6 + ((uint128_t) x4 * x4 + (uint128_t) x6 * x2) + 0x11 * ((uint128_t) x8 * x15 + ((uint128_t) x10 * x16 + ((uint128_t) x12 * x14 + ((uint128_t) x14 * x12 + ((uint128_t) x16 * x10 + (uint128_t) x15 * x8))))); - uint128_t x24 = (uint128_t) x2 * x4 + (uint128_t) x4 * x2 + 0x11 * ((uint128_t) x6 * x15 + ((uint128_t) x8 * x16 + ((uint128_t) x10 * x14 + ((uint128_t) x12 * x12 + ((uint128_t) x14 * x10 + ((uint128_t) x16 * x8 + (uint128_t) x15 * x6)))))); - uint128_t x25 = (uint128_t) x2 * x2 + 0x11 * ((uint128_t) x4 * x15 + ((uint128_t) x6 * x16 + ((uint128_t) x8 * x14 + ((uint128_t) x10 * x12 + ((uint128_t) x12 * x10 + ((uint128_t) x14 * x8 + ((uint128_t) x16 * x6 + (uint128_t) x15 * x4))))))); - uint64_t x26 = (uint64_t) (x25 >> 0x34); - uint64_t x27 = (uint64_t) x25 & 0xfffffffffffff; - uint128_t x28 = x26 + x24; - uint64_t x29 = (uint64_t) (x28 >> 0x34); - uint64_t x30 = (uint64_t) x28 & 0xfffffffffffff; - uint128_t x31 = x29 + x23; - uint64_t x32 = (uint64_t) (x31 >> 0x34); - uint64_t x33 = (uint64_t) x31 & 0xfffffffffffff; - uint128_t x34 = x32 + x22; - uint64_t x35 = (uint64_t) (x34 >> 0x34); - uint64_t x36 = (uint64_t) x34 & 0xfffffffffffff; - uint128_t x37 = x35 + x21; - uint64_t x38 = (uint64_t) (x37 >> 0x34); - uint64_t x39 = (uint64_t) x37 & 0xfffffffffffff; - uint128_t x40 = x38 + x20; - uint64_t x41 = (uint64_t) (x40 >> 0x34); - uint64_t x42 = (uint64_t) x40 & 0xfffffffffffff; - uint128_t x43 = x41 + x19; - uint64_t x44 = (uint64_t) (x43 >> 0x34); - uint64_t x45 = (uint64_t) x43 & 0xfffffffffffff; - uint128_t x46 = x44 + x18; - uint64_t x47 = (uint64_t) (x46 >> 0x34); - uint64_t x48 = (uint64_t) x46 & 0xfffffffffffff; - uint128_t x49 = x47 + x17; - uint64_t x50 = (uint64_t) (x49 >> 0x34); - uint64_t x51 = (uint64_t) x49 & 0xfffffffffffff; - uint64_t x52 = x27 + 0x11 * x50; - uint64_t x53 = x52 >> 0x34; - uint64_t x54 = x52 & 0xfffffffffffff; - uint64_t x55 = x53 + x30; - uint64_t x56 = x55 >> 0x34; - uint64_t x57 = x55 & 0xfffffffffffff; - return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, x56 + x33, Return x57, Return x54)) + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2)))))))); + uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x11 * (0x2 * ((uint128_t)x13 * x13)))); + uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14)))); + uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint128_t)x12 * x13)) + (((uint128_t)x14 * x14) + (0x2 * ((uint128_t)x13 * x12)))))); + uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10)))))); + uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x11 * ((0x2 * ((uint128_t)x8 * x13)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + (0x2 * ((uint128_t)x13 * x8)))))))); + uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6)))))))); + uint128_t x22 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x13)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + (0x2 * ((uint128_t)x13 * x4)))))))))); + uint128_t x23 = (x22 >> 0x3b); + uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffffff); + uint128_t x25 = (x23 + x21); + uint128_t x26 = (x25 >> 0x3a); + uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffffff); + uint128_t x28 = (x26 + x20); + uint128_t x29 = (x28 >> 0x3b); + uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffffffff); + uint128_t x31 = (x29 + x19); + uint128_t x32 = (x31 >> 0x3a); + uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffffffff); + uint128_t x34 = (x32 + x18); + uint128_t x35 = (x34 >> 0x3b); + uint64_t x36 = ((uint64_t)x34 & 0x7ffffffffffffff); + uint128_t x37 = (x35 + x17); + uint128_t x38 = (x37 >> 0x3a); + uint64_t x39 = ((uint64_t)x37 & 0x3ffffffffffffff); + uint128_t x40 = (x38 + x16); + uint64_t x41 = (uint64_t) (x40 >> 0x3b); + uint64_t x42 = ((uint64_t)x40 & 0x7ffffffffffffff); + uint128_t x43 = (x41 + x15); + uint64_t x44 = (uint64_t) (x43 >> 0x3a); + uint64_t x45 = ((uint64_t)x43 & 0x3ffffffffffffff); + uint128_t x46 = (x24 + ((uint128_t)0x11 * x44)); + uint64_t x47 = (uint64_t) (x46 >> 0x3b); + uint64_t x48 = ((uint64_t)x46 & 0x7ffffffffffffff); + uint64_t x49 = (x47 + x27); + uint64_t x50 = (x49 >> 0x3a); + uint64_t x51 = (x49 & 0x3ffffffffffffff); + return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48)) x - : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e468m17/freezeDisplay.log b/src/Specific/solinas64_2e468m17/freezeDisplay.log index 23c7559e2..e4c29b54b 100644 --- a/src/Specific/solinas64_2e468m17/freezeDisplay.log +++ b/src/Specific/solinas64_2e468m17/freezeDisplay.log @@ -1,35 +1,32 @@ -λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, Interp-η (λ var : Syntax.base_type → Type, - λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffef); - uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0xfffffffffffff); - uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0xfffffffffffff); - uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0xfffffffffffff); - uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0xfffffffffffff); - uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0xfffffffffffff); - uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0xfffffffffffff); - uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0xfffffffffffff); - uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0xfffffffffffff); - uint64_t x44 = (uint64_t)cmovznz(x43, 0x0, 0xffffffffffffffffL); - uint64_t x45 = x44 & 0xfffffffffffef; - uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45); - uint64_t x49 = x44 & 0xfffffffffffff; - uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); - uint64_t x53 = x44 & 0xfffffffffffff; - uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); - uint64_t x57 = x44 & 0xfffffffffffff; - uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); - uint64_t x61 = x44 & 0xfffffffffffff; - uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); - uint64_t x65 = x44 & 0xfffffffffffff; - uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); - uint64_t x69 = x44 & 0xfffffffffffff; - uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); - uint64_t x73 = x44 & 0xfffffffffffff; - uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); - uint64_t x77 = x44 & 0xfffffffffffff; - uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); - (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffffffef); + uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0x3ffffffffffffff); + uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0x7ffffffffffffff); + uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x3ffffffffffffff); + uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x7ffffffffffffff); + uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0x3ffffffffffffff); + uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x7ffffffffffffff); + uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x3ffffffffffffff); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0x7ffffffffffffef); + uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40); + uint64_t x44 = (x39 & 0x3ffffffffffffff); + uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); + uint64_t x48 = (x39 & 0x7ffffffffffffff); + uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); + uint64_t x52 = (x39 & 0x3ffffffffffffff); + uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); + uint64_t x56 = (x39 & 0x7ffffffffffffff); + uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); + uint64_t x60 = (x39 & 0x3ffffffffffffff); + uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); + uint64_t x64 = (x39 & 0x7ffffffffffffff); + uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); + uint64_t x68 = (x39 & 0x3ffffffffffffff); + uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x - : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e480m2e240m1/femulDisplay.log b/src/Specific/solinas64_2e480m2e240m1/femulDisplay.log new file mode 100644 index 000000000..53996de7f --- /dev/null +++ b/src/Specific/solinas64_2e480m2e240m1/femulDisplay.log @@ -0,0 +1,61 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core, + uint128_t x32 = (((uint128_t)(x11 + x16) * (x25 + x30)) - ((uint128_t)x11 * x25)); + uint128_t x33 = ((((uint128_t)(x9 + x17) * (x25 + x30)) + ((uint128_t)(x11 + x16) * (x23 + x31))) - (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23))); + uint128_t x34 = ((((uint128_t)(x7 + x15) * (x25 + x30)) + (((uint128_t)(x9 + x17) * (x23 + x31)) + ((uint128_t)(x11 + x16) * (x21 + x29)))) - (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21)))); + uint128_t x35 = ((((uint128_t)(x5 + x13) * (x25 + x30)) + (((uint128_t)(x7 + x15) * (x23 + x31)) + (((uint128_t)(x9 + x17) * (x21 + x29)) + ((uint128_t)(x11 + x16) * (x19 + x27))))) - (((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19))))); + uint128_t x36 = ((((uint128_t)(x5 + x13) * (x23 + x31)) + (((uint128_t)(x7 + x15) * (x21 + x29)) + ((uint128_t)(x9 + x17) * (x19 + x27)))) - (((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19)))); + uint128_t x37 = ((((uint128_t)(x5 + x13) * (x21 + x29)) + ((uint128_t)(x7 + x15) * (x19 + x27))) - (((uint128_t)x5 * x21) + ((uint128_t)x7 * x19))); + uint128_t x38 = (((uint128_t)(x5 + x13) * (x19 + x27)) - ((uint128_t)x5 * x19)); + uint128_t x39 = (((((uint128_t)x11 * x25) + ((uint128_t)x16 * x30)) + x36) + x32); + uint128_t x40 = ((((((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)) + (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))) + x37) + x33); + uint128_t x41 = ((((((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))) + (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))) + x38) + x34); + uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))); + uint128_t x43 = (((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + ((uint128_t)x17 * x27)))) + x32); + uint128_t x44 = (((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (((uint128_t)x13 * x29) + ((uint128_t)x15 * x27))) + x33); + uint128_t x45 = ((((uint128_t)x5 * x19) + ((uint128_t)x13 * x27)) + x34); + uint64_t x46 = (uint64_t) (x42 >> 0x3c); + uint64_t x47 = ((uint64_t)x42 & 0xfffffffffffffff); + uint64_t x48 = (uint64_t) (x35 >> 0x3c); + uint64_t x49 = ((uint64_t)x35 & 0xfffffffffffffff); + uint128_t x50 = (((uint128_t)0x1000000000000000 * x48) + x49); + uint64_t x51 = (uint64_t) (x50 >> 0x3c); + uint64_t x52 = ((uint64_t)x50 & 0xfffffffffffffff); + uint128_t x53 = ((x46 + x41) + x51); + uint128_t x54 = (x53 >> 0x3c); + uint64_t x55 = ((uint64_t)x53 & 0xfffffffffffffff); + uint128_t x56 = (x45 + x51); + uint64_t x57 = (uint64_t) (x56 >> 0x3c); + uint64_t x58 = ((uint64_t)x56 & 0xfffffffffffffff); + uint128_t x59 = (x54 + x40); + uint128_t x60 = (x59 >> 0x3c); + uint64_t x61 = ((uint64_t)x59 & 0xfffffffffffffff); + uint128_t x62 = (x57 + x44); + uint64_t x63 = (uint64_t) (x62 >> 0x3c); + uint64_t x64 = ((uint64_t)x62 & 0xfffffffffffffff); + uint128_t x65 = (x60 + x39); + uint128_t x66 = (x65 >> 0x3c); + uint64_t x67 = ((uint64_t)x65 & 0xfffffffffffffff); + uint128_t x68 = (x63 + x43); + uint64_t x69 = (uint64_t) (x68 >> 0x3c); + uint64_t x70 = ((uint64_t)x68 & 0xfffffffffffffff); + uint128_t x71 = (x66 + x52); + uint64_t x72 = (uint64_t) (x71 >> 0x3c); + uint64_t x73 = ((uint64_t)x71 & 0xfffffffffffffff); + uint64_t x74 = (x69 + x47); + uint64_t x75 = (x74 >> 0x3c); + uint64_t x76 = (x74 & 0xfffffffffffffff); + uint128_t x77 = (((uint128_t)0x1000000000000000 * x72) + x73); + uint64_t x78 = (uint64_t) (x77 >> 0x3c); + uint64_t x79 = ((uint64_t)x77 & 0xfffffffffffffff); + uint64_t x80 = ((x75 + x55) + x78); + uint64_t x81 = (x80 >> 0x3c); + uint64_t x82 = (x80 & 0xfffffffffffffff); + uint64_t x83 = (x58 + x78); + uint64_t x84 = (x83 >> 0x3c); + uint64_t x85 = (x83 & 0xfffffffffffffff); + return (Return x79, Return x67, (x81 + x61), Return x82, Return x76, Return x70, (x84 + x64), Return x85)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e480m2e240m1/fesquareDisplay.log b/src/Specific/solinas64_2e480m2e240m1/fesquareDisplay.log new file mode 100644 index 000000000..6ee6ce4fb --- /dev/null +++ b/src/Specific/solinas64_2e480m2e240m1/fesquareDisplay.log @@ -0,0 +1,61 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint128_t x15 = (((uint128_t)(x8 + x13) * (x8 + x13)) - ((uint128_t)x8 * x8)); + uint128_t x16 = ((((uint128_t)(x6 + x14) * (x8 + x13)) + ((uint128_t)(x8 + x13) * (x6 + x14))) - (((uint128_t)x6 * x8) + ((uint128_t)x8 * x6))); + uint128_t x17 = ((((uint128_t)(x4 + x12) * (x8 + x13)) + (((uint128_t)(x6 + x14) * (x6 + x14)) + ((uint128_t)(x8 + x13) * (x4 + x12)))) - (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4)))); + uint128_t x18 = ((((uint128_t)(x2 + x10) * (x8 + x13)) + (((uint128_t)(x4 + x12) * (x6 + x14)) + (((uint128_t)(x6 + x14) * (x4 + x12)) + ((uint128_t)(x8 + x13) * (x2 + x10))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2))))); + uint128_t x19 = ((((uint128_t)(x2 + x10) * (x6 + x14)) + (((uint128_t)(x4 + x12) * (x4 + x12)) + ((uint128_t)(x6 + x14) * (x2 + x10)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2)))); + uint128_t x20 = ((((uint128_t)(x2 + x10) * (x4 + x12)) + ((uint128_t)(x4 + x12) * (x2 + x10))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2))); + uint128_t x21 = (((uint128_t)(x2 + x10) * (x2 + x10)) - ((uint128_t)x2 * x2)); + uint128_t x22 = (((((uint128_t)x8 * x8) + ((uint128_t)x13 * x13)) + x19) + x15); + uint128_t x23 = ((((((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)) + (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))) + x20) + x16); + uint128_t x24 = ((((((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))) + (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))) + x21) + x17); + uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))); + uint128_t x26 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + ((uint128_t)x14 * x10)))) + x15); + uint128_t x27 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x10 * x12) + ((uint128_t)x12 * x10))) + x16); + uint128_t x28 = ((((uint128_t)x2 * x2) + ((uint128_t)x10 * x10)) + x17); + uint64_t x29 = (uint64_t) (x25 >> 0x3c); + uint64_t x30 = ((uint64_t)x25 & 0xfffffffffffffff); + uint64_t x31 = (uint64_t) (x18 >> 0x3c); + uint64_t x32 = ((uint64_t)x18 & 0xfffffffffffffff); + uint128_t x33 = (((uint128_t)0x1000000000000000 * x31) + x32); + uint64_t x34 = (uint64_t) (x33 >> 0x3c); + uint64_t x35 = ((uint64_t)x33 & 0xfffffffffffffff); + uint128_t x36 = ((x29 + x24) + x34); + uint128_t x37 = (x36 >> 0x3c); + uint64_t x38 = ((uint64_t)x36 & 0xfffffffffffffff); + uint128_t x39 = (x28 + x34); + uint64_t x40 = (uint64_t) (x39 >> 0x3c); + uint64_t x41 = ((uint64_t)x39 & 0xfffffffffffffff); + uint128_t x42 = (x37 + x23); + uint128_t x43 = (x42 >> 0x3c); + uint64_t x44 = ((uint64_t)x42 & 0xfffffffffffffff); + uint128_t x45 = (x40 + x27); + uint64_t x46 = (uint64_t) (x45 >> 0x3c); + uint64_t x47 = ((uint64_t)x45 & 0xfffffffffffffff); + uint128_t x48 = (x43 + x22); + uint128_t x49 = (x48 >> 0x3c); + uint64_t x50 = ((uint64_t)x48 & 0xfffffffffffffff); + uint128_t x51 = (x46 + x26); + uint64_t x52 = (uint64_t) (x51 >> 0x3c); + uint64_t x53 = ((uint64_t)x51 & 0xfffffffffffffff); + uint128_t x54 = (x49 + x35); + uint64_t x55 = (uint64_t) (x54 >> 0x3c); + uint64_t x56 = ((uint64_t)x54 & 0xfffffffffffffff); + uint64_t x57 = (x52 + x30); + uint64_t x58 = (x57 >> 0x3c); + uint64_t x59 = (x57 & 0xfffffffffffffff); + uint128_t x60 = (((uint128_t)0x1000000000000000 * x55) + x56); + uint64_t x61 = (uint64_t) (x60 >> 0x3c); + uint64_t x62 = ((uint64_t)x60 & 0xfffffffffffffff); + uint64_t x63 = ((x58 + x38) + x61); + uint64_t x64 = (x63 >> 0x3c); + uint64_t x65 = (x63 & 0xfffffffffffffff); + uint64_t x66 = (x41 + x61); + uint64_t x67 = (x66 >> 0x3c); + uint64_t x68 = (x66 & 0xfffffffffffffff); + return (Return x62, Return x50, (x64 + x44), Return x65, Return x59, Return x53, (x67 + x47), Return x68)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e480m2e240m1/freezeDisplay.log b/src/Specific/solinas64_2e480m2e240m1/freezeDisplay.log index b2e1cb53f..eca3d9535 100644 --- a/src/Specific/solinas64_2e480m2e240m1/freezeDisplay.log +++ b/src/Specific/solinas64_2e480m2e240m1/freezeDisplay.log @@ -1,35 +1,32 @@ -λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, Interp-η (λ var : Syntax.base_type → Type, - λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffffff); - uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x1fffffffffffff); - uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x1fffffffffffff); - uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3fffffffffffff); - uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x1ffffffbffffff); - uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x1fffffffffffff); - uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3fffffffffffff); - uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x1fffffffffffff); - uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x1fffffffffffff); - uint64_t x44 = (uint64_t)cmovznz(x43, 0x0, 0xffffffffffffffffL); - uint64_t x45 = x44 & 0x3fffffffffffff; - uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45); - uint64_t x49 = x44 & 0x1fffffffffffff; - uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); - uint64_t x53 = x44 & 0x1fffffffffffff; - uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); - uint64_t x57 = x44 & 0x3fffffffffffff; - uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); - uint64_t x61 = x44 & 0x1ffffffbffffff; - uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); - uint64_t x65 = x44 & 0x1fffffffffffff; - uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); - uint64_t x69 = x44 & 0x3fffffffffffff; - uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); - uint64_t x73 = x44 & 0x1fffffffffffff; - uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); - uint64_t x77 = x44 & 0x1fffffffffffff; - uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); - (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) + λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffffff); + uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xfffffffffffffff); + uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xfffffffffffffff); + uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xfffffffffffffff); + uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffffffe); + uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xfffffffffffffff); + uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xfffffffffffffff); + uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xfffffffffffffff); + uint64_t x39 = (uint64_t)cmovznz(x38, 0x0, 0xffffffffffffffffL); + uint64_t x40 = (x39 & 0xfffffffffffffff); + uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40); + uint64_t x44 = (x39 & 0xfffffffffffffff); + uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44); + uint64_t x48 = (x39 & 0xfffffffffffffff); + uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48); + uint64_t x52 = (x39 & 0xfffffffffffffff); + uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52); + uint64_t x56 = (x39 & 0xffffffffffffffe); + uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56); + uint64_t x60 = (x39 & 0xfffffffffffffff); + uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60); + uint64_t x64 = (x39 & 0xfffffffffffffff); + uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64); + uint64_t x68 = (x39 & 0xfffffffffffffff); + uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68); + (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42)) x - : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e489m21/femulDisplay.log b/src/Specific/solinas64_2e489m21/femulDisplay.log new file mode 100644 index 000000000..ba923417f --- /dev/null +++ b/src/Specific/solinas64_2e489m21/femulDisplay.log @@ -0,0 +1,48 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, + uint128_t x36 = (((uint128_t)x5 * x34) + ((0x2 * ((uint128_t)x7 * x35)) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + ((0x2 * ((uint128_t)x13 * x29)) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((0x2 * ((uint128_t)x19 * x23)) + ((uint128_t)x18 * x21))))))))); + uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x15 * ((uint128_t)x18 * x34))); + uint128_t x38 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + ((uint128_t)x17 * x21))))))) + (0x15 * ((0x2 * ((uint128_t)x19 * x34)) + (0x2 * ((uint128_t)x18 * x35))))); + uint128_t x39 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((0x2 * ((uint128_t)x13 * x23)) + ((uint128_t)x15 * x21)))))) + (0x15 * (((uint128_t)x17 * x34) + ((0x2 * ((uint128_t)x19 * x35)) + ((uint128_t)x18 * x33))))); + uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + (0x15 * (((uint128_t)x15 * x34) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((uint128_t)x18 * x31)))))); + uint128_t x41 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((uint128_t)x11 * x21)))) + (0x15 * ((0x2 * ((uint128_t)x13 * x34)) + ((0x2 * ((uint128_t)x15 * x35)) + (((uint128_t)x17 * x33) + ((0x2 * ((uint128_t)x19 * x31)) + (0x2 * ((uint128_t)x18 * x29)))))))); + uint128_t x42 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((uint128_t)x9 * x21))) + (0x15 * (((uint128_t)x11 * x34) + ((0x2 * ((uint128_t)x13 * x35)) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + ((0x2 * ((uint128_t)x19 * x29)) + ((uint128_t)x18 * x27)))))))); + uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x15 * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25))))))))); + uint128_t x44 = (((uint128_t)x5 * x21) + (0x15 * ((0x2 * ((uint128_t)x7 * x34)) + ((0x2 * ((uint128_t)x9 * x35)) + (((uint128_t)x11 * x33) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + ((0x2 * ((uint128_t)x19 * x25)) + (0x2 * ((uint128_t)x18 * x23))))))))))); + uint64_t x45 = (uint64_t) (x44 >> 0x37); + uint64_t x46 = ((uint64_t)x44 & 0x7fffffffffffff); + uint128_t x47 = (x45 + x43); + uint64_t x48 = (uint64_t) (x47 >> 0x36); + uint64_t x49 = ((uint64_t)x47 & 0x3fffffffffffff); + uint128_t x50 = (x48 + x42); + uint64_t x51 = (uint64_t) (x50 >> 0x36); + uint64_t x52 = ((uint64_t)x50 & 0x3fffffffffffff); + uint128_t x53 = (x51 + x41); + uint64_t x54 = (uint64_t) (x53 >> 0x37); + uint64_t x55 = ((uint64_t)x53 & 0x7fffffffffffff); + uint128_t x56 = (x54 + x40); + uint64_t x57 = (uint64_t) (x56 >> 0x36); + uint64_t x58 = ((uint64_t)x56 & 0x3fffffffffffff); + uint128_t x59 = (x57 + x39); + uint64_t x60 = (uint64_t) (x59 >> 0x36); + uint64_t x61 = ((uint64_t)x59 & 0x3fffffffffffff); + uint128_t x62 = (x60 + x38); + uint64_t x63 = (uint64_t) (x62 >> 0x37); + uint64_t x64 = ((uint64_t)x62 & 0x7fffffffffffff); + uint128_t x65 = (x63 + x37); + uint64_t x66 = (uint64_t) (x65 >> 0x36); + uint64_t x67 = ((uint64_t)x65 & 0x3fffffffffffff); + uint128_t x68 = (x66 + x36); + uint64_t x69 = (uint64_t) (x68 >> 0x36); + uint64_t x70 = ((uint64_t)x68 & 0x3fffffffffffff); + uint64_t x71 = (x46 + (0x15 * x69)); + uint64_t x72 = (x71 >> 0x37); + uint64_t x73 = (x71 & 0x7fffffffffffff); + uint64_t x74 = (x72 + x49); + uint64_t x75 = (x74 >> 0x36); + uint64_t x76 = (x74 & 0x3fffffffffffff); + return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73)) +(x, x0)%core + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e489m21/fesquareDisplay.log b/src/Specific/solinas64_2e489m21/fesquareDisplay.log new file mode 100644 index 000000000..afa0fa631 --- /dev/null +++ b/src/Specific/solinas64_2e489m21/fesquareDisplay.log @@ -0,0 +1,48 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, + uint128_t x17 = (((uint128_t)x2 * x15) + ((0x2 * ((uint128_t)x4 * x16)) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x15 * x2))))))))); + uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x15 * ((uint128_t)x15 * x15))); + uint128_t x19 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint128_t)x16 * x15)) + (0x2 * ((uint128_t)x15 * x16))))); + uint128_t x20 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x15 * (((uint128_t)x14 * x15) + ((0x2 * ((uint128_t)x16 * x16)) + ((uint128_t)x15 * x14))))); + uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x15 * (((uint128_t)x12 * x15) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x15 * x12)))))); + uint128_t x22 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint128_t)x10 * x15)) + ((0x2 * ((uint128_t)x12 * x16)) + (((uint128_t)x14 * x14) + ((0x2 * ((uint128_t)x16 * x12)) + (0x2 * ((uint128_t)x15 * x10)))))))); + uint128_t x23 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x15 * (((uint128_t)x8 * x15) + ((0x2 * ((uint128_t)x10 * x16)) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((0x2 * ((uint128_t)x16 * x10)) + ((uint128_t)x15 * x8)))))))); + uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x15 * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6))))))))); + uint128_t x25 = (((uint128_t)x2 * x2) + (0x15 * ((0x2 * ((uint128_t)x4 * x15)) + ((0x2 * ((uint128_t)x6 * x16)) + (((uint128_t)x8 * x14) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + (((uint128_t)x14 * x8) + ((0x2 * ((uint128_t)x16 * x6)) + (0x2 * ((uint128_t)x15 * x4))))))))))); + uint64_t x26 = (uint64_t) (x25 >> 0x37); + uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff); + uint128_t x28 = (x26 + x24); + uint64_t x29 = (uint64_t) (x28 >> 0x36); + uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff); + uint128_t x31 = (x29 + x23); + uint64_t x32 = (uint64_t) (x31 >> 0x36); + uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffffff); + uint128_t x34 = (x32 + x22); + uint64_t x35 = (uint64_t) (x34 >> 0x37); + uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff); + uint128_t x37 = (x35 + x21); + uint64_t x38 = (uint64_t) (x37 >> 0x36); + uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff); + uint128_t x40 = (x38 + x20); + uint64_t x41 = (uint64_t) (x40 >> 0x36); + uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffffff); + uint128_t x43 = (x41 + x19); + uint64_t x44 = (uint64_t) (x43 >> 0x37); + uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffffff); + uint128_t x46 = (x44 + x18); + uint64_t x47 = (uint64_t) (x46 >> 0x36); + uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffffff); + uint128_t x49 = (x47 + x17); + uint64_t x50 = (uint64_t) (x49 >> 0x36); + uint64_t x51 = ((uint64_t)x49 & 0x3fffffffffffff); + uint64_t x52 = (x27 + (0x15 * x50)); + uint64_t x53 = (x52 >> 0x37); + uint64_t x54 = (x52 & 0x7fffffffffffff); + uint64_t x55 = (x53 + x30); + uint64_t x56 = (x55 >> 0x36); + uint64_t x57 = (x55 & 0x3fffffffffffff); + return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e489m21/freezeDisplay.log b/src/Specific/solinas64_2e489m21/freezeDisplay.log new file mode 100644 index 000000000..12e65dbe5 --- /dev/null +++ b/src/Specific/solinas64_2e489m21/freezeDisplay.log @@ -0,0 +1,35 @@ +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffeb); + uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffffffffffff); + uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffffffffffff); + uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x7fffffffffffff); + uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x3fffffffffffff); + uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffffffffffff); + uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x7fffffffffffff); + uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffffffffffff); + uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffffffffffff); + uint64_t x44 = (uint64_t)cmovznz(x43, 0x0, 0xffffffffffffffffL); + uint64_t x45 = (x44 & 0x7fffffffffffeb); + uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45); + uint64_t x49 = (x44 & 0x3fffffffffffff); + uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); + uint64_t x53 = (x44 & 0x3fffffffffffff); + uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); + uint64_t x57 = (x44 & 0x7fffffffffffff); + uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); + uint64_t x61 = (x44 & 0x3fffffffffffff); + uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); + uint64_t x65 = (x44 & 0x3fffffffffffff); + uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); + uint64_t x69 = (x44 & 0x7fffffffffffff); + uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); + uint64_t x73 = (x44 & 0x3fffffffffffff); + uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); + uint64_t x77 = (x44 & 0x3fffffffffffff); + uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); + (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) +x + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e495m31/femulDisplay.log b/src/Specific/solinas64_2e495m31/femulDisplay.log index d045be5fd..f497e2d71 100644 --- a/src/Specific/solinas64_2e495m31/femulDisplay.log +++ b/src/Specific/solinas64_2e495m31/femulDisplay.log @@ -1,52 +1,48 @@ -λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, Interp-η (λ var : Syntax.base_type → Type, - λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, - uint128_t x40 = (uint128_t) x5 * x38 + ((uint128_t) x7 * x39 + ((uint128_t) x9 * x37 + ((uint128_t) x11 * x35 + ((uint128_t) x13 * x33 + ((uint128_t) x15 * x31 + ((uint128_t) x17 * x29 + ((uint128_t) x19 * x27 + ((uint128_t) x21 * x25 + (uint128_t) x20 * x23)))))))); - uint128_t x41 = (uint128_t) x5 * x39 + (0x2 * ((uint128_t) x7 * x37) + ((uint128_t) x9 * x35 + (0x2 * ((uint128_t) x11 * x33) + ((uint128_t) x13 * x31 + (0x2 * ((uint128_t) x15 * x29) + ((uint128_t) x17 * x27 + (0x2 * ((uint128_t) x19 * x25) + (uint128_t) x21 * x23))))))) + 0x1f * (0x2 * ((uint128_t) x20 * x38)); - uint128_t x42 = (uint128_t) x5 * x37 + ((uint128_t) x7 * x35 + ((uint128_t) x9 * x33 + ((uint128_t) x11 * x31 + ((uint128_t) x13 * x29 + ((uint128_t) x15 * x27 + ((uint128_t) x17 * x25 + (uint128_t) x19 * x23)))))) + 0x1f * ((uint128_t) x21 * x38 + (uint128_t) x20 * x39); - uint128_t x43 = (uint128_t) x5 * x35 + (0x2 * ((uint128_t) x7 * x33) + ((uint128_t) x9 * x31 + (0x2 * ((uint128_t) x11 * x29) + ((uint128_t) x13 * x27 + (0x2 * ((uint128_t) x15 * x25) + (uint128_t) x17 * x23))))) + 0x1f * (0x2 * ((uint128_t) x19 * x38) + ((uint128_t) x21 * x39 + 0x2 * ((uint128_t) x20 * x37))); - uint128_t x44 = (uint128_t) x5 * x33 + ((uint128_t) x7 * x31 + ((uint128_t) x9 * x29 + ((uint128_t) x11 * x27 + ((uint128_t) x13 * x25 + (uint128_t) x15 * x23)))) + 0x1f * ((uint128_t) x17 * x38 + ((uint128_t) x19 * x39 + ((uint128_t) x21 * x37 + (uint128_t) x20 * x35))); - uint128_t x45 = (uint128_t) x5 * x31 + (0x2 * ((uint128_t) x7 * x29) + ((uint128_t) x9 * x27 + (0x2 * ((uint128_t) x11 * x25) + (uint128_t) x13 * x23))) + 0x1f * (0x2 * ((uint128_t) x15 * x38) + ((uint128_t) x17 * x39 + (0x2 * ((uint128_t) x19 * x37) + ((uint128_t) x21 * x35 + 0x2 * ((uint128_t) x20 * x33))))); - uint128_t x46 = (uint128_t) x5 * x29 + ((uint128_t) x7 * x27 + ((uint128_t) x9 * x25 + (uint128_t) x11 * x23)) + 0x1f * ((uint128_t) x13 * x38 + ((uint128_t) x15 * x39 + ((uint128_t) x17 * x37 + ((uint128_t) x19 * x35 + ((uint128_t) x21 * x33 + (uint128_t) x20 * x31))))); - uint128_t x47 = (uint128_t) x5 * x27 + (0x2 * ((uint128_t) x7 * x25) + (uint128_t) x9 * x23) + 0x1f * (0x2 * ((uint128_t) x11 * x38) + ((uint128_t) x13 * x39 + (0x2 * ((uint128_t) x15 * x37) + ((uint128_t) x17 * x35 + (0x2 * ((uint128_t) x19 * x33) + ((uint128_t) x21 * x31 + 0x2 * ((uint128_t) x20 * x29))))))); - uint128_t x48 = (uint128_t) x5 * x25 + (uint128_t) x7 * x23 + 0x1f * ((uint128_t) x9 * x38 + ((uint128_t) x11 * x39 + ((uint128_t) x13 * x37 + ((uint128_t) x15 * x35 + ((uint128_t) x17 * x33 + ((uint128_t) x19 * x31 + ((uint128_t) x21 * x29 + (uint128_t) x20 * x27))))))); - uint128_t x49 = (uint128_t) x5 * x23 + 0x1f * (0x2 * ((uint128_t) x7 * x38) + ((uint128_t) x9 * x39 + (0x2 * ((uint128_t) x11 * x37) + ((uint128_t) x13 * x35 + (0x2 * ((uint128_t) x15 * x33) + ((uint128_t) x17 * x31 + (0x2 * ((uint128_t) x19 * x29) + ((uint128_t) x21 * x27 + 0x2 * ((uint128_t) x20 * x25))))))))); - uint64_t x50 = (uint64_t) (x49 >> 0x32); - uint64_t x51 = (uint64_t) x49 & 0x3ffffffffffff; - uint128_t x52 = x50 + x48; - uint64_t x53 = (uint64_t) (x52 >> 0x31); - uint64_t x54 = (uint64_t) x52 & 0x1ffffffffffff; - uint128_t x55 = x53 + x47; - uint64_t x56 = (uint64_t) (x55 >> 0x32); - uint64_t x57 = (uint64_t) x55 & 0x3ffffffffffff; - uint128_t x58 = x56 + x46; - uint64_t x59 = (uint64_t) (x58 >> 0x31); - uint64_t x60 = (uint64_t) x58 & 0x1ffffffffffff; - uint128_t x61 = x59 + x45; - uint64_t x62 = (uint64_t) (x61 >> 0x32); - uint64_t x63 = (uint64_t) x61 & 0x3ffffffffffff; - uint128_t x64 = x62 + x44; - uint64_t x65 = (uint64_t) (x64 >> 0x31); - uint64_t x66 = (uint64_t) x64 & 0x1ffffffffffff; - uint128_t x67 = x65 + x43; - uint64_t x68 = (uint64_t) (x67 >> 0x32); - uint64_t x69 = (uint64_t) x67 & 0x3ffffffffffff; - uint128_t x70 = x68 + x42; - uint64_t x71 = (uint64_t) (x70 >> 0x31); - uint64_t x72 = (uint64_t) x70 & 0x1ffffffffffff; - uint128_t x73 = x71 + x41; - uint64_t x74 = (uint64_t) (x73 >> 0x32); - uint64_t x75 = (uint64_t) x73 & 0x3ffffffffffff; - uint128_t x76 = x74 + x40; - uint64_t x77 = (uint64_t) (x76 >> 0x31); - uint64_t x78 = (uint64_t) x76 & 0x1ffffffffffff; - uint64_t x79 = x51 + 0x1f * x77; - uint64_t x80 = x79 >> 0x32; - uint64_t x81 = x79 & 0x3ffffffffffff; - uint64_t x82 = x80 + x54; - uint64_t x83 = x82 >> 0x31; - uint64_t x84 = x82 & 0x1ffffffffffff; - return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, x83 + x57, Return x84, Return x81)) + λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, + uint128_t x36 = (((uint128_t)x5 * x34) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + (((uint128_t)x19 * x23) + ((uint128_t)x18 * x21))))))))); + uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x1f * ((uint128_t)x18 * x34))); + uint128_t x38 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x17 * x21))))))) + (0x1f * (((uint128_t)x19 * x34) + ((uint128_t)x18 * x35)))); + uint128_t x39 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + ((uint128_t)x15 * x21)))))) + (0x1f * (((uint128_t)x17 * x34) + (((uint128_t)x19 * x35) + ((uint128_t)x18 * x33))))); + uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + (0x1f * (((uint128_t)x15 * x34) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((uint128_t)x18 * x31)))))); + uint128_t x41 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21)))) + (0x1f * (((uint128_t)x13 * x34) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + ((uint128_t)x18 * x29))))))); + uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((uint128_t)x9 * x21))) + (0x1f * (((uint128_t)x11 * x34) + (((uint128_t)x13 * x35) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + (((uint128_t)x19 * x29) + ((uint128_t)x18 * x27)))))))); + uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x1f * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25))))))))); + uint128_t x44 = (((uint128_t)x5 * x21) + (0x1f * (((uint128_t)x7 * x34) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (((uint128_t)x19 * x25) + ((uint128_t)x18 * x23)))))))))); + uint64_t x45 = (uint64_t) (x44 >> 0x37); + uint64_t x46 = ((uint64_t)x44 & 0x7fffffffffffff); + uint128_t x47 = (x45 + x43); + uint64_t x48 = (uint64_t) (x47 >> 0x37); + uint64_t x49 = ((uint64_t)x47 & 0x7fffffffffffff); + uint128_t x50 = (x48 + x42); + uint64_t x51 = (uint64_t) (x50 >> 0x37); + uint64_t x52 = ((uint64_t)x50 & 0x7fffffffffffff); + uint128_t x53 = (x51 + x41); + uint64_t x54 = (uint64_t) (x53 >> 0x37); + uint64_t x55 = ((uint64_t)x53 & 0x7fffffffffffff); + uint128_t x56 = (x54 + x40); + uint64_t x57 = (uint64_t) (x56 >> 0x37); + uint64_t x58 = ((uint64_t)x56 & 0x7fffffffffffff); + uint128_t x59 = (x57 + x39); + uint64_t x60 = (uint64_t) (x59 >> 0x37); + uint64_t x61 = ((uint64_t)x59 & 0x7fffffffffffff); + uint128_t x62 = (x60 + x38); + uint64_t x63 = (uint64_t) (x62 >> 0x37); + uint64_t x64 = ((uint64_t)x62 & 0x7fffffffffffff); + uint128_t x65 = (x63 + x37); + uint64_t x66 = (uint64_t) (x65 >> 0x37); + uint64_t x67 = ((uint64_t)x65 & 0x7fffffffffffff); + uint128_t x68 = (x66 + x36); + uint64_t x69 = (uint64_t) (x68 >> 0x37); + uint64_t x70 = ((uint64_t)x68 & 0x7fffffffffffff); + uint64_t x71 = (x46 + (0x1f * x69)); + uint64_t x72 = (x71 >> 0x37); + uint64_t x73 = (x71 & 0x7fffffffffffff); + uint64_t x74 = (x72 + x49); + uint64_t x75 = (x74 >> 0x37); + uint64_t x76 = (x74 & 0x7fffffffffffff); + return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73)) (x, x0)%core - : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e495m31/fesquareDisplay.log b/src/Specific/solinas64_2e495m31/fesquareDisplay.log index 8c3b890b5..15db2eab0 100644 --- a/src/Specific/solinas64_2e495m31/fesquareDisplay.log +++ b/src/Specific/solinas64_2e495m31/fesquareDisplay.log @@ -1,52 +1,48 @@ -λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, Interp-η (λ var : Syntax.base_type → Type, - λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint128_t x19 = (uint128_t) x2 * x17 + ((uint128_t) x4 * x18 + ((uint128_t) x6 * x16 + ((uint128_t) x8 * x14 + ((uint128_t) x10 * x12 + ((uint128_t) x12 * x10 + ((uint128_t) x14 * x8 + ((uint128_t) x16 * x6 + ((uint128_t) x18 * x4 + (uint128_t) x17 * x2)))))))); - uint128_t x20 = (uint128_t) x2 * x18 + (0x2 * ((uint128_t) x4 * x16) + ((uint128_t) x6 * x14 + (0x2 * ((uint128_t) x8 * x12) + ((uint128_t) x10 * x10 + (0x2 * ((uint128_t) x12 * x8) + ((uint128_t) x14 * x6 + (0x2 * ((uint128_t) x16 * x4) + (uint128_t) x18 * x2))))))) + 0x1f * (0x2 * ((uint128_t) x17 * x17)); - uint128_t x21 = (uint128_t) x2 * x16 + ((uint128_t) x4 * x14 + ((uint128_t) x6 * x12 + ((uint128_t) x8 * x10 + ((uint128_t) x10 * x8 + ((uint128_t) x12 * x6 + ((uint128_t) x14 * x4 + (uint128_t) x16 * x2)))))) + 0x1f * ((uint128_t) x18 * x17 + (uint128_t) x17 * x18); - uint128_t x22 = (uint128_t) x2 * x14 + (0x2 * ((uint128_t) x4 * x12) + ((uint128_t) x6 * x10 + (0x2 * ((uint128_t) x8 * x8) + ((uint128_t) x10 * x6 + (0x2 * ((uint128_t) x12 * x4) + (uint128_t) x14 * x2))))) + 0x1f * (0x2 * ((uint128_t) x16 * x17) + ((uint128_t) x18 * x18 + 0x2 * ((uint128_t) x17 * x16))); - uint128_t x23 = (uint128_t) x2 * x12 + ((uint128_t) x4 * x10 + ((uint128_t) x6 * x8 + ((uint128_t) x8 * x6 + ((uint128_t) x10 * x4 + (uint128_t) x12 * x2)))) + 0x1f * ((uint128_t) x14 * x17 + ((uint128_t) x16 * x18 + ((uint128_t) x18 * x16 + (uint128_t) x17 * x14))); - uint128_t x24 = (uint128_t) x2 * x10 + (0x2 * ((uint128_t) x4 * x8) + ((uint128_t) x6 * x6 + (0x2 * ((uint128_t) x8 * x4) + (uint128_t) x10 * x2))) + 0x1f * (0x2 * ((uint128_t) x12 * x17) + ((uint128_t) x14 * x18 + (0x2 * ((uint128_t) x16 * x16) + ((uint128_t) x18 * x14 + 0x2 * ((uint128_t) x17 * x12))))); - uint128_t x25 = (uint128_t) x2 * x8 + ((uint128_t) x4 * x6 + ((uint128_t) x6 * x4 + (uint128_t) x8 * x2)) + 0x1f * ((uint128_t) x10 * x17 + ((uint128_t) x12 * x18 + ((uint128_t) x14 * x16 + ((uint128_t) x16 * x14 + ((uint128_t) x18 * x12 + (uint128_t) x17 * x10))))); - uint128_t x26 = (uint128_t) x2 * x6 + (0x2 * ((uint128_t) x4 * x4) + (uint128_t) x6 * x2) + 0x1f * (0x2 * ((uint128_t) x8 * x17) + ((uint128_t) x10 * x18 + (0x2 * ((uint128_t) x12 * x16) + ((uint128_t) x14 * x14 + (0x2 * ((uint128_t) x16 * x12) + ((uint128_t) x18 * x10 + 0x2 * ((uint128_t) x17 * x8))))))); - uint128_t x27 = (uint128_t) x2 * x4 + (uint128_t) x4 * x2 + 0x1f * ((uint128_t) x6 * x17 + ((uint128_t) x8 * x18 + ((uint128_t) x10 * x16 + ((uint128_t) x12 * x14 + ((uint128_t) x14 * x12 + ((uint128_t) x16 * x10 + ((uint128_t) x18 * x8 + (uint128_t) x17 * x6))))))); - uint128_t x28 = (uint128_t) x2 * x2 + 0x1f * (0x2 * ((uint128_t) x4 * x17) + ((uint128_t) x6 * x18 + (0x2 * ((uint128_t) x8 * x16) + ((uint128_t) x10 * x14 + (0x2 * ((uint128_t) x12 * x12) + ((uint128_t) x14 * x10 + (0x2 * ((uint128_t) x16 * x8) + ((uint128_t) x18 * x6 + 0x2 * ((uint128_t) x17 * x4))))))))); - uint64_t x29 = (uint64_t) (x28 >> 0x32); - uint64_t x30 = (uint64_t) x28 & 0x3ffffffffffff; - uint128_t x31 = x29 + x27; - uint64_t x32 = (uint64_t) (x31 >> 0x31); - uint64_t x33 = (uint64_t) x31 & 0x1ffffffffffff; - uint128_t x34 = x32 + x26; - uint64_t x35 = (uint64_t) (x34 >> 0x32); - uint64_t x36 = (uint64_t) x34 & 0x3ffffffffffff; - uint128_t x37 = x35 + x25; - uint64_t x38 = (uint64_t) (x37 >> 0x31); - uint64_t x39 = (uint64_t) x37 & 0x1ffffffffffff; - uint128_t x40 = x38 + x24; - uint64_t x41 = (uint64_t) (x40 >> 0x32); - uint64_t x42 = (uint64_t) x40 & 0x3ffffffffffff; - uint128_t x43 = x41 + x23; - uint64_t x44 = (uint64_t) (x43 >> 0x31); - uint64_t x45 = (uint64_t) x43 & 0x1ffffffffffff; - uint128_t x46 = x44 + x22; - uint64_t x47 = (uint64_t) (x46 >> 0x32); - uint64_t x48 = (uint64_t) x46 & 0x3ffffffffffff; - uint128_t x49 = x47 + x21; - uint64_t x50 = (uint64_t) (x49 >> 0x31); - uint64_t x51 = (uint64_t) x49 & 0x1ffffffffffff; - uint128_t x52 = x50 + x20; - uint64_t x53 = (uint64_t) (x52 >> 0x32); - uint64_t x54 = (uint64_t) x52 & 0x3ffffffffffff; - uint128_t x55 = x53 + x19; - uint64_t x56 = (uint64_t) (x55 >> 0x31); - uint64_t x57 = (uint64_t) x55 & 0x1ffffffffffff; - uint64_t x58 = x30 + 0x1f * x56; - uint64_t x59 = x58 >> 0x32; - uint64_t x60 = x58 & 0x3ffffffffffff; - uint64_t x61 = x59 + x33; - uint64_t x62 = x61 >> 0x31; - uint64_t x63 = x61 & 0x1ffffffffffff; - return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, x62 + x36, Return x63, Return x60)) + λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, + uint128_t x17 = (((uint128_t)x2 * x15) + (((uint128_t)x4 * x16) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + (((uint128_t)x16 * x4) + ((uint128_t)x15 * x2))))))))); + uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x1f * ((uint128_t)x15 * x15))); + uint128_t x19 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x1f * (((uint128_t)x16 * x15) + ((uint128_t)x15 * x16)))); + uint128_t x20 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1f * (((uint128_t)x14 * x15) + (((uint128_t)x16 * x16) + ((uint128_t)x15 * x14))))); + uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x1f * (((uint128_t)x12 * x15) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x15 * x12)))))); + uint128_t x22 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1f * (((uint128_t)x10 * x15) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + ((uint128_t)x15 * x10))))))); + uint128_t x23 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1f * (((uint128_t)x8 * x15) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + ((uint128_t)x15 * x8)))))))); + uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1f * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6))))))))); + uint128_t x25 = (((uint128_t)x2 * x2) + (0x1f * (((uint128_t)x4 * x15) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + ((uint128_t)x15 * x4)))))))))); + uint64_t x26 = (uint64_t) (x25 >> 0x37); + uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff); + uint128_t x28 = (x26 + x24); + uint64_t x29 = (uint64_t) (x28 >> 0x37); + uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffffff); + uint128_t x31 = (x29 + x23); + uint64_t x32 = (uint64_t) (x31 >> 0x37); + uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff); + uint128_t x34 = (x32 + x22); + uint64_t x35 = (uint64_t) (x34 >> 0x37); + uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff); + uint128_t x37 = (x35 + x21); + uint64_t x38 = (uint64_t) (x37 >> 0x37); + uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff); + uint128_t x40 = (x38 + x20); + uint64_t x41 = (uint64_t) (x40 >> 0x37); + uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff); + uint128_t x43 = (x41 + x19); + uint64_t x44 = (uint64_t) (x43 >> 0x37); + uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffffff); + uint128_t x46 = (x44 + x18); + uint64_t x47 = (uint64_t) (x46 >> 0x37); + uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffffff); + uint128_t x49 = (x47 + x17); + uint64_t x50 = (uint64_t) (x49 >> 0x37); + uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffffff); + uint64_t x52 = (x27 + (0x1f * x50)); + uint64_t x53 = (x52 >> 0x37); + uint64_t x54 = (x52 & 0x7fffffffffffff); + uint64_t x55 = (x53 + x30); + uint64_t x56 = (x55 >> 0x37); + uint64_t x57 = (x55 & 0x7fffffffffffff); + return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54)) x - : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) diff --git a/src/Specific/solinas64_2e495m31/freezeDisplay.log b/src/Specific/solinas64_2e495m31/freezeDisplay.log index 3878776a4..bf754bb88 100644 --- a/src/Specific/solinas64_2e495m31/freezeDisplay.log +++ b/src/Specific/solinas64_2e495m31/freezeDisplay.log @@ -1,38 +1,35 @@ -λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, Interp-η (λ var : Syntax.base_type → Type, - λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffe1); - uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0x1ffffffffffff); - uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x3ffffffffffff); - uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x1ffffffffffff); - uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0x3ffffffffffff); - uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffffffffff); - uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x3ffffffffffff); - uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x1ffffffffffff); - uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x3ffffffffffff); - uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0x1ffffffffffff); - uint64_t x49 = (uint64_t)cmovznz(x48, 0x0, 0xffffffffffffffffL); - uint64_t x50 = x49 & 0x3ffffffffffe1; - uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50); - uint64_t x54 = x49 & 0x1ffffffffffff; - uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54); - uint64_t x58 = x49 & 0x3ffffffffffff; - uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58); - uint64_t x62 = x49 & 0x1ffffffffffff; - uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62); - uint64_t x66 = x49 & 0x3ffffffffffff; - uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66); - uint64_t x70 = x49 & 0x1ffffffffffff; - uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70); - uint64_t x74 = x49 & 0x3ffffffffffff; - uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74); - uint64_t x78 = x49 & 0x1ffffffffffff; - uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78); - uint64_t x82 = x49 & 0x3ffffffffffff; - uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82); - uint64_t x86 = x49 & 0x1ffffffffffff; - uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86); - (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52)) + λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffe1); + uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x7fffffffffffff); + uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x7fffffffffffff); + uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x7fffffffffffff); + uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x7fffffffffffff); + uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x7fffffffffffff); + uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x7fffffffffffff); + uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x7fffffffffffff); + uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x7fffffffffffff); + uint64_t x44 = (uint64_t)cmovznz(x43, 0x0, 0xffffffffffffffffL); + uint64_t x45 = (x44 & 0x7fffffffffffe1); + uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45); + uint64_t x49 = (x44 & 0x7fffffffffffff); + uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49); + uint64_t x53 = (x44 & 0x7fffffffffffff); + uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53); + uint64_t x57 = (x44 & 0x7fffffffffffff); + uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57); + uint64_t x61 = (x44 & 0x7fffffffffffff); + uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61); + uint64_t x65 = (x44 & 0x7fffffffffffff); + uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65); + uint64_t x69 = (x44 & 0x7fffffffffffff); + uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69); + uint64_t x73 = (x44 & 0x7fffffffffffff); + uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73); + uint64_t x77 = (x44 & 0x7fffffffffffff); + uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77); + (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47)) x - : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) + : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t) |