diff options
author | Jason Gross <jgross@mit.edu> | 2017-11-13 03:16:02 -0500 |
---|---|---|
committer | Jason Gross <jgross@mit.edu> | 2017-11-13 03:16:02 -0500 |
commit | 5e964c180adc56c76403a6adbf99b51553575490 (patch) | |
tree | fc20b4e17d7908dd0ca2588d72a86ed348f5bc72 /src/Specific/solinas32_2e452m3_17limbs | |
parent | c9f51b5a7cbc46ac8c104bbb2c09a974e9ec72a3 (diff) |
Update display logs and c files
Diffstat (limited to 'src/Specific/solinas32_2e452m3_17limbs')
-rw-r--r-- | src/Specific/solinas32_2e452m3_17limbs/femul.c | 127 | ||||
-rw-r--r-- | src/Specific/solinas32_2e452m3_17limbs/femulDisplay.log | 80 | ||||
-rw-r--r-- | src/Specific/solinas32_2e452m3_17limbs/fesquare.c | 110 | ||||
-rw-r--r-- | src/Specific/solinas32_2e452m3_17limbs/fesquareDisplay.log | 80 |
4 files changed, 397 insertions, 0 deletions
diff --git a/src/Specific/solinas32_2e452m3_17limbs/femul.c b/src/Specific/solinas32_2e452m3_17limbs/femul.c new file mode 100644 index 000000000..a50528090 --- /dev/null +++ b/src/Specific/solinas32_2e452m3_17limbs/femul.c @@ -0,0 +1,127 @@ +static void femul(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) { + { const uint32_t x34 = in1[16]; + { const uint32_t x35 = in1[15]; + { const uint32_t x33 = in1[14]; + { const uint32_t x31 = in1[13]; + { const uint32_t x29 = in1[12]; + { const uint32_t x27 = in1[11]; + { const uint32_t x25 = in1[10]; + { const uint32_t x23 = in1[9]; + { const uint32_t x21 = in1[8]; + { const uint32_t x19 = in1[7]; + { const uint32_t x17 = in1[6]; + { const uint32_t x15 = in1[5]; + { const uint32_t x13 = in1[4]; + { const uint32_t x11 = in1[3]; + { const uint32_t x9 = in1[2]; + { const uint32_t x7 = in1[1]; + { const uint32_t x5 = in1[0]; + { const uint32_t x66 = in2[16]; + { const uint32_t x67 = in2[15]; + { const uint32_t x65 = in2[14]; + { const uint32_t x63 = in2[13]; + { const uint32_t x61 = in2[12]; + { const uint32_t x59 = in2[11]; + { const uint32_t x57 = in2[10]; + { const uint32_t x55 = in2[9]; + { const uint32_t x53 = in2[8]; + { const uint32_t x51 = in2[7]; + { const uint32_t x49 = in2[6]; + { const uint32_t x47 = in2[5]; + { const uint32_t x45 = in2[4]; + { const uint32_t x43 = in2[3]; + { const uint32_t x41 = in2[2]; + { const uint32_t x39 = in2[1]; + { const uint32_t x37 = in2[0]; + { uint64_t x68 = (((uint64_t)x5 * x66) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + (((uint64_t)x35 * x39) + ((uint64_t)x34 * x37))))))))))))))))); + { uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0x3 * (0x2 * ((uint64_t)x34 * x66)))); + { uint64_t x70 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + ((uint64_t)x33 * x37))))))))))))))) + (0x3 * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67)))); + { uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x3 * ((0x2 * ((uint64_t)x33 * x66)) + (((uint64_t)x35 * x67) + (0x2 * ((uint64_t)x34 * x65)))))); + { uint64_t x72 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x29 * x37))))))))))))) + (0x3 * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63)))))); + { uint64_t x73 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + ((uint64_t)x27 * x37)))))))))))) + (0x3 * ((0x2 * ((uint64_t)x29 * x66)) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + (0x2 * ((uint64_t)x34 * x61)))))))); + { uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x3 * ((0x2 * ((uint64_t)x27 * x66)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (0x2 * ((uint64_t)x34 * x59))))))))); + { uint64_t x75 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + ((0x2 * ((uint64_t)x9 * x51)) + (((uint64_t)x11 * x49) + (((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)))))))))) + (0x3 * (((uint64_t)x25 * x66) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + ((uint64_t)x34 * x57))))))))); + { uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x3 * ((0x2 * ((uint64_t)x23 * x66)) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + (0x2 * ((uint64_t)x34 * x55))))))))))); + { uint64_t x77 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + ((uint64_t)x19 * x37)))))))) + (0x3 * (((uint64_t)x21 * x66) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + ((uint64_t)x34 * x53))))))))))); + { uint64_t x78 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37))))))) + (0x3 * ((0x2 * ((uint64_t)x19 * x66)) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + (((uint64_t)x35 * x53) + (0x2 * ((uint64_t)x34 * x51))))))))))))); + { uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x3 * ((0x2 * ((uint64_t)x17 * x66)) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + (0x2 * ((uint64_t)x34 * x49)))))))))))))); + { uint64_t x80 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((uint64_t)x13 * x37))))) + (0x3 * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + ((0x2 * ((uint64_t)x23 * x61)) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + ((0x2 * ((uint64_t)x33 * x51)) + (((uint64_t)x35 * x49) + ((uint64_t)x34 * x47)))))))))))))); + { uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x66)) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + (0x2 * ((uint64_t)x34 * x45)))))))))))))))); + { uint64_t x82 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((uint64_t)x9 * x37))) + (0x3 * (((uint64_t)x11 * x66) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x34 * x43)))))))))))))))); + { uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x3 * ((0x2 * ((uint64_t)x9 * x66)) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (((uint64_t)x35 * x43) + (0x2 * ((uint64_t)x34 * x41)))))))))))))))))); + { uint64_t x84 = (((uint64_t)x5 * x37) + (0x3 * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39))))))))))))))))))); + { uint64_t x85 = (x84 >> 0x1b); + { uint32_t x86 = ((uint32_t)x84 & 0x7ffffff); + { uint64_t x87 = (x85 + x83); + { uint64_t x88 = (x87 >> 0x1b); + { uint32_t x89 = ((uint32_t)x87 & 0x7ffffff); + { uint64_t x90 = (x88 + x82); + { uint64_t x91 = (x90 >> 0x1a); + { uint32_t x92 = ((uint32_t)x90 & 0x3ffffff); + { uint64_t x93 = (x91 + x81); + { uint64_t x94 = (x93 >> 0x1b); + { uint32_t x95 = ((uint32_t)x93 & 0x7ffffff); + { uint64_t x96 = (x94 + x80); + { uint64_t x97 = (x96 >> 0x1a); + { uint32_t x98 = ((uint32_t)x96 & 0x3ffffff); + { uint64_t x99 = (x97 + x79); + { uint64_t x100 = (x99 >> 0x1b); + { uint32_t x101 = ((uint32_t)x99 & 0x7ffffff); + { uint64_t x102 = (x100 + x78); + { uint64_t x103 = (x102 >> 0x1b); + { uint32_t x104 = ((uint32_t)x102 & 0x7ffffff); + { uint64_t x105 = (x103 + x77); + { uint64_t x106 = (x105 >> 0x1a); + { uint32_t x107 = ((uint32_t)x105 & 0x3ffffff); + { uint64_t x108 = (x106 + x76); + { uint64_t x109 = (x108 >> 0x1b); + { uint32_t x110 = ((uint32_t)x108 & 0x7ffffff); + { uint64_t x111 = (x109 + x75); + { uint64_t x112 = (x111 >> 0x1a); + { uint32_t x113 = ((uint32_t)x111 & 0x3ffffff); + { uint64_t x114 = (x112 + x74); + { uint64_t x115 = (x114 >> 0x1b); + { uint32_t x116 = ((uint32_t)x114 & 0x7ffffff); + { uint64_t x117 = (x115 + x73); + { uint64_t x118 = (x117 >> 0x1b); + { uint32_t x119 = ((uint32_t)x117 & 0x7ffffff); + { uint64_t x120 = (x118 + x72); + { uint64_t x121 = (x120 >> 0x1a); + { uint32_t x122 = ((uint32_t)x120 & 0x3ffffff); + { uint64_t x123 = (x121 + x71); + { uint64_t x124 = (x123 >> 0x1b); + { uint32_t x125 = ((uint32_t)x123 & 0x7ffffff); + { uint64_t x126 = (x124 + x70); + { uint64_t x127 = (x126 >> 0x1a); + { uint32_t x128 = ((uint32_t)x126 & 0x3ffffff); + { uint64_t x129 = (x127 + x69); + { uint64_t x130 = (x129 >> 0x1b); + { uint32_t x131 = ((uint32_t)x129 & 0x7ffffff); + { uint64_t x132 = (x130 + x68); + { uint64_t x133 = (x132 >> 0x1a); + { uint32_t x134 = ((uint32_t)x132 & 0x3ffffff); + { uint64_t x135 = (x86 + (0x3 * x133)); + { uint32_t x136 = (uint32_t) (x135 >> 0x1b); + { uint32_t x137 = ((uint32_t)x135 & 0x7ffffff); + { uint32_t x138 = (x136 + x89); + { uint32_t x139 = (x138 >> 0x1b); + { uint32_t x140 = (x138 & 0x7ffffff); + out[0] = x137; + out[1] = x140; + out[2] = (x139 + x92); + out[3] = x95; + out[4] = x98; + out[5] = x101; + out[6] = x104; + out[7] = x107; + out[8] = x110; + out[9] = x113; + out[10] = x116; + out[11] = x119; + out[12] = x122; + out[13] = x125; + out[14] = x128; + out[15] = x131; + out[16] = x134; + }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e452m3_17limbs/femulDisplay.log b/src/Specific/solinas32_2e452m3_17limbs/femulDisplay.log new file mode 100644 index 000000000..1209c60de --- /dev/null +++ b/src/Specific/solinas32_2e452m3_17limbs/femulDisplay.log @@ -0,0 +1,80 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core, + uint64_t x68 = (((uint64_t)x5 * x66) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + (((uint64_t)x35 * x39) + ((uint64_t)x34 * x37))))))))))))))))); + uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0x3 * (0x2 * ((uint64_t)x34 * x66)))); + uint64_t x70 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + ((uint64_t)x33 * x37))))))))))))))) + (0x3 * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67)))); + uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x3 * ((0x2 * ((uint64_t)x33 * x66)) + (((uint64_t)x35 * x67) + (0x2 * ((uint64_t)x34 * x65)))))); + uint64_t x72 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x29 * x37))))))))))))) + (0x3 * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63)))))); + uint64_t x73 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + ((uint64_t)x27 * x37)))))))))))) + (0x3 * ((0x2 * ((uint64_t)x29 * x66)) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + (0x2 * ((uint64_t)x34 * x61)))))))); + uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x3 * ((0x2 * ((uint64_t)x27 * x66)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (0x2 * ((uint64_t)x34 * x59))))))))); + uint64_t x75 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + ((0x2 * ((uint64_t)x9 * x51)) + (((uint64_t)x11 * x49) + (((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)))))))))) + (0x3 * (((uint64_t)x25 * x66) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + ((uint64_t)x34 * x57))))))))); + uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x3 * ((0x2 * ((uint64_t)x23 * x66)) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + (0x2 * ((uint64_t)x34 * x55))))))))))); + uint64_t x77 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + ((uint64_t)x19 * x37)))))))) + (0x3 * (((uint64_t)x21 * x66) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + ((uint64_t)x34 * x53))))))))))); + uint64_t x78 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37))))))) + (0x3 * ((0x2 * ((uint64_t)x19 * x66)) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + (((uint64_t)x35 * x53) + (0x2 * ((uint64_t)x34 * x51))))))))))))); + uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x3 * ((0x2 * ((uint64_t)x17 * x66)) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + (0x2 * ((uint64_t)x34 * x49)))))))))))))); + uint64_t x80 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((uint64_t)x13 * x37))))) + (0x3 * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + ((0x2 * ((uint64_t)x23 * x61)) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + ((0x2 * ((uint64_t)x33 * x51)) + (((uint64_t)x35 * x49) + ((uint64_t)x34 * x47)))))))))))))); + uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x66)) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + (0x2 * ((uint64_t)x34 * x45)))))))))))))))); + uint64_t x82 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((uint64_t)x9 * x37))) + (0x3 * (((uint64_t)x11 * x66) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x34 * x43)))))))))))))))); + uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x3 * ((0x2 * ((uint64_t)x9 * x66)) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (((uint64_t)x35 * x43) + (0x2 * ((uint64_t)x34 * x41)))))))))))))))))); + uint64_t x84 = (((uint64_t)x5 * x37) + (0x3 * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39))))))))))))))))))); + uint64_t x85 = (x84 >> 0x1b); + uint32_t x86 = ((uint32_t)x84 & 0x7ffffff); + uint64_t x87 = (x85 + x83); + uint64_t x88 = (x87 >> 0x1b); + uint32_t x89 = ((uint32_t)x87 & 0x7ffffff); + uint64_t x90 = (x88 + x82); + uint64_t x91 = (x90 >> 0x1a); + uint32_t x92 = ((uint32_t)x90 & 0x3ffffff); + uint64_t x93 = (x91 + x81); + uint64_t x94 = (x93 >> 0x1b); + uint32_t x95 = ((uint32_t)x93 & 0x7ffffff); + uint64_t x96 = (x94 + x80); + uint64_t x97 = (x96 >> 0x1a); + uint32_t x98 = ((uint32_t)x96 & 0x3ffffff); + uint64_t x99 = (x97 + x79); + uint64_t x100 = (x99 >> 0x1b); + uint32_t x101 = ((uint32_t)x99 & 0x7ffffff); + uint64_t x102 = (x100 + x78); + uint64_t x103 = (x102 >> 0x1b); + uint32_t x104 = ((uint32_t)x102 & 0x7ffffff); + uint64_t x105 = (x103 + x77); + uint64_t x106 = (x105 >> 0x1a); + uint32_t x107 = ((uint32_t)x105 & 0x3ffffff); + uint64_t x108 = (x106 + x76); + uint64_t x109 = (x108 >> 0x1b); + uint32_t x110 = ((uint32_t)x108 & 0x7ffffff); + uint64_t x111 = (x109 + x75); + uint64_t x112 = (x111 >> 0x1a); + uint32_t x113 = ((uint32_t)x111 & 0x3ffffff); + uint64_t x114 = (x112 + x74); + uint64_t x115 = (x114 >> 0x1b); + uint32_t x116 = ((uint32_t)x114 & 0x7ffffff); + uint64_t x117 = (x115 + x73); + uint64_t x118 = (x117 >> 0x1b); + uint32_t x119 = ((uint32_t)x117 & 0x7ffffff); + uint64_t x120 = (x118 + x72); + uint64_t x121 = (x120 >> 0x1a); + uint32_t x122 = ((uint32_t)x120 & 0x3ffffff); + uint64_t x123 = (x121 + x71); + uint64_t x124 = (x123 >> 0x1b); + uint32_t x125 = ((uint32_t)x123 & 0x7ffffff); + uint64_t x126 = (x124 + x70); + uint64_t x127 = (x126 >> 0x1a); + uint32_t x128 = ((uint32_t)x126 & 0x3ffffff); + uint64_t x129 = (x127 + x69); + uint64_t x130 = (x129 >> 0x1b); + uint32_t x131 = ((uint32_t)x129 & 0x7ffffff); + uint64_t x132 = (x130 + x68); + uint64_t x133 = (x132 >> 0x1a); + uint32_t x134 = ((uint32_t)x132 & 0x3ffffff); + uint64_t x135 = (x86 + (0x3 * x133)); + uint32_t x136 = (uint32_t) (x135 >> 0x1b); + uint32_t x137 = ((uint32_t)x135 & 0x7ffffff); + uint32_t x138 = (x136 + x89); + uint32_t x139 = (x138 >> 0x1b); + uint32_t x140 = (x138 & 0x7ffffff); + return (Return x134, Return x131, Return x128, Return x125, Return x122, Return x119, Return x116, Return x113, Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, (x139 + x92), Return x140, Return x137)) +(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) diff --git a/src/Specific/solinas32_2e452m3_17limbs/fesquare.c b/src/Specific/solinas32_2e452m3_17limbs/fesquare.c new file mode 100644 index 000000000..f37b13343 --- /dev/null +++ b/src/Specific/solinas32_2e452m3_17limbs/fesquare.c @@ -0,0 +1,110 @@ +static void fesquare(uint32_t out[17], const uint32_t in1[17]) { + { const uint32_t x31 = in1[16]; + { const uint32_t x32 = in1[15]; + { const uint32_t x30 = in1[14]; + { const uint32_t x28 = in1[13]; + { const uint32_t x26 = in1[12]; + { const uint32_t x24 = in1[11]; + { const uint32_t x22 = in1[10]; + { const uint32_t x20 = in1[9]; + { const uint32_t x18 = in1[8]; + { const uint32_t x16 = in1[7]; + { const uint32_t x14 = in1[6]; + { const uint32_t x12 = in1[5]; + { const uint32_t x10 = in1[4]; + { const uint32_t x8 = in1[3]; + { const uint32_t x6 = in1[2]; + { const uint32_t x4 = in1[1]; + { const uint32_t x2 = in1[0]; + { uint64_t x33 = (((uint64_t)x2 * x31) + (((uint64_t)x4 * x32) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + (((uint64_t)x32 * x4) + ((uint64_t)x31 * x2))))))))))))))))); + { uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x3 * (0x2 * ((uint64_t)x31 * x31)))); + { uint64_t x35 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + (((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)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x3 * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32)))); + { uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x3 * ((0x2 * ((uint64_t)x30 * x31)) + (((uint64_t)x32 * x32) + (0x2 * ((uint64_t)x31 * x30)))))); + { uint64_t x37 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((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)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x3 * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28)))))); + { uint64_t x38 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x3 * ((0x2 * ((uint64_t)x26 * x31)) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (0x2 * ((uint64_t)x31 * x26)))))))); + { uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((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)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x3 * ((0x2 * ((uint64_t)x24 * x31)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + (0x2 * ((uint64_t)x31 * x24))))))))); + { uint64_t x40 = ((((uint64_t)x2 * x20) + (((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)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x3 * (((uint64_t)x22 * x31) + (((uint64_t)x24 * x32) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (((uint64_t)x32 * x24) + ((uint64_t)x31 * x22))))))))); + { uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x3 * ((0x2 * ((uint64_t)x20 * x31)) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + (0x2 * ((uint64_t)x31 * x20))))))))))); + { uint64_t x42 = ((((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)))))))) + (0x3 * (((uint64_t)x18 * x31) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + ((uint64_t)x31 * x18))))))))))); + { uint64_t x43 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x3 * ((0x2 * ((uint64_t)x16 * x31)) + (((uint64_t)x18 * x32) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + (((uint64_t)x32 * x18) + (0x2 * ((uint64_t)x31 * x16))))))))))))); + { uint64_t x44 = ((((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)))))) + (0x3 * ((0x2 * ((uint64_t)x14 * x31)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + (0x2 * ((uint64_t)x31 * x14)))))))))))))); + { uint64_t x45 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12)))))))))))))); + { uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x31)) + (((uint64_t)x12 * x32) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (((uint64_t)x32 * x12) + (0x2 * ((uint64_t)x31 * x10)))))))))))))))); + { uint64_t x47 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x31) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((uint64_t)x31 * x8)))))))))))))))); + { uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x31)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + (0x2 * ((uint64_t)x31 * x6)))))))))))))))))); + { uint64_t x49 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4))))))))))))))))))); + { uint64_t x50 = (x49 >> 0x1b); + { uint32_t x51 = ((uint32_t)x49 & 0x7ffffff); + { uint64_t x52 = (x50 + x48); + { uint64_t x53 = (x52 >> 0x1b); + { uint32_t x54 = ((uint32_t)x52 & 0x7ffffff); + { uint64_t x55 = (x53 + x47); + { uint64_t x56 = (x55 >> 0x1a); + { uint32_t x57 = ((uint32_t)x55 & 0x3ffffff); + { uint64_t x58 = (x56 + x46); + { uint64_t x59 = (x58 >> 0x1b); + { uint32_t x60 = ((uint32_t)x58 & 0x7ffffff); + { uint64_t x61 = (x59 + x45); + { uint64_t x62 = (x61 >> 0x1a); + { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff); + { uint64_t x64 = (x62 + x44); + { uint64_t x65 = (x64 >> 0x1b); + { uint32_t x66 = ((uint32_t)x64 & 0x7ffffff); + { uint64_t x67 = (x65 + x43); + { uint64_t x68 = (x67 >> 0x1b); + { uint32_t x69 = ((uint32_t)x67 & 0x7ffffff); + { uint64_t x70 = (x68 + x42); + { uint64_t x71 = (x70 >> 0x1a); + { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff); + { uint64_t x73 = (x71 + x41); + { uint64_t x74 = (x73 >> 0x1b); + { uint32_t x75 = ((uint32_t)x73 & 0x7ffffff); + { uint64_t x76 = (x74 + x40); + { uint64_t x77 = (x76 >> 0x1a); + { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff); + { uint64_t x79 = (x77 + x39); + { uint64_t x80 = (x79 >> 0x1b); + { uint32_t x81 = ((uint32_t)x79 & 0x7ffffff); + { uint64_t x82 = (x80 + x38); + { uint64_t x83 = (x82 >> 0x1b); + { uint32_t x84 = ((uint32_t)x82 & 0x7ffffff); + { uint64_t x85 = (x83 + x37); + { uint64_t x86 = (x85 >> 0x1a); + { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff); + { uint64_t x88 = (x86 + x36); + { uint64_t x89 = (x88 >> 0x1b); + { uint32_t x90 = ((uint32_t)x88 & 0x7ffffff); + { uint64_t x91 = (x89 + x35); + { uint64_t x92 = (x91 >> 0x1a); + { uint32_t x93 = ((uint32_t)x91 & 0x3ffffff); + { uint64_t x94 = (x92 + x34); + { uint64_t x95 = (x94 >> 0x1b); + { uint32_t x96 = ((uint32_t)x94 & 0x7ffffff); + { uint64_t x97 = (x95 + x33); + { uint64_t x98 = (x97 >> 0x1a); + { uint32_t x99 = ((uint32_t)x97 & 0x3ffffff); + { uint64_t x100 = (x51 + (0x3 * x98)); + { uint32_t x101 = (uint32_t) (x100 >> 0x1b); + { uint32_t x102 = ((uint32_t)x100 & 0x7ffffff); + { uint32_t x103 = (x101 + x54); + { uint32_t x104 = (x103 >> 0x1b); + { uint32_t x105 = (x103 & 0x7ffffff); + out[0] = x102; + out[1] = x105; + out[2] = (x104 + x57); + out[3] = x60; + out[4] = x63; + out[5] = x66; + out[6] = x69; + out[7] = x72; + out[8] = x75; + out[9] = x78; + out[10] = x81; + out[11] = x84; + out[12] = x87; + out[13] = x90; + out[14] = x93; + out[15] = x96; + out[16] = x99; + }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e452m3_17limbs/fesquareDisplay.log b/src/Specific/solinas32_2e452m3_17limbs/fesquareDisplay.log new file mode 100644 index 000000000..f71baf7a9 --- /dev/null +++ b/src/Specific/solinas32_2e452m3_17limbs/fesquareDisplay.log @@ -0,0 +1,80 @@ +λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core, + uint64_t x33 = (((uint64_t)x2 * x31) + (((uint64_t)x4 * x32) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + (((uint64_t)x32 * x4) + ((uint64_t)x31 * x2))))))))))))))))); + uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x3 * (0x2 * ((uint64_t)x31 * x31)))); + uint64_t x35 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + (((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)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x3 * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32)))); + uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x3 * ((0x2 * ((uint64_t)x30 * x31)) + (((uint64_t)x32 * x32) + (0x2 * ((uint64_t)x31 * x30)))))); + uint64_t x37 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((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)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x3 * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28)))))); + uint64_t x38 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x3 * ((0x2 * ((uint64_t)x26 * x31)) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (0x2 * ((uint64_t)x31 * x26)))))))); + uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((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)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x3 * ((0x2 * ((uint64_t)x24 * x31)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + (0x2 * ((uint64_t)x31 * x24))))))))); + uint64_t x40 = ((((uint64_t)x2 * x20) + (((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)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x3 * (((uint64_t)x22 * x31) + (((uint64_t)x24 * x32) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (((uint64_t)x32 * x24) + ((uint64_t)x31 * x22))))))))); + uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x3 * ((0x2 * ((uint64_t)x20 * x31)) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + (0x2 * ((uint64_t)x31 * x20))))))))))); + uint64_t x42 = ((((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)))))))) + (0x3 * (((uint64_t)x18 * x31) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + ((uint64_t)x31 * x18))))))))))); + uint64_t x43 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x3 * ((0x2 * ((uint64_t)x16 * x31)) + (((uint64_t)x18 * x32) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + (((uint64_t)x32 * x18) + (0x2 * ((uint64_t)x31 * x16))))))))))))); + uint64_t x44 = ((((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)))))) + (0x3 * ((0x2 * ((uint64_t)x14 * x31)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + (0x2 * ((uint64_t)x31 * x14)))))))))))))); + uint64_t x45 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12)))))))))))))); + uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x31)) + (((uint64_t)x12 * x32) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (((uint64_t)x32 * x12) + (0x2 * ((uint64_t)x31 * x10)))))))))))))))); + uint64_t x47 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x31) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((uint64_t)x31 * x8)))))))))))))))); + uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x31)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + (0x2 * ((uint64_t)x31 * x6)))))))))))))))))); + uint64_t x49 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4))))))))))))))))))); + uint64_t x50 = (x49 >> 0x1b); + uint32_t x51 = ((uint32_t)x49 & 0x7ffffff); + uint64_t x52 = (x50 + x48); + uint64_t x53 = (x52 >> 0x1b); + uint32_t x54 = ((uint32_t)x52 & 0x7ffffff); + uint64_t x55 = (x53 + x47); + uint64_t x56 = (x55 >> 0x1a); + uint32_t x57 = ((uint32_t)x55 & 0x3ffffff); + uint64_t x58 = (x56 + x46); + uint64_t x59 = (x58 >> 0x1b); + uint32_t x60 = ((uint32_t)x58 & 0x7ffffff); + uint64_t x61 = (x59 + x45); + uint64_t x62 = (x61 >> 0x1a); + uint32_t x63 = ((uint32_t)x61 & 0x3ffffff); + uint64_t x64 = (x62 + x44); + uint64_t x65 = (x64 >> 0x1b); + uint32_t x66 = ((uint32_t)x64 & 0x7ffffff); + uint64_t x67 = (x65 + x43); + uint64_t x68 = (x67 >> 0x1b); + uint32_t x69 = ((uint32_t)x67 & 0x7ffffff); + uint64_t x70 = (x68 + x42); + uint64_t x71 = (x70 >> 0x1a); + uint32_t x72 = ((uint32_t)x70 & 0x3ffffff); + uint64_t x73 = (x71 + x41); + uint64_t x74 = (x73 >> 0x1b); + uint32_t x75 = ((uint32_t)x73 & 0x7ffffff); + uint64_t x76 = (x74 + x40); + uint64_t x77 = (x76 >> 0x1a); + uint32_t x78 = ((uint32_t)x76 & 0x3ffffff); + uint64_t x79 = (x77 + x39); + uint64_t x80 = (x79 >> 0x1b); + uint32_t x81 = ((uint32_t)x79 & 0x7ffffff); + uint64_t x82 = (x80 + x38); + uint64_t x83 = (x82 >> 0x1b); + uint32_t x84 = ((uint32_t)x82 & 0x7ffffff); + uint64_t x85 = (x83 + x37); + uint64_t x86 = (x85 >> 0x1a); + uint32_t x87 = ((uint32_t)x85 & 0x3ffffff); + uint64_t x88 = (x86 + x36); + uint64_t x89 = (x88 >> 0x1b); + uint32_t x90 = ((uint32_t)x88 & 0x7ffffff); + uint64_t x91 = (x89 + x35); + uint64_t x92 = (x91 >> 0x1a); + uint32_t x93 = ((uint32_t)x91 & 0x3ffffff); + uint64_t x94 = (x92 + x34); + uint64_t x95 = (x94 >> 0x1b); + uint32_t x96 = ((uint32_t)x94 & 0x7ffffff); + uint64_t x97 = (x95 + x33); + uint64_t x98 = (x97 >> 0x1a); + uint32_t x99 = ((uint32_t)x97 & 0x3ffffff); + uint64_t x100 = (x51 + (0x3 * x98)); + uint32_t x101 = (uint32_t) (x100 >> 0x1b); + uint32_t x102 = ((uint32_t)x100 & 0x7ffffff); + uint32_t x103 = (x101 + x54); + uint32_t x104 = (x103 >> 0x1b); + uint32_t x105 = (x103 & 0x7ffffff); + return (Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x104 + x57), Return x105, Return x102)) +x + : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t) |