-
-
Save andres-erbsen/a8f6c694e80168354b19710fc811c5c4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
commit e83aa131c4e1697159745c637b64475d3a1b3fb4 | |
Author: Andres Erbsen <andres-github@andres.systems> | |
Date: Mon Jul 31 20:10:58 2023 +0000 | |
default to magnitude 8->1 in Dettman multiplication | |
diff --git a/fiat-c/src/secp256k1_dettman_32.c b/fiat-c/src/secp256k1_dettman_32.c | |
index 65560d9be..21ac5b465 100644 | |
--- a/fiat-c/src/secp256k1_dettman_32.c | |
+++ b/fiat-c/src/secp256k1_dettman_32.c | |
@@ -31,70 +31,70 @@ | |
* eval out1 mod 115792089237316195423570985008687907853269984665640564039457584007908834671663 = (eval arg1 * eval arg2) mod 115792089237316195423570985008687907853269984665640564039457584007908834671663 | |
* | |
* Input Bounds: | |
- * arg1: [[0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7ffffe]] | |
- * arg2: [[0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7ffffe]] | |
+ * arg1: [[0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3fffff0]] | |
+ * arg2: [[0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3fffff0]] | |
* Output Bounds: | |
- * out1: [[0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x5fffff]] | |
+ * out1: [[0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7ffffe]] | |
*/ | |
static FIAT_SECP256K1_DETTMAN_FIAT_INLINE void fiat_secp256k1_dettman_mul(uint32_t out1[10], const uint32_t arg1[10], const uint32_t arg2[10]) { | |
uint64_t x1; | |
uint32_t x2; | |
uint32_t x3; | |
uint64_t x4; | |
- uint32_t x5; | |
+ uint64_t x5; | |
uint32_t x6; | |
uint64_t x7; | |
uint32_t x8; | |
uint32_t x9; | |
uint64_t x10; | |
- uint32_t x11; | |
+ uint64_t x11; | |
uint32_t x12; | |
uint64_t x13; | |
- uint32_t x14; | |
+ uint64_t x14; | |
uint32_t x15; | |
uint64_t x16; | |
- uint32_t x17; | |
+ uint64_t x17; | |
uint32_t x18; | |
uint32_t x19; | |
uint32_t x20; | |
uint64_t x21; | |
- uint32_t x22; | |
+ uint64_t x22; | |
uint32_t x23; | |
uint64_t x24; | |
- uint32_t x25; | |
+ uint64_t x25; | |
uint32_t x26; | |
uint64_t x27; | |
- uint32_t x28; | |
+ uint64_t x28; | |
uint32_t x29; | |
uint64_t x30; | |
- uint32_t x31; | |
+ uint64_t x31; | |
uint32_t x32; | |
uint64_t x33; | |
- uint32_t x34; | |
+ uint64_t x34; | |
uint32_t x35; | |
uint64_t x36; | |
- uint32_t x37; | |
+ uint64_t x37; | |
uint32_t x38; | |
uint64_t x39; | |
- uint32_t x40; | |
+ uint64_t x40; | |
uint32_t x41; | |
uint64_t x42; | |
- uint32_t x43; | |
+ uint64_t x43; | |
uint32_t x44; | |
uint64_t x45; | |
- uint32_t x46; | |
+ uint64_t x46; | |
uint32_t x47; | |
uint64_t x48; | |
- uint32_t x49; | |
+ uint64_t x49; | |
uint32_t x50; | |
uint64_t x51; | |
- uint32_t x52; | |
+ uint64_t x52; | |
uint32_t x53; | |
uint64_t x54; | |
uint32_t x55; | |
uint32_t x56; | |
uint64_t x57; | |
- uint32_t x58; | |
+ uint64_t x58; | |
uint32_t x59; | |
uint64_t x60; | |
uint32_t x61; | |
@@ -107,60 +107,60 @@ static FIAT_SECP256K1_DETTMAN_FIAT_INLINE void fiat_secp256k1_dettman_mul(uint32 | |
x2 = (uint32_t)(x1 >> 26); | |
x3 = (uint32_t)(x1 & UINT32_C(0x3ffffff)); | |
x4 = ((((uint64_t)(arg1[0]) * (arg2[7])) + (((uint64_t)(arg1[1]) * (arg2[6])) + (((uint64_t)(arg1[2]) * (arg2[5])) + (((uint64_t)(arg1[3]) * (arg2[4])) + (((uint64_t)(arg1[4]) * (arg2[3])) + (((uint64_t)(arg1[5]) * (arg2[2])) + (((uint64_t)(arg1[6]) * (arg2[1])) + ((uint64_t)(arg1[7]) * (arg2[0]))))))))) + ((uint64_t)x3 * UINT16_C(0x3d10))); | |
- x5 = (uint32_t)(x4 >> 26); | |
+ x5 = (x4 >> 26); | |
x6 = (uint32_t)(x4 & UINT32_C(0x3ffffff)); | |
x7 = (x2 + ((uint64_t)(arg1[9]) * (arg2[9]))); | |
x8 = (uint32_t)(x7 >> 32); | |
x9 = (uint32_t)(x7 & UINT32_C(0xffffffff)); | |
x10 = ((x5 + ((((uint64_t)(arg1[0]) * (arg2[8])) + (((uint64_t)(arg1[1]) * (arg2[7])) + (((uint64_t)(arg1[2]) * (arg2[6])) + (((uint64_t)(arg1[3]) * (arg2[5])) + (((uint64_t)(arg1[4]) * (arg2[4])) + (((uint64_t)(arg1[5]) * (arg2[3])) + (((uint64_t)(arg1[6]) * (arg2[2])) + (((uint64_t)(arg1[7]) * (arg2[1])) + ((uint64_t)(arg1[8]) * (arg2[0])))))))))) + ((uint64_t)x3 << 10))) + ((uint64_t)x9 * UINT16_C(0x3d10))); | |
- x11 = (uint32_t)(x10 >> 26); | |
+ x11 = (x10 >> 26); | |
x12 = (uint32_t)(x10 & UINT32_C(0x3ffffff)); | |
x13 = ((x11 + ((((uint64_t)(arg1[0]) * (arg2[9])) + (((uint64_t)(arg1[1]) * (arg2[8])) + (((uint64_t)(arg1[2]) * (arg2[7])) + (((uint64_t)(arg1[3]) * (arg2[6])) + (((uint64_t)(arg1[4]) * (arg2[5])) + (((uint64_t)(arg1[5]) * (arg2[4])) + (((uint64_t)(arg1[6]) * (arg2[3])) + (((uint64_t)(arg1[7]) * (arg2[2])) + (((uint64_t)(arg1[8]) * (arg2[1])) + ((uint64_t)(arg1[9]) * (arg2[0]))))))))))) + ((uint64_t)x9 << 10))) + ((uint64_t)x8 * UINT32_C(0xf4400))); | |
- x14 = (uint32_t)(x13 >> 26); | |
+ x14 = (x13 >> 26); | |
x15 = (uint32_t)(x13 & UINT32_C(0x3ffffff)); | |
- x16 = (x14 + ((((uint64_t)(arg1[1]) * (arg2[9])) + (((uint64_t)(arg1[2]) * (arg2[8])) + (((uint64_t)(arg1[3]) * (arg2[7])) + (((uint64_t)(arg1[4]) * (arg2[6])) + (((uint64_t)(arg1[5]) * (arg2[5])) + (((uint64_t)(arg1[6]) * (arg2[4])) + (((uint64_t)(arg1[7]) * (arg2[3])) + (((uint64_t)(arg1[8]) * (arg2[2])) + ((uint64_t)(arg1[9]) * (arg2[1])))))))))) + (x8 << 16))); | |
- x17 = (uint32_t)(x16 >> 26); | |
+ x16 = (x14 + ((((uint64_t)(arg1[1]) * (arg2[9])) + (((uint64_t)(arg1[2]) * (arg2[8])) + (((uint64_t)(arg1[3]) * (arg2[7])) + (((uint64_t)(arg1[4]) * (arg2[6])) + (((uint64_t)(arg1[5]) * (arg2[5])) + (((uint64_t)(arg1[6]) * (arg2[4])) + (((uint64_t)(arg1[7]) * (arg2[3])) + (((uint64_t)(arg1[8]) * (arg2[2])) + ((uint64_t)(arg1[9]) * (arg2[1])))))))))) + ((uint64_t)x8 << 16))); | |
+ x17 = (x16 >> 26); | |
x18 = (uint32_t)(x16 & UINT32_C(0x3ffffff)); | |
x19 = (x15 >> 22); | |
x20 = (x15 & UINT32_C(0x3fffff)); | |
x21 = (((uint64_t)(arg1[0]) * (arg2[0])) + ((uint64_t)(x19 + (x18 << 4)) * UINT16_C(0x3d1))); | |
- x22 = (uint32_t)(x21 >> 26); | |
+ x22 = (x21 >> 26); | |
x23 = (uint32_t)(x21 & UINT32_C(0x3ffffff)); | |
x24 = (x17 + (((uint64_t)(arg1[2]) * (arg2[9])) + (((uint64_t)(arg1[3]) * (arg2[8])) + (((uint64_t)(arg1[4]) * (arg2[7])) + (((uint64_t)(arg1[5]) * (arg2[6])) + (((uint64_t)(arg1[6]) * (arg2[5])) + (((uint64_t)(arg1[7]) * (arg2[4])) + (((uint64_t)(arg1[8]) * (arg2[3])) + ((uint64_t)(arg1[9]) * (arg2[2])))))))))); | |
- x25 = (uint32_t)(x24 >> 26); | |
+ x25 = (x24 >> 26); | |
x26 = (uint32_t)(x24 & UINT32_C(0x3ffffff)); | |
x27 = ((x22 + ((((uint64_t)(arg1[0]) * (arg2[1])) + ((uint64_t)(arg1[1]) * (arg2[0]))) + ((uint64_t)(x19 + (x18 << 4)) << 6))) + ((uint64_t)x26 * UINT16_C(0x3d10))); | |
- x28 = (uint32_t)(x27 >> 26); | |
+ x28 = (x27 >> 26); | |
x29 = (uint32_t)(x27 & UINT32_C(0x3ffffff)); | |
x30 = (x25 + (((uint64_t)(arg1[3]) * (arg2[9])) + (((uint64_t)(arg1[4]) * (arg2[8])) + (((uint64_t)(arg1[5]) * (arg2[7])) + (((uint64_t)(arg1[6]) * (arg2[6])) + (((uint64_t)(arg1[7]) * (arg2[5])) + (((uint64_t)(arg1[8]) * (arg2[4])) + ((uint64_t)(arg1[9]) * (arg2[3]))))))))); | |
- x31 = (uint32_t)(x30 >> 26); | |
+ x31 = (x30 >> 26); | |
x32 = (uint32_t)(x30 & UINT32_C(0x3ffffff)); | |
x33 = ((x28 + ((((uint64_t)(arg1[0]) * (arg2[2])) + (((uint64_t)(arg1[1]) * (arg2[1])) + ((uint64_t)(arg1[2]) * (arg2[0])))) + ((uint64_t)x26 << 10))) + ((uint64_t)x32 * UINT16_C(0x3d10))); | |
- x34 = (uint32_t)(x33 >> 26); | |
+ x34 = (x33 >> 26); | |
x35 = (uint32_t)(x33 & UINT32_C(0x3ffffff)); | |
x36 = (x31 + (((uint64_t)(arg1[4]) * (arg2[9])) + (((uint64_t)(arg1[5]) * (arg2[8])) + (((uint64_t)(arg1[6]) * (arg2[7])) + (((uint64_t)(arg1[7]) * (arg2[6])) + (((uint64_t)(arg1[8]) * (arg2[5])) + ((uint64_t)(arg1[9]) * (arg2[4])))))))); | |
- x37 = (uint32_t)(x36 >> 26); | |
+ x37 = (x36 >> 26); | |
x38 = (uint32_t)(x36 & UINT32_C(0x3ffffff)); | |
x39 = ((x34 + ((((uint64_t)(arg1[0]) * (arg2[3])) + (((uint64_t)(arg1[1]) * (arg2[2])) + (((uint64_t)(arg1[2]) * (arg2[1])) + ((uint64_t)(arg1[3]) * (arg2[0]))))) + ((uint64_t)x32 << 10))) + ((uint64_t)x38 * UINT16_C(0x3d10))); | |
- x40 = (uint32_t)(x39 >> 26); | |
+ x40 = (x39 >> 26); | |
x41 = (uint32_t)(x39 & UINT32_C(0x3ffffff)); | |
x42 = (x37 + (((uint64_t)(arg1[5]) * (arg2[9])) + (((uint64_t)(arg1[6]) * (arg2[8])) + (((uint64_t)(arg1[7]) * (arg2[7])) + (((uint64_t)(arg1[8]) * (arg2[6])) + ((uint64_t)(arg1[9]) * (arg2[5]))))))); | |
- x43 = (uint32_t)(x42 >> 26); | |
+ x43 = (x42 >> 26); | |
x44 = (uint32_t)(x42 & UINT32_C(0x3ffffff)); | |
x45 = ((x40 + ((((uint64_t)(arg1[0]) * (arg2[4])) + (((uint64_t)(arg1[1]) * (arg2[3])) + (((uint64_t)(arg1[2]) * (arg2[2])) + (((uint64_t)(arg1[3]) * (arg2[1])) + ((uint64_t)(arg1[4]) * (arg2[0])))))) + ((uint64_t)x38 << 10))) + ((uint64_t)x44 * UINT16_C(0x3d10))); | |
- x46 = (uint32_t)(x45 >> 26); | |
+ x46 = (x45 >> 26); | |
x47 = (uint32_t)(x45 & UINT32_C(0x3ffffff)); | |
x48 = (x43 + (((uint64_t)(arg1[6]) * (arg2[9])) + (((uint64_t)(arg1[7]) * (arg2[8])) + (((uint64_t)(arg1[8]) * (arg2[7])) + ((uint64_t)(arg1[9]) * (arg2[6])))))); | |
- x49 = (uint32_t)(x48 >> 26); | |
+ x49 = (x48 >> 26); | |
x50 = (uint32_t)(x48 & UINT32_C(0x3ffffff)); | |
x51 = ((x46 + ((((uint64_t)(arg1[0]) * (arg2[5])) + (((uint64_t)(arg1[1]) * (arg2[4])) + (((uint64_t)(arg1[2]) * (arg2[3])) + (((uint64_t)(arg1[3]) * (arg2[2])) + (((uint64_t)(arg1[4]) * (arg2[1])) + ((uint64_t)(arg1[5]) * (arg2[0]))))))) + ((uint64_t)x44 << 10))) + ((uint64_t)x50 * UINT16_C(0x3d10))); | |
- x52 = (uint32_t)(x51 >> 26); | |
+ x52 = (x51 >> 26); | |
x53 = (uint32_t)(x51 & UINT32_C(0x3ffffff)); | |
x54 = (x49 + (((uint64_t)(arg1[7]) * (arg2[9])) + (((uint64_t)(arg1[8]) * (arg2[8])) + ((uint64_t)(arg1[9]) * (arg2[7]))))); | |
x55 = (uint32_t)(x54 >> 32); | |
x56 = (uint32_t)(x54 & UINT32_C(0xffffffff)); | |
x57 = ((x52 + ((((uint64_t)(arg1[0]) * (arg2[6])) + (((uint64_t)(arg1[1]) * (arg2[5])) + (((uint64_t)(arg1[2]) * (arg2[4])) + (((uint64_t)(arg1[3]) * (arg2[3])) + (((uint64_t)(arg1[4]) * (arg2[2])) + (((uint64_t)(arg1[5]) * (arg2[1])) + ((uint64_t)(arg1[6]) * (arg2[0])))))))) + ((uint64_t)x50 << 10))) + ((uint64_t)x56 * UINT16_C(0x3d10))); | |
- x58 = (uint32_t)(x57 >> 26); | |
+ x58 = (x57 >> 26); | |
x59 = (uint32_t)(x57 & UINT32_C(0x3ffffff)); | |
x60 = ((x58 + (x6 + ((uint64_t)x56 << 10))) + ((uint64_t)x55 * UINT32_C(0xf4400))); | |
x61 = (uint32_t)(x60 >> 26); | |
@@ -188,9 +188,9 @@ static FIAT_SECP256K1_DETTMAN_FIAT_INLINE void fiat_secp256k1_dettman_mul(uint32 | |
* eval out1 mod 115792089237316195423570985008687907853269984665640564039457584007908834671663 = (eval arg1 * eval arg1) mod 115792089237316195423570985008687907853269984665640564039457584007908834671663 | |
* | |
* Input Bounds: | |
- * arg1: [[0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7ffffe]] | |
+ * arg1: [[0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3ffffff0], [0x0 ~> 0x3fffff0]] | |
* Output Bounds: | |
- * out1: [[0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x5fffff]] | |
+ * out1: [[0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7fffffe], [0x0 ~> 0x7ffffe]] | |
*/ | |
static FIAT_SECP256K1_DETTMAN_FIAT_INLINE void fiat_secp256k1_dettman_square(uint32_t out1[10], const uint32_t arg1[10]) { | |
uint32_t x1; | |
@@ -206,60 +206,60 @@ static FIAT_SECP256K1_DETTMAN_FIAT_INLINE void fiat_secp256k1_dettman_square(uin | |
uint32_t x11; | |
uint32_t x12; | |
uint64_t x13; | |
- uint32_t x14; | |
+ uint64_t x14; | |
uint32_t x15; | |
uint64_t x16; | |
uint32_t x17; | |
uint32_t x18; | |
uint64_t x19; | |
- uint32_t x20; | |
+ uint64_t x20; | |
uint32_t x21; | |
uint64_t x22; | |
- uint32_t x23; | |
+ uint64_t x23; | |
uint32_t x24; | |
uint64_t x25; | |
- uint32_t x26; | |
+ uint64_t x26; | |
uint32_t x27; | |
uint32_t x28; | |
uint32_t x29; | |
uint64_t x30; | |
- uint32_t x31; | |
+ uint64_t x31; | |
uint32_t x32; | |
uint64_t x33; | |
- uint32_t x34; | |
+ uint64_t x34; | |
uint32_t x35; | |
uint64_t x36; | |
- uint32_t x37; | |
+ uint64_t x37; | |
uint32_t x38; | |
uint64_t x39; | |
- uint32_t x40; | |
+ uint64_t x40; | |
uint32_t x41; | |
uint64_t x42; | |
- uint32_t x43; | |
+ uint64_t x43; | |
uint32_t x44; | |
uint64_t x45; | |
- uint32_t x46; | |
+ uint64_t x46; | |
uint32_t x47; | |
uint64_t x48; | |
- uint32_t x49; | |
+ uint64_t x49; | |
uint32_t x50; | |
uint64_t x51; | |
- uint32_t x52; | |
+ uint64_t x52; | |
uint32_t x53; | |
uint64_t x54; | |
- uint32_t x55; | |
+ uint64_t x55; | |
uint32_t x56; | |
uint64_t x57; | |
- uint32_t x58; | |
+ uint64_t x58; | |
uint32_t x59; | |
uint64_t x60; | |
- uint32_t x61; | |
+ uint64_t x61; | |
uint32_t x62; | |
uint64_t x63; | |
uint32_t x64; | |
uint32_t x65; | |
uint64_t x66; | |
- uint32_t x67; | |
+ uint64_t x67; | |
uint32_t x68; | |
uint64_t x69; | |
uint32_t x70; | |
@@ -281,60 +281,60 @@ static FIAT_SECP256K1_DETTMAN_FIAT_INLINE void fiat_secp256k1_dettman_square(uin | |
x11 = (uint32_t)(x10 >> 26); | |
x12 = (uint32_t)(x10 & UINT32_C(0x3ffffff)); | |
x13 = ((((uint64_t)x9 * (arg1[7])) + (((uint64_t)x8 * (arg1[6])) + (((uint64_t)x7 * (arg1[5])) + ((uint64_t)x6 * (arg1[4]))))) + ((uint64_t)x12 * UINT16_C(0x3d10))); | |
- x14 = (uint32_t)(x13 >> 26); | |
+ x14 = (x13 >> 26); | |
x15 = (uint32_t)(x13 & UINT32_C(0x3ffffff)); | |
x16 = (x11 + ((uint64_t)(arg1[9]) * (arg1[9]))); | |
x17 = (uint32_t)(x16 >> 32); | |
x18 = (uint32_t)(x16 & UINT32_C(0xffffffff)); | |
x19 = ((x14 + ((((uint64_t)x9 * (arg1[8])) + (((uint64_t)x8 * (arg1[7])) + (((uint64_t)x7 * (arg1[6])) + (((uint64_t)x6 * (arg1[5])) + ((uint64_t)(arg1[4]) * (arg1[4])))))) + ((uint64_t)x12 << 10))) + ((uint64_t)x18 * UINT16_C(0x3d10))); | |
- x20 = (uint32_t)(x19 >> 26); | |
+ x20 = (x19 >> 26); | |
x21 = (uint32_t)(x19 & UINT32_C(0x3ffffff)); | |
x22 = ((x20 + ((((uint64_t)x9 * (arg1[9])) + (((uint64_t)x8 * (arg1[8])) + (((uint64_t)x7 * (arg1[7])) + (((uint64_t)x6 * (arg1[6])) + ((uint64_t)x5 * (arg1[5])))))) + ((uint64_t)x18 << 10))) + ((uint64_t)x17 * UINT32_C(0xf4400))); | |
- x23 = (uint32_t)(x22 >> 26); | |
+ x23 = (x22 >> 26); | |
x24 = (uint32_t)(x22 & UINT32_C(0x3ffffff)); | |
- x25 = (x23 + ((((uint64_t)x8 * (arg1[9])) + (((uint64_t)x7 * (arg1[8])) + (((uint64_t)x6 * (arg1[7])) + (((uint64_t)x5 * (arg1[6])) + ((uint64_t)(arg1[5]) * (arg1[5])))))) + (x17 << 16))); | |
- x26 = (uint32_t)(x25 >> 26); | |
+ x25 = (x23 + ((((uint64_t)x8 * (arg1[9])) + (((uint64_t)x7 * (arg1[8])) + (((uint64_t)x6 * (arg1[7])) + (((uint64_t)x5 * (arg1[6])) + ((uint64_t)(arg1[5]) * (arg1[5])))))) + ((uint64_t)x17 << 16))); | |
+ x26 = (x25 >> 26); | |
x27 = (uint32_t)(x25 & UINT32_C(0x3ffffff)); | |
x28 = (x24 >> 22); | |
x29 = (x24 & UINT32_C(0x3fffff)); | |
x30 = (((uint64_t)(arg1[0]) * (arg1[0])) + ((uint64_t)(x28 + (x27 << 4)) * UINT16_C(0x3d1))); | |
- x31 = (uint32_t)(x30 >> 26); | |
+ x31 = (x30 >> 26); | |
x32 = (uint32_t)(x30 & UINT32_C(0x3ffffff)); | |
x33 = (x26 + (((uint64_t)x7 * (arg1[9])) + (((uint64_t)x6 * (arg1[8])) + (((uint64_t)x5 * (arg1[7])) + ((uint64_t)x4 * (arg1[6])))))); | |
- x34 = (uint32_t)(x33 >> 26); | |
+ x34 = (x33 >> 26); | |
x35 = (uint32_t)(x33 & UINT32_C(0x3ffffff)); | |
x36 = ((x31 + (((uint64_t)x9 * (arg1[1])) + ((uint64_t)(x28 + (x27 << 4)) << 6))) + ((uint64_t)x35 * UINT16_C(0x3d10))); | |
- x37 = (uint32_t)(x36 >> 26); | |
+ x37 = (x36 >> 26); | |
x38 = (uint32_t)(x36 & UINT32_C(0x3ffffff)); | |
x39 = (x34 + (((uint64_t)x6 * (arg1[9])) + (((uint64_t)x5 * (arg1[8])) + (((uint64_t)x4 * (arg1[7])) + ((uint64_t)(arg1[6]) * (arg1[6])))))); | |
- x40 = (uint32_t)(x39 >> 26); | |
+ x40 = (x39 >> 26); | |
x41 = (uint32_t)(x39 & UINT32_C(0x3ffffff)); | |
x42 = ((x37 + ((((uint64_t)x9 * (arg1[2])) + ((uint64_t)(arg1[1]) * (arg1[1]))) + ((uint64_t)x35 << 10))) + ((uint64_t)x41 * UINT16_C(0x3d10))); | |
- x43 = (uint32_t)(x42 >> 26); | |
+ x43 = (x42 >> 26); | |
x44 = (uint32_t)(x42 & UINT32_C(0x3ffffff)); | |
x45 = (x40 + (((uint64_t)x5 * (arg1[9])) + (((uint64_t)x4 * (arg1[8])) + ((uint64_t)x3 * (arg1[7]))))); | |
- x46 = (uint32_t)(x45 >> 26); | |
+ x46 = (x45 >> 26); | |
x47 = (uint32_t)(x45 & UINT32_C(0x3ffffff)); | |
x48 = ((x43 + ((((uint64_t)x9 * (arg1[3])) + ((uint64_t)x8 * (arg1[2]))) + ((uint64_t)x41 << 10))) + ((uint64_t)x47 * UINT16_C(0x3d10))); | |
- x49 = (uint32_t)(x48 >> 26); | |
+ x49 = (x48 >> 26); | |
x50 = (uint32_t)(x48 & UINT32_C(0x3ffffff)); | |
x51 = (x46 + (((uint64_t)x4 * (arg1[9])) + (((uint64_t)x3 * (arg1[8])) + ((uint64_t)(arg1[7]) * (arg1[7]))))); | |
- x52 = (uint32_t)(x51 >> 26); | |
+ x52 = (x51 >> 26); | |
x53 = (uint32_t)(x51 & UINT32_C(0x3ffffff)); | |
x54 = ((x49 + ((((uint64_t)x9 * (arg1[4])) + (((uint64_t)x8 * (arg1[3])) + ((uint64_t)(arg1[2]) * (arg1[2])))) + ((uint64_t)x47 << 10))) + ((uint64_t)x53 * UINT16_C(0x3d10))); | |
- x55 = (uint32_t)(x54 >> 26); | |
+ x55 = (x54 >> 26); | |
x56 = (uint32_t)(x54 & UINT32_C(0x3ffffff)); | |
x57 = (x52 + (((uint64_t)x3 * (arg1[9])) + ((uint64_t)x2 * (arg1[8])))); | |
- x58 = (uint32_t)(x57 >> 26); | |
+ x58 = (x57 >> 26); | |
x59 = (uint32_t)(x57 & UINT32_C(0x3ffffff)); | |
x60 = ((x55 + ((((uint64_t)x9 * (arg1[5])) + (((uint64_t)x8 * (arg1[4])) + ((uint64_t)x7 * (arg1[3])))) + ((uint64_t)x53 << 10))) + ((uint64_t)x59 * UINT16_C(0x3d10))); | |
- x61 = (uint32_t)(x60 >> 26); | |
+ x61 = (x60 >> 26); | |
x62 = (uint32_t)(x60 & UINT32_C(0x3ffffff)); | |
x63 = (x58 + (((uint64_t)x2 * (arg1[9])) + ((uint64_t)(arg1[8]) * (arg1[8])))); | |
x64 = (uint32_t)(x63 >> 32); | |
x65 = (uint32_t)(x63 & UINT32_C(0xffffffff)); | |
x66 = ((x61 + ((((uint64_t)x9 * (arg1[6])) + (((uint64_t)x8 * (arg1[5])) + (((uint64_t)x7 * (arg1[4])) + ((uint64_t)(arg1[3]) * (arg1[3]))))) + ((uint64_t)x59 << 10))) + ((uint64_t)x65 * UINT16_C(0x3d10))); | |
- x67 = (uint32_t)(x66 >> 26); | |
+ x67 = (x66 >> 26); | |
x68 = (uint32_t)(x66 & UINT32_C(0x3ffffff)); | |
x69 = ((x67 + (x15 + ((uint64_t)x65 << 10))) + ((uint64_t)x64 * UINT32_C(0xf4400))); | |
x70 = (uint32_t)(x69 >> 26); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment