// Code generated by Fiat Cryptography. DO NOT EDIT. // // Autogenerated: word_by_word_montgomery --lang Go --no-wide-int --cmovznz-by-mul --relax-primitive-carry-to-bitwidth 32,64 --internal-static --public-function-case camelCase --public-type-case camelCase --private-function-case camelCase --private-type-case camelCase --doc-text-before-function-name '' --doc-newline-before-package-declaration --doc-prepend-header 'Code generated by Fiat Cryptography. DO NOT EDIT.' --package-name fiat --no-prefix-fiat p521 64 '2^521 - 1' mul square add sub one from_montgomery to_montgomery selectznz to_bytes from_bytes // // curve description: p521 // // machine_wordsize = 64 (from "64") // // requested operations: mul, square, add, sub, one, from_montgomery, to_montgomery, selectznz, to_bytes, from_bytes // // m = 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff (from "2^521 - 1") // // // // NOTE: In addition to the bounds specified above each function, all // // functions synthesized for this Montgomery arithmetic require the // // input to be strictly less than the prime modulus (m), and also // // require the input to be in the unique saturated representation. // // All functions also ensure that these two properties are true of // // return values. // // // // Computed values: // // eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) + (z[4] << 256) + (z[5] << 0x140) + (z[6] << 0x180) + (z[7] << 0x1c0) + (z[8] << 2^9) // // bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) + (z[28] << 224) + (z[29] << 232) + (z[30] << 240) + (z[31] << 248) + (z[32] << 256) + (z[33] << 0x108) + (z[34] << 0x110) + (z[35] << 0x118) + (z[36] << 0x120) + (z[37] << 0x128) + (z[38] << 0x130) + (z[39] << 0x138) + (z[40] << 0x140) + (z[41] << 0x148) + (z[42] << 0x150) + (z[43] << 0x158) + (z[44] << 0x160) + (z[45] << 0x168) + (z[46] << 0x170) + (z[47] << 0x178) + (z[48] << 0x180) + (z[49] << 0x188) + (z[50] << 0x190) + (z[51] << 0x198) + (z[52] << 0x1a0) + (z[53] << 0x1a8) + (z[54] << 0x1b0) + (z[55] << 0x1b8) + (z[56] << 0x1c0) + (z[57] << 0x1c8) + (z[58] << 0x1d0) + (z[59] << 0x1d8) + (z[60] << 0x1e0) + (z[61] << 0x1e8) + (z[62] << 0x1f0) + (z[63] << 0x1f8) + (z[64] << 2^9) + (z[65] << 0x208) // // twos_complement_eval z = let x1 := z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) + (z[4] << 256) + (z[5] << 0x140) + (z[6] << 0x180) + (z[7] << 0x1c0) + (z[8] << 2^9) in // // if x1 & (2^576-1) < 2^575 then x1 & (2^576-1) else (x1 & (2^576-1)) - 2^576 package fiat import "math/bits" type p521Uint1 uint64 // We use uint64 instead of a more narrow type for performance reasons; see https://github.com/mit-plv/fiat-crypto/pull/1006#issuecomment-892625927 type p521Int1 int64 // We use uint64 instead of a more narrow type for performance reasons; see https://github.com/mit-plv/fiat-crypto/pull/1006#issuecomment-892625927 // The type p521MontgomeryDomainFieldElement is a field element in the Montgomery domain. // // Bounds: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] type p521MontgomeryDomainFieldElement [9]uint64 // The type p521NonMontgomeryDomainFieldElement is a field element NOT in the Montgomery domain. // // Bounds: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] type p521NonMontgomeryDomainFieldElement [9]uint64 // p521CmovznzU64 is a single-word conditional move. // // Postconditions: // out1 = (if arg1 = 0 then arg2 else arg3) // // Input Bounds: // arg1: [0x0 ~> 0x1] // arg2: [0x0 ~> 0xffffffffffffffff] // arg3: [0x0 ~> 0xffffffffffffffff] // Output Bounds: // out1: [0x0 ~> 0xffffffffffffffff] func p521CmovznzU64(out1 *uint64, arg1 p521Uint1, arg2 uint64, arg3 uint64) { x1 := (uint64(arg1) * 0xffffffffffffffff) x2 := ((x1 & arg3) | ((^x1) & arg2)) *out1 = x2 } // p521Mul multiplies two field elements in the Montgomery domain. // // Preconditions: // 0 ≤ eval arg1 < m // 0 ≤ eval arg2 < m // Postconditions: // eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m // 0 ≤ eval out1 < m // func p521Mul(out1 *p521MontgomeryDomainFieldElement, arg1 *p521MontgomeryDomainFieldElement, arg2 *p521MontgomeryDomainFieldElement) { x1 := arg1[1] x2 := arg1[2] x3 := arg1[3] x4 := arg1[4] x5 := arg1[5] x6 := arg1[6] x7 := arg1[7] x8 := arg1[8] x9 := arg1[0] var x10 uint64 var x11 uint64 x11, x10 = bits.Mul64(x9, arg2[8]) var x12 uint64 var x13 uint64 x13, x12 = bits.Mul64(x9, arg2[7]) var x14 uint64 var x15 uint64 x15, x14 = bits.Mul64(x9, arg2[6]) var x16 uint64 var x17 uint64 x17, x16 = bits.Mul64(x9, arg2[5]) var x18 uint64 var x19 uint64 x19, x18 = bits.Mul64(x9, arg2[4]) var x20 uint64 var x21 uint64 x21, x20 = bits.Mul64(x9, arg2[3]) var x22 uint64 var x23 uint64 x23, x22 = bits.Mul64(x9, arg2[2]) var x24 uint64 var x25 uint64 x25, x24 = bits.Mul64(x9, arg2[1]) var x26 uint64 var x27 uint64 x27, x26 = bits.Mul64(x9, arg2[0]) var x28 uint64 var x29 uint64 x28, x29 = bits.Add64(x27, x24, uint64(0x0)) var x30 uint64 var x31 uint64 x30, x31 = bits.Add64(x25, x22, uint64(p521Uint1(x29))) var x32 uint64 var x33 uint64 x32, x33 = bits.Add64(x23, x20, uint64(p521Uint1(x31))) var x34 uint64 var x35 uint64 x34, x35 = bits.Add64(x21, x18, uint64(p521Uint1(x33))) var x36 uint64 var x37 uint64 x36, x37 = bits.Add64(x19, x16, uint64(p521Uint1(x35))) var x38 uint64 var x39 uint64 x38, x39 = bits.Add64(x17, x14, uint64(p521Uint1(x37))) var x40 uint64 var x41 uint64 x40, x41 = bits.Add64(x15, x12, uint64(p521Uint1(x39))) var x42 uint64 var x43 uint64 x42, x43 = bits.Add64(x13, x10, uint64(p521Uint1(x41))) x44 := (uint64(p521Uint1(x43)) + x11) var x45 uint64 var x46 uint64 x46, x45 = bits.Mul64(x26, 0x1ff) var x47 uint64 var x48 uint64 x48, x47 = bits.Mul64(x26, 0xffffffffffffffff) var x49 uint64 var x50 uint64 x50, x49 = bits.Mul64(x26, 0xffffffffffffffff) var x51 uint64 var x52 uint64 x52, x51 = bits.Mul64(x26, 0xffffffffffffffff) var x53 uint64 var x54 uint64 x54, x53 = bits.Mul64(x26, 0xffffffffffffffff) var x55 uint64 var x56 uint64 x56, x55 = bits.Mul64(x26, 0xffffffffffffffff) var x57 uint64 var x58 uint64 x58, x57 = bits.Mul64(x26, 0xffffffffffffffff) var x59 uint64 var x60 uint64 x60, x59 = bits.Mul64(x26, 0xffffffffffffffff) var x61 uint64 var x62 uint64 x62, x61 = bits.Mul64(x26, 0xffffffffffffffff) var x63 uint64 var x64 uint64 x63, x64 = bits.Add64(x62, x59, uint64(0x0)) var x65 uint64 var x66 uint64 x65, x66 = bits.Add64(x60, x57, uint64(p521Uint1(x64))) var x67 uint64 var x68 uint64 x67, x68 = bits.Add64(x58, x55, uint64(p521Uint1(x66))) var x69 uint64 var x70 uint64 x69, x70 = bits.Add64(x56, x53, uint64(p521Uint1(x68))) var x71 uint64 var x72 uint64 x71, x72 = bits.Add64(x54, x51, uint64(p521Uint1(x70))) var x73 uint64 var x74 uint64 x73, x74 = bits.Add64(x52, x49, uint64(p521Uint1(x72))) var x75 uint64 var x76 uint64 x75, x76 = bits.Add64(x50, x47, uint64(p521Uint1(x74))) var x77 uint64 var x78 uint64 x77, x78 = bits.Add64(x48, x45, uint64(p521Uint1(x76))) x79 := (uint64(p521Uint1(x78)) + x46) var x81 uint64 _, x81 = bits.Add64(x26, x61, uint64(0x0)) var x82 uint64 var x83 uint64 x82, x83 = bits.Add64(x28, x63, uint64(p521Uint1(x81))) var x84 uint64 var x85 uint64 x84, x85 = bits.Add64(x30, x65, uint64(p521Uint1(x83))) var x86 uint64 var x87 uint64 x86, x87 = bits.Add64(x32, x67, uint64(p521Uint1(x85))) var x88 uint64 var x89 uint64 x88, x89 = bits.Add64(x34, x69, uint64(p521Uint1(x87))) var x90 uint64 var x91 uint64 x90, x91 = bits.Add64(x36, x71, uint64(p521Uint1(x89))) var x92 uint64 var x93 uint64 x92, x93 = bits.Add64(x38, x73, uint64(p521Uint1(x91))) var x94 uint64 var x95 uint64 x94, x95 = bits.Add64(x40, x75, uint64(p521Uint1(x93))) var x96 uint64 var x97 uint64 x96, x97 = bits.Add64(x42, x77, uint64(p521Uint1(x95))) var x98 uint64 var x99 uint64 x98, x99 = bits.Add64(x44, x79, uint64(p521Uint1(x97))) var x100 uint64 var x101 uint64 x101, x100 = bits.Mul64(x1, arg2[8]) var x102 uint64 var x103 uint64 x103, x102 = bits.Mul64(x1, arg2[7]) var x104 uint64 var x105 uint64 x105, x104 = bits.Mul64(x1, arg2[6]) var x106 uint64 var x107 uint64 x107, x106 = bits.Mul64(x1, arg2[5]) var x108 uint64 var x109 uint64 x109, x108 = bits.Mul64(x1, arg2[4]) var x110 uint64 var x111 uint64 x111, x110 = bits.Mul64(x1, arg2[3]) var x112 uint64 var x113 uint64 x113, x112 = bits.Mul64(x1, arg2[2]) var x114 uint64 var x115 uint64 x115, x114 = bits.Mul64(x1, arg2[1]) var x116 uint64 var x117 uint64 x117, x116 = bits.Mul64(x1, arg2[0]) var x118 uint64 var x119 uint64 x118, x119 = bits.Add64(x117, x114, uint64(0x0)) var x120 uint64 var x121 uint64 x120, x121 = bits.Add64(x115, x112, uint64(p521Uint1(x119))) var x122 uint64 var x123 uint64 x122, x123 = bits.Add64(x113, x110, uint64(p521Uint1(x121))) var x124 uint64 var x125 uint64 x124, x125 = bits.Add64(x111, x108, uint64(p521Uint1(x123))) var x126 uint64 var x127 uint64 x126, x127 = bits.Add64(x109, x106, uint64(p521Uint1(x125))) var x128 uint64 var x129 uint64 x128, x129 = bits.Add64(x107, x104, uint64(p521Uint1(x127))) var x130 uint64 var x131 uint64 x130, x131 = bits.Add64(x105, x102, uint64(p521Uint1(x129))) var x132 uint64 var x133 uint64 x132, x133 = bits.Add64(x103, x100, uint64(p521Uint1(x131))) x134 := (uint64(p521Uint1(x133)) + x101) var x135 uint64 var x136 uint64 x135, x136 = bits.Add64(x82, x116, uint64(0x0)) var x137 uint64 var x138 uint64 x137, x138 = bits.Add64(x84, x118, uint64(p521Uint1(x136))) var x139 uint64 var x140 uint64 x139, x140 = bits.Add64(x86, x120, uint64(p521Uint1(x138))) var x141 uint64 var x142 uint64 x141, x142 = bits.Add64(x88, x122, uint64(p521Uint1(x140))) var x143 uint64 var x144 uint64 x143, x144 = bits.Add64(x90, x124, uint64(p521Uint1(x142))) var x145 uint64 var x146 uint64 x145, x146 = bits.Add64(x92, x126, uint64(p521Uint1(x144))) var x147 uint64 var x148 uint64 x147, x148 = bits.Add64(x94, x128, uint64(p521Uint1(x146))) var x149 uint64 var x150 uint64 x149, x150 = bits.Add64(x96, x130, uint64(p521Uint1(x148))) var x151 uint64 var x152 uint64 x151, x152 = bits.Add64(x98, x132, uint64(p521Uint1(x150))) var x153 uint64 var x154 uint64 x153, x154 = bits.Add64(uint64(p521Uint1(x99)), x134, uint64(p521Uint1(x152))) var x155 uint64 var x156 uint64 x156, x155 = bits.Mul64(x135, 0x1ff) var x157 uint64 var x158 uint64 x158, x157 = bits.Mul64(x135, 0xffffffffffffffff) var x159 uint64 var x160 uint64 x160, x159 = bits.Mul64(x135, 0xffffffffffffffff) var x161 uint64 var x162 uint64 x162, x161 = bits.Mul64(x135, 0xffffffffffffffff) var x163 uint64 var x164 uint64 x164, x163 = bits.Mul64(x135, 0xffffffffffffffff) var x165 uint64 var x166 uint64 x166, x165 = bits.Mul64(x135, 0xffffffffffffffff) var x167 uint64 var x168 uint64 x168, x167 = bits.Mul64(x135, 0xffffffffffffffff) var x169 uint64 var x170 uint64 x170, x169 = bits.Mul64(x135, 0xffffffffffffffff) var x171 uint64 var x172 uint64 x172, x171 = bits.Mul64(x135, 0xffffffffffffffff) var x173 uint64 var x174 uint64 x173, x174 = bits.Add64(x172, x169, uint64(0x0)) var x175 uint64 var x176 uint64 x175, x176 = bits.Add64(x170, x167, uint64(p521Uint1(x174))) var x177 uint64 var x178 uint64 x177, x178 = bits.Add64(x168, x165, uint64(p521Uint1(x176))) var x179 uint64 var x180 uint64 x179, x180 = bits.Add64(x166, x163, uint64(p521Uint1(x178))) var x181 uint64 var x182 uint64 x181, x182 = bits.Add64(x164, x161, uint64(p521Uint1(x180))) var x183 uint64 var x184 uint64 x183, x184 = bits.Add64(x162, x159, uint64(p521Uint1(x182))) var x185 uint64 var x186 uint64 x185, x186 = bits.Add64(x160, x157, uint64(p521Uint1(x184))) var x187 uint64 var x188 uint64 x187, x188 = bits.Add64(x158, x155, uint64(p521Uint1(x186))) x189 := (uint64(p521Uint1(x188)) + x156) var x191 uint64 _, x191 = bits.Add64(x135, x171, uint64(0x0)) var x192 uint64 var x193 uint64 x192, x193 = bits.Add64(x137, x173, uint64(p521Uint1(x191))) var x194 uint64 var x195 uint64 x194, x195 = bits.Add64(x139, x175, uint64(p521Uint1(x193))) var x196 uint64 var x197 uint64 x196, x197 = bits.Add64(x141, x177, uint64(p521Uint1(x195))) var x198 uint64 var x199 uint64 x198, x199 = bits.Add64(x143, x179, uint64(p521Uint1(x197))) var x200 uint64 var x201 uint64 x200, x201 = bits.Add64(x145, x181, uint64(p521Uint1(x199))) var x202 uint64 var x203 uint64 x202, x203 = bits.Add64(x147, x183, uint64(p521Uint1(x201))) var x204 uint64 var x205 uint64 x204, x205 = bits.Add64(x149, x185, uint64(p521Uint1(x203))) var x206 uint64 var x207 uint64 x206, x207 = bits.Add64(x151, x187, uint64(p521Uint1(x205))) var x208 uint64 var x209 uint64 x208, x209 = bits.Add64(x153, x189, uint64(p521Uint1(x207))) x210 := (uint64(p521Uint1(x209)) + uint64(p521Uint1(x154))) var x211 uint64 var x212 uint64 x212, x211 = bits.Mul64(x2, arg2[8]) var x213 uint64 var x214 uint64 x214, x213 = bits.Mul64(x2, arg2[7]) var x215 uint64 var x216 uint64 x216, x215 = bits.Mul64(x2, arg2[6]) var x217 uint64 var x218 uint64 x218, x217 = bits.Mul64(x2, arg2[5]) var x219 uint64 var x220 uint64 x220, x219 = bits.Mul64(x2, arg2[4]) var x221 uint64 var x222 uint64 x222, x221 = bits.Mul64(x2, arg2[3]) var x223 uint64 var x224 uint64 x224, x223 = bits.Mul64(x2, arg2[2]) var x225 uint64 var x226 uint64 x226, x225 = bits.Mul64(x2, arg2[1]) var x227 uint64 var x228 uint64 x228, x227 = bits.Mul64(x2, arg2[0]) var x229 uint64 var x230 uint64 x229, x230 = bits.Add64(x228, x225, uint64(0x0)) var x231 uint64 var x232 uint64 x231, x232 = bits.Add64(x226, x223, uint64(p521Uint1(x230))) var x233 uint64 var x234 uint64 x233, x234 = bits.Add64(x224, x221, uint64(p521Uint1(x232))) var x235 uint64 var x236 uint64 x235, x236 = bits.Add64(x222, x219, uint64(p521Uint1(x234))) var x237 uint64 var x238 uint64 x237, x238 = bits.Add64(x220, x217, uint64(p521Uint1(x236))) var x239 uint64 var x240 uint64 x239, x240 = bits.Add64(x218, x215, uint64(p521Uint1(x238))) var x241 uint64 var x242 uint64 x241, x242 = bits.Add64(x216, x213, uint64(p521Uint1(x240))) var x243 uint64 var x244 uint64 x243, x244 = bits.Add64(x214, x211, uint64(p521Uint1(x242))) x245 := (uint64(p521Uint1(x244)) + x212) var x246 uint64 var x247 uint64 x246, x247 = bits.Add64(x192, x227, uint64(0x0)) var x248 uint64 var x249 uint64 x248, x249 = bits.Add64(x194, x229, uint64(p521Uint1(x247))) var x250 uint64 var x251 uint64 x250, x251 = bits.Add64(x196, x231, uint64(p521Uint1(x249))) var x252 uint64 var x253 uint64 x252, x253 = bits.Add64(x198, x233, uint64(p521Uint1(x251))) var x254 uint64 var x255 uint64 x254, x255 = bits.Add64(x200, x235, uint64(p521Uint1(x253))) var x256 uint64 var x257 uint64 x256, x257 = bits.Add64(x202, x237, uint64(p521Uint1(x255))) var x258 uint64 var x259 uint64 x258, x259 = bits.Add64(x204, x239, uint64(p521Uint1(x257))) var x260 uint64 var x261 uint64 x260, x261 = bits.Add64(x206, x241, uint64(p521Uint1(x259))) var x262 uint64 var x263 uint64 x262, x263 = bits.Add64(x208, x243, uint64(p521Uint1(x261))) var x264 uint64 var x265 uint64 x264, x265 = bits.Add64(x210, x245, uint64(p521Uint1(x263))) var x266 uint64 var x267 uint64 x267, x266 = bits.Mul64(x246, 0x1ff) var x268 uint64 var x269 uint64 x269, x268 = bits.Mul64(x246, 0xffffffffffffffff) var x270 uint64 var x271 uint64 x271, x270 = bits.Mul64(x246, 0xffffffffffffffff) var x272 uint64 var x273 uint64 x273, x272 = bits.Mul64(x246, 0xffffffffffffffff) var x274 uint64 var x275 uint64 x275, x274 = bits.Mul64(x246, 0xffffffffffffffff) var x276 uint64 var x277 uint64 x277, x276 = bits.Mul64(x246, 0xffffffffffffffff) var x278 uint64 var x279 uint64 x279, x278 = bits.Mul64(x246, 0xffffffffffffffff) var x280 uint64 var x281 uint64 x281, x280 = bits.Mul64(x246, 0xffffffffffffffff) var x282 uint64 var x283 uint64 x283, x282 = bits.Mul64(x246, 0xffffffffffffffff) var x284 uint64 var x285 uint64 x284, x285 = bits.Add64(x283, x280, uint64(0x0)) var x286 uint64 var x287 uint64 x286, x287 = bits.Add64(x281, x278, uint64(p521Uint1(x285))) var x288 uint64 var x289 uint64 x288, x289 = bits.Add64(x279, x276, uint64(p521Uint1(x287))) var x290 uint64 var x291 uint64 x290, x291 = bits.Add64(x277, x274, uint64(p521Uint1(x289))) var x292 uint64 var x293 uint64 x292, x293 = bits.Add64(x275, x272, uint64(p521Uint1(x291))) var x294 uint64 var x295 uint64 x294, x295 = bits.Add64(x273, x270, uint64(p521Uint1(x293))) var x296 uint64 var x297 uint64 x296, x297 = bits.Add64(x271, x268, uint64(p521Uint1(x295))) var x298 uint64 var x299 uint64 x298, x299 = bits.Add64(x269, x266, uint64(p521Uint1(x297))) x300 := (uint64(p521Uint1(x299)) + x267) var x302 uint64 _, x302 = bits.Add64(x246, x282, uint64(0x0)) var x303 uint64 var x304 uint64 x303, x304 = bits.Add64(x248, x284, uint64(p521Uint1(x302))) var x305 uint64 var x306 uint64 x305, x306 = bits.Add64(x250, x286, uint64(p521Uint1(x304))) var x307 uint64 var x308 uint64 x307, x308 = bits.Add64(x252, x288, uint64(p521Uint1(x306))) var x309 uint64 var x310 uint64 x309, x310 = bits.Add64(x254, x290, uint64(p521Uint1(x308))) var x311 uint64 var x312 uint64 x311, x312 = bits.Add64(x256, x292, uint64(p521Uint1(x310))) var x313 uint64 var x314 uint64 x313, x314 = bits.Add64(x258, x294, uint64(p521Uint1(x312))) var x315 uint64 var x316 uint64 x315, x316 = bits.Add64(x260, x296, uint64(p521Uint1(x314))) var x317 uint64 var x318 uint64 x317, x318 = bits.Add64(x262, x298, uint64(p521Uint1(x316))) var x319 uint64 var x320 uint64 x319, x320 = bits.Add64(x264, x300, uint64(p521Uint1(x318))) x321 := (uint64(p521Uint1(x320)) + uint64(p521Uint1(x265))) var x322 uint64 var x323 uint64 x323, x322 = bits.Mul64(x3, arg2[8]) var x324 uint64 var x325 uint64 x325, x324 = bits.Mul64(x3, arg2[7]) var x326 uint64 var x327 uint64 x327, x326 = bits.Mul64(x3, arg2[6]) var x328 uint64 var x329 uint64 x329, x328 = bits.Mul64(x3, arg2[5]) var x330 uint64 var x331 uint64 x331, x330 = bits.Mul64(x3, arg2[4]) var x332 uint64 var x333 uint64 x333, x332 = bits.Mul64(x3, arg2[3]) var x334 uint64 var x335 uint64 x335, x334 = bits.Mul64(x3, arg2[2]) var x336 uint64 var x337 uint64 x337, x336 = bits.Mul64(x3, arg2[1]) var x338 uint64 var x339 uint64 x339, x338 = bits.Mul64(x3, arg2[0]) var x340 uint64 var x341 uint64 x340, x341 = bits.Add64(x339, x336, uint64(0x0)) var x342 uint64 var x343 uint64 x342, x343 = bits.Add64(x337, x334, uint64(p521Uint1(x341))) var x344 uint64 var x345 uint64 x344, x345 = bits.Add64(x335, x332, uint64(p521Uint1(x343))) var x346 uint64 var x347 uint64 x346, x347 = bits.Add64(x333, x330, uint64(p521Uint1(x345))) var x348 uint64 var x349 uint64 x348, x349 = bits.Add64(x331, x328, uint64(p521Uint1(x347))) var x350 uint64 var x351 uint64 x350, x351 = bits.Add64(x329, x326, uint64(p521Uint1(x349))) var x352 uint64 var x353 uint64 x352, x353 = bits.Add64(x327, x324, uint64(p521Uint1(x351))) var x354 uint64 var x355 uint64 x354, x355 = bits.Add64(x325, x322, uint64(p521Uint1(x353))) x356 := (uint64(p521Uint1(x355)) + x323) var x357 uint64 var x358 uint64 x357, x358 = bits.Add64(x303, x338, uint64(0x0)) var x359 uint64 var x360 uint64 x359, x360 = bits.Add64(x305, x340, uint64(p521Uint1(x358))) var x361 uint64 var x362 uint64 x361, x362 = bits.Add64(x307, x342, uint64(p521Uint1(x360))) var x363 uint64 var x364 uint64 x363, x364 = bits.Add64(x309, x344, uint64(p521Uint1(x362))) var x365 uint64 var x366 uint64 x365, x366 = bits.Add64(x311, x346, uint64(p521Uint1(x364))) var x367 uint64 var x368 uint64 x367, x368 = bits.Add64(x313, x348, uint64(p521Uint1(x366))) var x369 uint64 var x370 uint64 x369, x370 = bits.Add64(x315, x350, uint64(p521Uint1(x368))) var x371 uint64 var x372 uint64 x371, x372 = bits.Add64(x317, x352, uint64(p521Uint1(x370))) var x373 uint64 var x374 uint64 x373, x374 = bits.Add64(x319, x354, uint64(p521Uint1(x372))) var x375 uint64 var x376 uint64 x375, x376 = bits.Add64(x321, x356, uint64(p521Uint1(x374))) var x377 uint64 var x378 uint64 x378, x377 = bits.Mul64(x357, 0x1ff) var x379 uint64 var x380 uint64 x380, x379 = bits.Mul64(x357, 0xffffffffffffffff) var x381 uint64 var x382 uint64 x382, x381 = bits.Mul64(x357, 0xffffffffffffffff) var x383 uint64 var x384 uint64 x384, x383 = bits.Mul64(x357, 0xffffffffffffffff) var x385 uint64 var x386 uint64 x386, x385 = bits.Mul64(x357, 0xffffffffffffffff) var x387 uint64 var x388 uint64 x388, x387 = bits.Mul64(x357, 0xffffffffffffffff) var x389 uint64 var x390 uint64 x390, x389 = bits.Mul64(x357, 0xffffffffffffffff) var x391 uint64 var x392 uint64 x392, x391 = bits.Mul64(x357, 0xffffffffffffffff) var x393 uint64 var x394 uint64 x394, x393 = bits.Mul64(x357, 0xffffffffffffffff) var x395 uint64 var x396 uint64 x395, x396 = bits.Add64(x394, x391, uint64(0x0)) var x397 uint64 var x398 uint64 x397, x398 = bits.Add64(x392, x389, uint64(p521Uint1(x396))) var x399 uint64 var x400 uint64 x399, x400 = bits.Add64(x390, x387, uint64(p521Uint1(x398))) var x401 uint64 var x402 uint64 x401, x402 = bits.Add64(x388, x385, uint64(p521Uint1(x400))) var x403 uint64 var x404 uint64 x403, x404 = bits.Add64(x386, x383, uint64(p521Uint1(x402))) var x405 uint64 var x406 uint64 x405, x406 = bits.Add64(x384, x381, uint64(p521Uint1(x404))) var x407 uint64 var x408 uint64 x407, x408 = bits.Add64(x382, x379, uint64(p521Uint1(x406))) var x409 uint64 var x410 uint64 x409, x410 = bits.Add64(x380, x377, uint64(p521Uint1(x408))) x411 := (uint64(p521Uint1(x410)) + x378) var x413 uint64 _, x413 = bits.Add64(x357, x393, uint64(0x0)) var x414 uint64 var x415 uint64 x414, x415 = bits.Add64(x359, x395, uint64(p521Uint1(x413))) var x416 uint64 var x417 uint64 x416, x417 = bits.Add64(x361, x397, uint64(p521Uint1(x415))) var x418 uint64 var x419 uint64 x418, x419 = bits.Add64(x363, x399, uint64(p521Uint1(x417))) var x420 uint64 var x421 uint64 x420, x421 = bits.Add64(x365, x401, uint64(p521Uint1(x419))) var x422 uint64 var x423 uint64 x422, x423 = bits.Add64(x367, x403, uint64(p521Uint1(x421))) var x424 uint64 var x425 uint64 x424, x425 = bits.Add64(x369, x405, uint64(p521Uint1(x423))) var x426 uint64 var x427 uint64 x426, x427 = bits.Add64(x371, x407, uint64(p521Uint1(x425))) var x428 uint64 var x429 uint64 x428, x429 = bits.Add64(x373, x409, uint64(p521Uint1(x427))) var x430 uint64 var x431 uint64 x430, x431 = bits.Add64(x375, x411, uint64(p521Uint1(x429))) x432 := (uint64(p521Uint1(x431)) + uint64(p521Uint1(x376))) var x433 uint64 var x434 uint64 x434, x433 = bits.Mul64(x4, arg2[8]) var x435 uint64 var x436 uint64 x436, x435 = bits.Mul64(x4, arg2[7]) var x437 uint64 var x438 uint64 x438, x437 = bits.Mul64(x4, arg2[6]) var x439 uint64 var x440 uint64 x440, x439 = bits.Mul64(x4, arg2[5]) var x441 uint64 var x442 uint64 x442, x441 = bits.Mul64(x4, arg2[4]) var x443 uint64 var x444 uint64 x444, x443 = bits.Mul64(x4, arg2[3]) var x445 uint64 var x446 uint64 x446, x445 = bits.Mul64(x4, arg2[2]) var x447 uint64 var x448 uint64 x448, x447 = bits.Mul64(x4, arg2[1]) var x449 uint64 var x450 uint64 x450, x449 = bits.Mul64(x4, arg2[0]) var x451 uint64 var x452 uint64 x451, x452 = bits.Add64(x450, x447, uint64(0x0)) var x453 uint64 var x454 uint64 x453, x454 = bits.Add64(x448, x445, uint64(p521Uint1(x452))) var x455 uint64 var x456 uint64 x455, x456 = bits.Add64(x446, x443, uint64(p521Uint1(x454))) var x457 uint64 var x458 uint64 x457, x458 = bits.Add64(x444, x441, uint64(p521Uint1(x456))) var x459 uint64 var x460 uint64 x459, x460 = bits.Add64(x442, x439, uint64(p521Uint1(x458))) var x461 uint64 var x462 uint64 x461, x462 = bits.Add64(x440, x437, uint64(p521Uint1(x460))) var x463 uint64 var x464 uint64 x463, x464 = bits.Add64(x438, x435, uint64(p521Uint1(x462))) var x465 uint64 var x466 uint64 x465, x466 = bits.Add64(x436, x433, uint64(p521Uint1(x464))) x467 := (uint64(p521Uint1(x466)) + x434) var x468 uint64 var x469 uint64 x468, x469 = bits.Add64(x414, x449, uint64(0x0)) var x470 uint64 var x471 uint64 x470, x471 = bits.Add64(x416, x451, uint64(p521Uint1(x469))) var x472 uint64 var x473 uint64 x472, x473 = bits.Add64(x418, x453, uint64(p521Uint1(x471))) var x474 uint64 var x475 uint64 x474, x475 = bits.Add64(x420, x455, uint64(p521Uint1(x473))) var x476 uint64 var x477 uint64 x476, x477 = bits.Add64(x422, x457, uint64(p521Uint1(x475))) var x478 uint64 var x479 uint64 x478, x479 = bits.Add64(x424, x459, uint64(p521Uint1(x477))) var x480 uint64 var x481 uint64 x480, x481 = bits.Add64(x426, x461, uint64(p521Uint1(x479))) var x482 uint64 var x483 uint64 x482, x483 = bits.Add64(x428, x463, uint64(p521Uint1(x481))) var x484 uint64 var x485 uint64 x484, x485 = bits.Add64(x430, x465, uint64(p521Uint1(x483))) var x486 uint64 var x487 uint64 x486, x487 = bits.Add64(x432, x467, uint64(p521Uint1(x485))) var x488 uint64 var x489 uint64 x489, x488 = bits.Mul64(x468, 0x1ff) var x490 uint64 var x491 uint64 x491, x490 = bits.Mul64(x468, 0xffffffffffffffff) var x492 uint64 var x493 uint64 x493, x492 = bits.Mul64(x468, 0xffffffffffffffff) var x494 uint64 var x495 uint64 x495, x494 = bits.Mul64(x468, 0xffffffffffffffff) var x496 uint64 var x497 uint64 x497, x496 = bits.Mul64(x468, 0xffffffffffffffff) var x498 uint64 var x499 uint64 x499, x498 = bits.Mul64(x468, 0xffffffffffffffff) var x500 uint64 var x501 uint64 x501, x500 = bits.Mul64(x468, 0xffffffffffffffff) var x502 uint64 var x503 uint64 x503, x502 = bits.Mul64(x468, 0xffffffffffffffff) var x504 uint64 var x505 uint64 x505, x504 = bits.Mul64(x468, 0xffffffffffffffff) var x506 uint64 var x507 uint64 x506, x507 = bits.Add64(x505, x502, uint64(0x0)) var x508 uint64 var x509 uint64 x508, x509 = bits.Add64(x503, x500, uint64(p521Uint1(x507))) var x510 uint64 var x511 uint64 x510, x511 = bits.Add64(x501, x498, uint64(p521Uint1(x509))) var x512 uint64 var x513 uint64 x512, x513 = bits.Add64(x499, x496, uint64(p521Uint1(x511))) var x514 uint64 var x515 uint64 x514, x515 = bits.Add64(x497, x494, uint64(p521Uint1(x513))) var x516 uint64 var x517 uint64 x516, x517 = bits.Add64(x495, x492, uint64(p521Uint1(x515))) var x518 uint64 var x519 uint64 x518, x519 = bits.Add64(x493, x490, uint64(p521Uint1(x517))) var x520 uint64 var x521 uint64 x520, x521 = bits.Add64(x491, x488, uint64(p521Uint1(x519))) x522 := (uint64(p521Uint1(x521)) + x489) var x524 uint64 _, x524 = bits.Add64(x468, x504, uint64(0x0)) var x525 uint64 var x526 uint64 x525, x526 = bits.Add64(x470, x506, uint64(p521Uint1(x524))) var x527 uint64 var x528 uint64 x527, x528 = bits.Add64(x472, x508, uint64(p521Uint1(x526))) var x529 uint64 var x530 uint64 x529, x530 = bits.Add64(x474, x510, uint64(p521Uint1(x528))) var x531 uint64 var x532 uint64 x531, x532 = bits.Add64(x476, x512, uint64(p521Uint1(x530))) var x533 uint64 var x534 uint64 x533, x534 = bits.Add64(x478, x514, uint64(p521Uint1(x532))) var x535 uint64 var x536 uint64 x535, x536 = bits.Add64(x480, x516, uint64(p521Uint1(x534))) var x537 uint64 var x538 uint64 x537, x538 = bits.Add64(x482, x518, uint64(p521Uint1(x536))) var x539 uint64 var x540 uint64 x539, x540 = bits.Add64(x484, x520, uint64(p521Uint1(x538))) var x541 uint64 var x542 uint64 x541, x542 = bits.Add64(x486, x522, uint64(p521Uint1(x540))) x543 := (uint64(p521Uint1(x542)) + uint64(p521Uint1(x487))) var x544 uint64 var x545 uint64 x545, x544 = bits.Mul64(x5, arg2[8]) var x546 uint64 var x547 uint64 x547, x546 = bits.Mul64(x5, arg2[7]) var x548 uint64 var x549 uint64 x549, x548 = bits.Mul64(x5, arg2[6]) var x550 uint64 var x551 uint64 x551, x550 = bits.Mul64(x5, arg2[5]) var x552 uint64 var x553 uint64 x553, x552 = bits.Mul64(x5, arg2[4]) var x554 uint64 var x555 uint64 x555, x554 = bits.Mul64(x5, arg2[3]) var x556 uint64 var x557 uint64 x557, x556 = bits.Mul64(x5, arg2[2]) var x558 uint64 var x559 uint64 x559, x558 = bits.Mul64(x5, arg2[1]) var x560 uint64 var x561 uint64 x561, x560 = bits.Mul64(x5, arg2[0]) var x562 uint64 var x563 uint64 x562, x563 = bits.Add64(x561, x558, uint64(0x0)) var x564 uint64 var x565 uint64 x564, x565 = bits.Add64(x559, x556, uint64(p521Uint1(x563))) var x566 uint64 var x567 uint64 x566, x567 = bits.Add64(x557, x554, uint64(p521Uint1(x565))) var x568 uint64 var x569 uint64 x568, x569 = bits.Add64(x555, x552, uint64(p521Uint1(x567))) var x570 uint64 var x571 uint64 x570, x571 = bits.Add64(x553, x550, uint64(p521Uint1(x569))) var x572 uint64 var x573 uint64 x572, x573 = bits.Add64(x551, x548, uint64(p521Uint1(x571))) var x574 uint64 var x575 uint64 x574, x575 = bits.Add64(x549, x546, uint64(p521Uint1(x573))) var x576 uint64 var x577 uint64 x576, x577 = bits.Add64(x547, x544, uint64(p521Uint1(x575))) x578 := (uint64(p521Uint1(x577)) + x545) var x579 uint64 var x580 uint64 x579, x580 = bits.Add64(x525, x560, uint64(0x0)) var x581 uint64 var x582 uint64 x581, x582 = bits.Add64(x527, x562, uint64(p521Uint1(x580))) var x583 uint64 var x584 uint64 x583, x584 = bits.Add64(x529, x564, uint64(p521Uint1(x582))) var x585 uint64 var x586 uint64 x585, x586 = bits.Add64(x531, x566, uint64(p521Uint1(x584))) var x587 uint64 var x588 uint64 x587, x588 = bits.Add64(x533, x568, uint64(p521Uint1(x586))) var x589 uint64 var x590 uint64 x589, x590 = bits.Add64(x535, x570, uint64(p521Uint1(x588))) var x591 uint64 var x592 uint64 x591, x592 = bits.Add64(x537, x572, uint64(p521Uint1(x590))) var x593 uint64 var x594 uint64 x593, x594 = bits.Add64(x539, x574, uint64(p521Uint1(x592))) var x595 uint64 var x596 uint64 x595, x596 = bits.Add64(x541, x576, uint64(p521Uint1(x594))) var x597 uint64 var x598 uint64 x597, x598 = bits.Add64(x543, x578, uint64(p521Uint1(x596))) var x599 uint64 var x600 uint64 x600, x599 = bits.Mul64(x579, 0x1ff) var x601 uint64 var x602 uint64 x602, x601 = bits.Mul64(x579, 0xffffffffffffffff) var x603 uint64 var x604 uint64 x604, x603 = bits.Mul64(x579, 0xffffffffffffffff) var x605 uint64 var x606 uint64 x606, x605 = bits.Mul64(x579, 0xffffffffffffffff) var x607 uint64 var x608 uint64 x608, x607 = bits.Mul64(x579, 0xffffffffffffffff) var x609 uint64 var x610 uint64 x610, x609 = bits.Mul64(x579, 0xffffffffffffffff) var x611 uint64 var x612 uint64 x612, x611 = bits.Mul64(x579, 0xffffffffffffffff) var x613 uint64 var x614 uint64 x614, x613 = bits.Mul64(x579, 0xffffffffffffffff) var x615 uint64 var x616 uint64 x616, x615 = bits.Mul64(x579, 0xffffffffffffffff) var x617 uint64 var x618 uint64 x617, x618 = bits.Add64(x616, x613, uint64(0x0)) var x619 uint64 var x620 uint64 x619, x620 = bits.Add64(x614, x611, uint64(p521Uint1(x618))) var x621 uint64 var x622 uint64 x621, x622 = bits.Add64(x612, x609, uint64(p521Uint1(x620))) var x623 uint64 var x624 uint64 x623, x624 = bits.Add64(x610, x607, uint64(p521Uint1(x622))) var x625 uint64 var x626 uint64 x625, x626 = bits.Add64(x608, x605, uint64(p521Uint1(x624))) var x627 uint64 var x628 uint64 x627, x628 = bits.Add64(x606, x603, uint64(p521Uint1(x626))) var x629 uint64 var x630 uint64 x629, x630 = bits.Add64(x604, x601, uint64(p521Uint1(x628))) var x631 uint64 var x632 uint64 x631, x632 = bits.Add64(x602, x599, uint64(p521Uint1(x630))) x633 := (uint64(p521Uint1(x632)) + x600) var x635 uint64 _, x635 = bits.Add64(x579, x615, uint64(0x0)) var x636 uint64 var x637 uint64 x636, x637 = bits.Add64(x581, x617, uint64(p521Uint1(x635))) var x638 uint64 var x639 uint64 x638, x639 = bits.Add64(x583, x619, uint64(p521Uint1(x637))) var x640 uint64 var x641 uint64 x640, x641 = bits.Add64(x585, x621, uint64(p521Uint1(x639))) var x642 uint64 var x643 uint64 x642, x643 = bits.Add64(x587, x623, uint64(p521Uint1(x641))) var x644 uint64 var x645 uint64 x644, x645 = bits.Add64(x589, x625, uint64(p521Uint1(x643))) var x646 uint64 var x647 uint64 x646, x647 = bits.Add64(x591, x627, uint64(p521Uint1(x645))) var x648 uint64 var x649 uint64 x648, x649 = bits.Add64(x593, x629, uint64(p521Uint1(x647))) var x650 uint64 var x651 uint64 x650, x651 = bits.Add64(x595, x631, uint64(p521Uint1(x649))) var x652 uint64 var x653 uint64 x652, x653 = bits.Add64(x597, x633, uint64(p521Uint1(x651))) x654 := (uint64(p521Uint1(x653)) + uint64(p521Uint1(x598))) var x655 uint64 var x656 uint64 x656, x655 = bits.Mul64(x6, arg2[8]) var x657 uint64 var x658 uint64 x658, x657 = bits.Mul64(x6, arg2[7]) var x659 uint64 var x660 uint64 x660, x659 = bits.Mul64(x6, arg2[6]) var x661 uint64 var x662 uint64 x662, x661 = bits.Mul64(x6, arg2[5]) var x663 uint64 var x664 uint64 x664, x663 = bits.Mul64(x6, arg2[4]) var x665 uint64 var x666 uint64 x666, x665 = bits.Mul64(x6, arg2[3]) var x667 uint64 var x668 uint64 x668, x667 = bits.Mul64(x6, arg2[2]) var x669 uint64 var x670 uint64 x670, x669 = bits.Mul64(x6, arg2[1]) var x671 uint64 var x672 uint64 x672, x671 = bits.Mul64(x6, arg2[0]) var x673 uint64 var x674 uint64 x673, x674 = bits.Add64(x672, x669, uint64(0x0)) var x675 uint64 var x676 uint64 x675, x676 = bits.Add64(x670, x667, uint64(p521Uint1(x674))) var x677 uint64 var x678 uint64 x677, x678 = bits.Add64(x668, x665, uint64(p521Uint1(x676))) var x679 uint64 var x680 uint64 x679, x680 = bits.Add64(x666, x663, uint64(p521Uint1(x678))) var x681 uint64 var x682 uint64 x681, x682 = bits.Add64(x664, x661, uint64(p521Uint1(x680))) var x683 uint64 var x684 uint64 x683, x684 = bits.Add64(x662, x659, uint64(p521Uint1(x682))) var x685 uint64 var x686 uint64 x685, x686 = bits.Add64(x660, x657, uint64(p521Uint1(x684))) var x687 uint64 var x688 uint64 x687, x688 = bits.Add64(x658, x655, uint64(p521Uint1(x686))) x689 := (uint64(p521Uint1(x688)) + x656) var x690 uint64 var x691 uint64 x690, x691 = bits.Add64(x636, x671, uint64(0x0)) var x692 uint64 var x693 uint64 x692, x693 = bits.Add64(x638, x673, uint64(p521Uint1(x691))) var x694 uint64 var x695 uint64 x694, x695 = bits.Add64(x640, x675, uint64(p521Uint1(x693))) var x696 uint64 var x697 uint64 x696, x697 = bits.Add64(x642, x677, uint64(p521Uint1(x695))) var x698 uint64 var x699 uint64 x698, x699 = bits.Add64(x644, x679, uint64(p521Uint1(x697))) var x700 uint64 var x701 uint64 x700, x701 = bits.Add64(x646, x681, uint64(p521Uint1(x699))) var x702 uint64 var x703 uint64 x702, x703 = bits.Add64(x648, x683, uint64(p521Uint1(x701))) var x704 uint64 var x705 uint64 x704, x705 = bits.Add64(x650, x685, uint64(p521Uint1(x703))) var x706 uint64 var x707 uint64 x706, x707 = bits.Add64(x652, x687, uint64(p521Uint1(x705))) var x708 uint64 var x709 uint64 x708, x709 = bits.Add64(x654, x689, uint64(p521Uint1(x707))) var x710 uint64 var x711 uint64 x711, x710 = bits.Mul64(x690, 0x1ff) var x712 uint64 var x713 uint64 x713, x712 = bits.Mul64(x690, 0xffffffffffffffff) var x714 uint64 var x715 uint64 x715, x714 = bits.Mul64(x690, 0xffffffffffffffff) var x716 uint64 var x717 uint64 x717, x716 = bits.Mul64(x690, 0xffffffffffffffff) var x718 uint64 var x719 uint64 x719, x718 = bits.Mul64(x690, 0xffffffffffffffff) var x720 uint64 var x721 uint64 x721, x720 = bits.Mul64(x690, 0xffffffffffffffff) var x722 uint64 var x723 uint64 x723, x722 = bits.Mul64(x690, 0xffffffffffffffff) var x724 uint64 var x725 uint64 x725, x724 = bits.Mul64(x690, 0xffffffffffffffff) var x726 uint64 var x727 uint64 x727, x726 = bits.Mul64(x690, 0xffffffffffffffff) var x728 uint64 var x729 uint64 x728, x729 = bits.Add64(x727, x724, uint64(0x0)) var x730 uint64 var x731 uint64 x730, x731 = bits.Add64(x725, x722, uint64(p521Uint1(x729))) var x732 uint64 var x733 uint64 x732, x733 = bits.Add64(x723, x720, uint64(p521Uint1(x731))) var x734 uint64 var x735 uint64 x734, x735 = bits.Add64(x721, x718, uint64(p521Uint1(x733))) var x736 uint64 var x737 uint64 x736, x737 = bits.Add64(x719, x716, uint64(p521Uint1(x735))) var x738 uint64 var x739 uint64 x738, x739 = bits.Add64(x717, x714, uint64(p521Uint1(x737))) var x740 uint64 var x741 uint64 x740, x741 = bits.Add64(x715, x712, uint64(p521Uint1(x739))) var x742 uint64 var x743 uint64 x742, x743 = bits.Add64(x713, x710, uint64(p521Uint1(x741))) x744 := (uint64(p521Uint1(x743)) + x711) var x746 uint64 _, x746 = bits.Add64(x690, x726, uint64(0x0)) var x747 uint64 var x748 uint64 x747, x748 = bits.Add64(x692, x728, uint64(p521Uint1(x746))) var x749 uint64 var x750 uint64 x749, x750 = bits.Add64(x694, x730, uint64(p521Uint1(x748))) var x751 uint64 var x752 uint64 x751, x752 = bits.Add64(x696, x732, uint64(p521Uint1(x750))) var x753 uint64 var x754 uint64 x753, x754 = bits.Add64(x698, x734, uint64(p521Uint1(x752))) var x755 uint64 var x756 uint64 x755, x756 = bits.Add64(x700, x736, uint64(p521Uint1(x754))) var x757 uint64 var x758 uint64 x757, x758 = bits.Add64(x702, x738, uint64(p521Uint1(x756))) var x759 uint64 var x760 uint64 x759, x760 = bits.Add64(x704, x740, uint64(p521Uint1(x758))) var x761 uint64 var x762 uint64 x761, x762 = bits.Add64(x706, x742, uint64(p521Uint1(x760))) var x763 uint64 var x764 uint64 x763, x764 = bits.Add64(x708, x744, uint64(p521Uint1(x762))) x765 := (uint64(p521Uint1(x764)) + uint64(p521Uint1(x709))) var x766 uint64 var x767 uint64 x767, x766 = bits.Mul64(x7, arg2[8]) var x768 uint64 var x769 uint64 x769, x768 = bits.Mul64(x7, arg2[7]) var x770 uint64 var x771 uint64 x771, x770 = bits.Mul64(x7, arg2[6]) var x772 uint64 var x773 uint64 x773, x772 = bits.Mul64(x7, arg2[5]) var x774 uint64 var x775 uint64 x775, x774 = bits.Mul64(x7, arg2[4]) var x776 uint64 var x777 uint64 x777, x776 = bits.Mul64(x7, arg2[3]) var x778 uint64 var x779 uint64 x779, x778 = bits.Mul64(x7, arg2[2]) var x780 uint64 var x781 uint64 x781, x780 = bits.Mul64(x7, arg2[1]) var x782 uint64 var x783 uint64 x783, x782 = bits.Mul64(x7, arg2[0]) var x784 uint64 var x785 uint64 x784, x785 = bits.Add64(x783, x780, uint64(0x0)) var x786 uint64 var x787 uint64 x786, x787 = bits.Add64(x781, x778, uint64(p521Uint1(x785))) var x788 uint64 var x789 uint64 x788, x789 = bits.Add64(x779, x776, uint64(p521Uint1(x787))) var x790 uint64 var x791 uint64 x790, x791 = bits.Add64(x777, x774, uint64(p521Uint1(x789))) var x792 uint64 var x793 uint64 x792, x793 = bits.Add64(x775, x772, uint64(p521Uint1(x791))) var x794 uint64 var x795 uint64 x794, x795 = bits.Add64(x773, x770, uint64(p521Uint1(x793))) var x796 uint64 var x797 uint64 x796, x797 = bits.Add64(x771, x768, uint64(p521Uint1(x795))) var x798 uint64 var x799 uint64 x798, x799 = bits.Add64(x769, x766, uint64(p521Uint1(x797))) x800 := (uint64(p521Uint1(x799)) + x767) var x801 uint64 var x802 uint64 x801, x802 = bits.Add64(x747, x782, uint64(0x0)) var x803 uint64 var x804 uint64 x803, x804 = bits.Add64(x749, x784, uint64(p521Uint1(x802))) var x805 uint64 var x806 uint64 x805, x806 = bits.Add64(x751, x786, uint64(p521Uint1(x804))) var x807 uint64 var x808 uint64 x807, x808 = bits.Add64(x753, x788, uint64(p521Uint1(x806))) var x809 uint64 var x810 uint64 x809, x810 = bits.Add64(x755, x790, uint64(p521Uint1(x808))) var x811 uint64 var x812 uint64 x811, x812 = bits.Add64(x757, x792, uint64(p521Uint1(x810))) var x813 uint64 var x814 uint64 x813, x814 = bits.Add64(x759, x794, uint64(p521Uint1(x812))) var x815 uint64 var x816 uint64 x815, x816 = bits.Add64(x761, x796, uint64(p521Uint1(x814))) var x817 uint64 var x818 uint64 x817, x818 = bits.Add64(x763, x798, uint64(p521Uint1(x816))) var x819 uint64 var x820 uint64 x819, x820 = bits.Add64(x765, x800, uint64(p521Uint1(x818))) var x821 uint64 var x822 uint64 x822, x821 = bits.Mul64(x801, 0x1ff) var x823 uint64 var x824 uint64 x824, x823 = bits.Mul64(x801, 0xffffffffffffffff) var x825 uint64 var x826 uint64 x826, x825 = bits.Mul64(x801, 0xffffffffffffffff) var x827 uint64 var x828 uint64 x828, x827 = bits.Mul64(x801, 0xffffffffffffffff) var x829 uint64 var x830 uint64 x830, x829 = bits.Mul64(x801, 0xffffffffffffffff) var x831 uint64 var x832 uint64 x832, x831 = bits.Mul64(x801, 0xffffffffffffffff) var x833 uint64 var x834 uint64 x834, x833 = bits.Mul64(x801, 0xffffffffffffffff) var x835 uint64 var x836 uint64 x836, x835 = bits.Mul64(x801, 0xffffffffffffffff) var x837 uint64 var x838 uint64 x838, x837 = bits.Mul64(x801, 0xffffffffffffffff) var x839 uint64 var x840 uint64 x839, x840 = bits.Add64(x838, x835, uint64(0x0)) var x841 uint64 var x842 uint64 x841, x842 = bits.Add64(x836, x833, uint64(p521Uint1(x840))) var x843 uint64 var x844 uint64 x843, x844 = bits.Add64(x834, x831, uint64(p521Uint1(x842))) var x845 uint64 var x846 uint64 x845, x846 = bits.Add64(x832, x829, uint64(p521Uint1(x844))) var x847 uint64 var x848 uint64 x847, x848 = bits.Add64(x830, x827, uint64(p521Uint1(x846))) var x849 uint64 var x850 uint64 x849, x850 = bits.Add64(x828, x825, uint64(p521Uint1(x848))) var x851 uint64 var x852 uint64 x851, x852 = bits.Add64(x826, x823, uint64(p521Uint1(x850))) var x853 uint64 var x854 uint64 x853, x854 = bits.Add64(x824, x821, uint64(p521Uint1(x852))) x855 := (uint64(p521Uint1(x854)) + x822) var x857 uint64 _, x857 = bits.Add64(x801, x837, uint64(0x0)) var x858 uint64 var x859 uint64 x858, x859 = bits.Add64(x803, x839, uint64(p521Uint1(x857))) var x860 uint64 var x861 uint64 x860, x861 = bits.Add64(x805, x841, uint64(p521Uint1(x859))) var x862 uint64 var x863 uint64 x862, x863 = bits.Add64(x807, x843, uint64(p521Uint1(x861))) var x864 uint64 var x865 uint64 x864, x865 = bits.Add64(x809, x845, uint64(p521Uint1(x863))) var x866 uint64 var x867 uint64 x866, x867 = bits.Add64(x811, x847, uint64(p521Uint1(x865))) var x868 uint64 var x869 uint64 x868, x869 = bits.Add64(x813, x849, uint64(p521Uint1(x867))) var x870 uint64 var x871 uint64 x870, x871 = bits.Add64(x815, x851, uint64(p521Uint1(x869))) var x872 uint64 var x873 uint64 x872, x873 = bits.Add64(x817, x853, uint64(p521Uint1(x871))) var x874 uint64 var x875 uint64 x874, x875 = bits.Add64(x819, x855, uint64(p521Uint1(x873))) x876 := (uint64(p521Uint1(x875)) + uint64(p521Uint1(x820))) var x877 uint64 var x878 uint64 x878, x877 = bits.Mul64(x8, arg2[8]) var x879 uint64 var x880 uint64 x880, x879 = bits.Mul64(x8, arg2[7]) var x881 uint64 var x882 uint64 x882, x881 = bits.Mul64(x8, arg2[6]) var x883 uint64 var x884 uint64 x884, x883 = bits.Mul64(x8, arg2[5]) var x885 uint64 var x886 uint64 x886, x885 = bits.Mul64(x8, arg2[4]) var x887 uint64 var x888 uint64 x888, x887 = bits.Mul64(x8, arg2[3]) var x889 uint64 var x890 uint64 x890, x889 = bits.Mul64(x8, arg2[2]) var x891 uint64 var x892 uint64 x892, x891 = bits.Mul64(x8, arg2[1]) var x893 uint64 var x894 uint64 x894, x893 = bits.Mul64(x8, arg2[0]) var x895 uint64 var x896 uint64 x895, x896 = bits.Add64(x894, x891, uint64(0x0)) var x897 uint64 var x898 uint64 x897, x898 = bits.Add64(x892, x889, uint64(p521Uint1(x896))) var x899 uint64 var x900 uint64 x899, x900 = bits.Add64(x890, x887, uint64(p521Uint1(x898))) var x901 uint64 var x902 uint64 x901, x902 = bits.Add64(x888, x885, uint64(p521Uint1(x900))) var x903 uint64 var x904 uint64 x903, x904 = bits.Add64(x886, x883, uint64(p521Uint1(x902))) var x905 uint64 var x906 uint64 x905, x906 = bits.Add64(x884, x881, uint64(p521Uint1(x904))) var x907 uint64 var x908 uint64 x907, x908 = bits.Add64(x882, x879, uint64(p521Uint1(x906))) var x909 uint64 var x910 uint64 x909, x910 = bits.Add64(x880, x877, uint64(p521Uint1(x908))) x911 := (uint64(p521Uint1(x910)) + x878) var x912 uint64 var x913 uint64 x912, x913 = bits.Add64(x858, x893, uint64(0x0)) var x914 uint64 var x915 uint64 x914, x915 = bits.Add64(x860, x895, uint64(p521Uint1(x913))) var x916 uint64 var x917 uint64 x916, x917 = bits.Add64(x862, x897, uint64(p521Uint1(x915))) var x918 uint64 var x919 uint64 x918, x919 = bits.Add64(x864, x899, uint64(p521Uint1(x917))) var x920 uint64 var x921 uint64 x920, x921 = bits.Add64(x866, x901, uint64(p521Uint1(x919))) var x922 uint64 var x923 uint64 x922, x923 = bits.Add64(x868, x903, uint64(p521Uint1(x921))) var x924 uint64 var x925 uint64 x924, x925 = bits.Add64(x870, x905, uint64(p521Uint1(x923))) var x926 uint64 var x927 uint64 x926, x927 = bits.Add64(x872, x907, uint64(p521Uint1(x925))) var x928 uint64 var x929 uint64 x928, x929 = bits.Add64(x874, x909, uint64(p521Uint1(x927))) var x930 uint64 var x931 uint64 x930, x931 = bits.Add64(x876, x911, uint64(p521Uint1(x929))) var x932 uint64 var x933 uint64 x933, x932 = bits.Mul64(x912, 0x1ff) var x934 uint64 var x935 uint64 x935, x934 = bits.Mul64(x912, 0xffffffffffffffff) var x936 uint64 var x937 uint64 x937, x936 = bits.Mul64(x912, 0xffffffffffffffff) var x938 uint64 var x939 uint64 x939, x938 = bits.Mul64(x912, 0xffffffffffffffff) var x940 uint64 var x941 uint64 x941, x940 = bits.Mul64(x912, 0xffffffffffffffff) var x942 uint64 var x943 uint64 x943, x942 = bits.Mul64(x912, 0xffffffffffffffff) var x944 uint64 var x945 uint64 x945, x944 = bits.Mul64(x912, 0xffffffffffffffff) var x946 uint64 var x947 uint64 x947, x946 = bits.Mul64(x912, 0xffffffffffffffff) var x948 uint64 var x949 uint64 x949, x948 = bits.Mul64(x912, 0xffffffffffffffff) var x950 uint64 var x951 uint64 x950, x951 = bits.Add64(x949, x946, uint64(0x0)) var x952 uint64 var x953 uint64 x952, x953 = bits.Add64(x947, x944, uint64(p521Uint1(x951))) var x954 uint64 var x955 uint64 x954, x955 = bits.Add64(x945, x942, uint64(p521Uint1(x953))) var x956 uint64 var x957 uint64 x956, x957 = bits.Add64(x943, x940, uint64(p521Uint1(x955))) var x958 uint64 var x959 uint64 x958, x959 = bits.Add64(x941, x938, uint64(p521Uint1(x957))) var x960 uint64 var x961 uint64 x960, x961 = bits.Add64(x939, x936, uint64(p521Uint1(x959))) var x962 uint64 var x963 uint64 x962, x963 = bits.Add64(x937, x934, uint64(p521Uint1(x961))) var x964 uint64 var x965 uint64 x964, x965 = bits.Add64(x935, x932, uint64(p521Uint1(x963))) x966 := (uint64(p521Uint1(x965)) + x933) var x968 uint64 _, x968 = bits.Add64(x912, x948, uint64(0x0)) var x969 uint64 var x970 uint64 x969, x970 = bits.Add64(x914, x950, uint64(p521Uint1(x968))) var x971 uint64 var x972 uint64 x971, x972 = bits.Add64(x916, x952, uint64(p521Uint1(x970))) var x973 uint64 var x974 uint64 x973, x974 = bits.Add64(x918, x954, uint64(p521Uint1(x972))) var x975 uint64 var x976 uint64 x975, x976 = bits.Add64(x920, x956, uint64(p521Uint1(x974))) var x977 uint64 var x978 uint64 x977, x978 = bits.Add64(x922, x958, uint64(p521Uint1(x976))) var x979 uint64 var x980 uint64 x979, x980 = bits.Add64(x924, x960, uint64(p521Uint1(x978))) var x981 uint64 var x982 uint64 x981, x982 = bits.Add64(x926, x962, uint64(p521Uint1(x980))) var x983 uint64 var x984 uint64 x983, x984 = bits.Add64(x928, x964, uint64(p521Uint1(x982))) var x985 uint64 var x986 uint64 x985, x986 = bits.Add64(x930, x966, uint64(p521Uint1(x984))) x987 := (uint64(p521Uint1(x986)) + uint64(p521Uint1(x931))) var x988 uint64 var x989 uint64 x988, x989 = bits.Sub64(x969, 0xffffffffffffffff, uint64(0x0)) var x990 uint64 var x991 uint64 x990, x991 = bits.Sub64(x971, 0xffffffffffffffff, uint64(p521Uint1(x989))) var x992 uint64 var x993 uint64 x992, x993 = bits.Sub64(x973, 0xffffffffffffffff, uint64(p521Uint1(x991))) var x994 uint64 var x995 uint64 x994, x995 = bits.Sub64(x975, 0xffffffffffffffff, uint64(p521Uint1(x993))) var x996 uint64 var x997 uint64 x996, x997 = bits.Sub64(x977, 0xffffffffffffffff, uint64(p521Uint1(x995))) var x998 uint64 var x999 uint64 x998, x999 = bits.Sub64(x979, 0xffffffffffffffff, uint64(p521Uint1(x997))) var x1000 uint64 var x1001 uint64 x1000, x1001 = bits.Sub64(x981, 0xffffffffffffffff, uint64(p521Uint1(x999))) var x1002 uint64 var x1003 uint64 x1002, x1003 = bits.Sub64(x983, 0xffffffffffffffff, uint64(p521Uint1(x1001))) var x1004 uint64 var x1005 uint64 x1004, x1005 = bits.Sub64(x985, 0x1ff, uint64(p521Uint1(x1003))) var x1007 uint64 _, x1007 = bits.Sub64(x987, uint64(0x0), uint64(p521Uint1(x1005))) var x1008 uint64 p521CmovznzU64(&x1008, p521Uint1(x1007), x988, x969) var x1009 uint64 p521CmovznzU64(&x1009, p521Uint1(x1007), x990, x971) var x1010 uint64 p521CmovznzU64(&x1010, p521Uint1(x1007), x992, x973) var x1011 uint64 p521CmovznzU64(&x1011, p521Uint1(x1007), x994, x975) var x1012 uint64 p521CmovznzU64(&x1012, p521Uint1(x1007), x996, x977) var x1013 uint64 p521CmovznzU64(&x1013, p521Uint1(x1007), x998, x979) var x1014 uint64 p521CmovznzU64(&x1014, p521Uint1(x1007), x1000, x981) var x1015 uint64 p521CmovznzU64(&x1015, p521Uint1(x1007), x1002, x983) var x1016 uint64 p521CmovznzU64(&x1016, p521Uint1(x1007), x1004, x985) out1[0] = x1008 out1[1] = x1009 out1[2] = x1010 out1[3] = x1011 out1[4] = x1012 out1[5] = x1013 out1[6] = x1014 out1[7] = x1015 out1[8] = x1016 } // p521Square squares a field element in the Montgomery domain. // // Preconditions: // 0 ≤ eval arg1 < m // Postconditions: // eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m // 0 ≤ eval out1 < m // func p521Square(out1 *p521MontgomeryDomainFieldElement, arg1 *p521MontgomeryDomainFieldElement) { x1 := arg1[1] x2 := arg1[2] x3 := arg1[3] x4 := arg1[4] x5 := arg1[5] x6 := arg1[6] x7 := arg1[7] x8 := arg1[8] x9 := arg1[0] var x10 uint64 var x11 uint64 x11, x10 = bits.Mul64(x9, arg1[8]) var x12 uint64 var x13 uint64 x13, x12 = bits.Mul64(x9, arg1[7]) var x14 uint64 var x15 uint64 x15, x14 = bits.Mul64(x9, arg1[6]) var x16 uint64 var x17 uint64 x17, x16 = bits.Mul64(x9, arg1[5]) var x18 uint64 var x19 uint64 x19, x18 = bits.Mul64(x9, arg1[4]) var x20 uint64 var x21 uint64 x21, x20 = bits.Mul64(x9, arg1[3]) var x22 uint64 var x23 uint64 x23, x22 = bits.Mul64(x9, arg1[2]) var x24 uint64 var x25 uint64 x25, x24 = bits.Mul64(x9, arg1[1]) var x26 uint64 var x27 uint64 x27, x26 = bits.Mul64(x9, arg1[0]) var x28 uint64 var x29 uint64 x28, x29 = bits.Add64(x27, x24, uint64(0x0)) var x30 uint64 var x31 uint64 x30, x31 = bits.Add64(x25, x22, uint64(p521Uint1(x29))) var x32 uint64 var x33 uint64 x32, x33 = bits.Add64(x23, x20, uint64(p521Uint1(x31))) var x34 uint64 var x35 uint64 x34, x35 = bits.Add64(x21, x18, uint64(p521Uint1(x33))) var x36 uint64 var x37 uint64 x36, x37 = bits.Add64(x19, x16, uint64(p521Uint1(x35))) var x38 uint64 var x39 uint64 x38, x39 = bits.Add64(x17, x14, uint64(p521Uint1(x37))) var x40 uint64 var x41 uint64 x40, x41 = bits.Add64(x15, x12, uint64(p521Uint1(x39))) var x42 uint64 var x43 uint64 x42, x43 = bits.Add64(x13, x10, uint64(p521Uint1(x41))) x44 := (uint64(p521Uint1(x43)) + x11) var x45 uint64 var x46 uint64 x46, x45 = bits.Mul64(x26, 0x1ff) var x47 uint64 var x48 uint64 x48, x47 = bits.Mul64(x26, 0xffffffffffffffff) var x49 uint64 var x50 uint64 x50, x49 = bits.Mul64(x26, 0xffffffffffffffff) var x51 uint64 var x52 uint64 x52, x51 = bits.Mul64(x26, 0xffffffffffffffff) var x53 uint64 var x54 uint64 x54, x53 = bits.Mul64(x26, 0xffffffffffffffff) var x55 uint64 var x56 uint64 x56, x55 = bits.Mul64(x26, 0xffffffffffffffff) var x57 uint64 var x58 uint64 x58, x57 = bits.Mul64(x26, 0xffffffffffffffff) var x59 uint64 var x60 uint64 x60, x59 = bits.Mul64(x26, 0xffffffffffffffff) var x61 uint64 var x62 uint64 x62, x61 = bits.Mul64(x26, 0xffffffffffffffff) var x63 uint64 var x64 uint64 x63, x64 = bits.Add64(x62, x59, uint64(0x0)) var x65 uint64 var x66 uint64 x65, x66 = bits.Add64(x60, x57, uint64(p521Uint1(x64))) var x67 uint64 var x68 uint64 x67, x68 = bits.Add64(x58, x55, uint64(p521Uint1(x66))) var x69 uint64 var x70 uint64 x69, x70 = bits.Add64(x56, x53, uint64(p521Uint1(x68))) var x71 uint64 var x72 uint64 x71, x72 = bits.Add64(x54, x51, uint64(p521Uint1(x70))) var x73 uint64 var x74 uint64 x73, x74 = bits.Add64(x52, x49, uint64(p521Uint1(x72))) var x75 uint64 var x76 uint64 x75, x76 = bits.Add64(x50, x47, uint64(p521Uint1(x74))) var x77 uint64 var x78 uint64 x77, x78 = bits.Add64(x48, x45, uint64(p521Uint1(x76))) x79 := (uint64(p521Uint1(x78)) + x46) var x81 uint64 _, x81 = bits.Add64(x26, x61, uint64(0x0)) var x82 uint64 var x83 uint64 x82, x83 = bits.Add64(x28, x63, uint64(p521Uint1(x81))) var x84 uint64 var x85 uint64 x84, x85 = bits.Add64(x30, x65, uint64(p521Uint1(x83))) var x86 uint64 var x87 uint64 x86, x87 = bits.Add64(x32, x67, uint64(p521Uint1(x85))) var x88 uint64 var x89 uint64 x88, x89 = bits.Add64(x34, x69, uint64(p521Uint1(x87))) var x90 uint64 var x91 uint64 x90, x91 = bits.Add64(x36, x71, uint64(p521Uint1(x89))) var x92 uint64 var x93 uint64 x92, x93 = bits.Add64(x38, x73, uint64(p521Uint1(x91))) var x94 uint64 var x95 uint64 x94, x95 = bits.Add64(x40, x75, uint64(p521Uint1(x93))) var x96 uint64 var x97 uint64 x96, x97 = bits.Add64(x42, x77, uint64(p521Uint1(x95))) var x98 uint64 var x99 uint64 x98, x99 = bits.Add64(x44, x79, uint64(p521Uint1(x97))) var x100 uint64 var x101 uint64 x101, x100 = bits.Mul64(x1, arg1[8]) var x102 uint64 var x103 uint64 x103, x102 = bits.Mul64(x1, arg1[7]) var x104 uint64 var x105 uint64 x105, x104 = bits.Mul64(x1, arg1[6]) var x106 uint64 var x107 uint64 x107, x106 = bits.Mul64(x1, arg1[5]) var x108 uint64 var x109 uint64 x109, x108 = bits.Mul64(x1, arg1[4]) var x110 uint64 var x111 uint64 x111, x110 = bits.Mul64(x1, arg1[3]) var x112 uint64 var x113 uint64 x113, x112 = bits.Mul64(x1, arg1[2]) var x114 uint64 var x115 uint64 x115, x114 = bits.Mul64(x1, arg1[1]) var x116 uint64 var x117 uint64 x117, x116 = bits.Mul64(x1, arg1[0]) var x118 uint64 var x119 uint64 x118, x119 = bits.Add64(x117, x114, uint64(0x0)) var x120 uint64 var x121 uint64 x120, x121 = bits.Add64(x115, x112, uint64(p521Uint1(x119))) var x122 uint64 var x123 uint64 x122, x123 = bits.Add64(x113, x110, uint64(p521Uint1(x121))) var x124 uint64 var x125 uint64 x124, x125 = bits.Add64(x111, x108, uint64(p521Uint1(x123))) var x126 uint64 var x127 uint64 x126, x127 = bits.Add64(x109, x106, uint64(p521Uint1(x125))) var x128 uint64 var x129 uint64 x128, x129 = bits.Add64(x107, x104, uint64(p521Uint1(x127))) var x130 uint64 var x131 uint64 x130, x131 = bits.Add64(x105, x102, uint64(p521Uint1(x129))) var x132 uint64 var x133 uint64 x132, x133 = bits.Add64(x103, x100, uint64(p521Uint1(x131))) x134 := (uint64(p521Uint1(x133)) + x101) var x135 uint64 var x136 uint64 x135, x136 = bits.Add64(x82, x116, uint64(0x0)) var x137 uint64 var x138 uint64 x137, x138 = bits.Add64(x84, x118, uint64(p521Uint1(x136))) var x139 uint64 var x140 uint64 x139, x140 = bits.Add64(x86, x120, uint64(p521Uint1(x138))) var x141 uint64 var x142 uint64 x141, x142 = bits.Add64(x88, x122, uint64(p521Uint1(x140))) var x143 uint64 var x144 uint64 x143, x144 = bits.Add64(x90, x124, uint64(p521Uint1(x142))) var x145 uint64 var x146 uint64 x145, x146 = bits.Add64(x92, x126, uint64(p521Uint1(x144))) var x147 uint64 var x148 uint64 x147, x148 = bits.Add64(x94, x128, uint64(p521Uint1(x146))) var x149 uint64 var x150 uint64 x149, x150 = bits.Add64(x96, x130, uint64(p521Uint1(x148))) var x151 uint64 var x152 uint64 x151, x152 = bits.Add64(x98, x132, uint64(p521Uint1(x150))) var x153 uint64 var x154 uint64 x153, x154 = bits.Add64(uint64(p521Uint1(x99)), x134, uint64(p521Uint1(x152))) var x155 uint64 var x156 uint64 x156, x155 = bits.Mul64(x135, 0x1ff) var x157 uint64 var x158 uint64 x158, x157 = bits.Mul64(x135, 0xffffffffffffffff) var x159 uint64 var x160 uint64 x160, x159 = bits.Mul64(x135, 0xffffffffffffffff) var x161 uint64 var x162 uint64 x162, x161 = bits.Mul64(x135, 0xffffffffffffffff) var x163 uint64 var x164 uint64 x164, x163 = bits.Mul64(x135, 0xffffffffffffffff) var x165 uint64 var x166 uint64 x166, x165 = bits.Mul64(x135, 0xffffffffffffffff) var x167 uint64 var x168 uint64 x168, x167 = bits.Mul64(x135, 0xffffffffffffffff) var x169 uint64 var x170 uint64 x170, x169 = bits.Mul64(x135, 0xffffffffffffffff) var x171 uint64 var x172 uint64 x172, x171 = bits.Mul64(x135, 0xffffffffffffffff) var x173 uint64 var x174 uint64 x173, x174 = bits.Add64(x172, x169, uint64(0x0)) var x175 uint64 var x176 uint64 x175, x176 = bits.Add64(x170, x167, uint64(p521Uint1(x174))) var x177 uint64 var x178 uint64 x177, x178 = bits.Add64(x168, x165, uint64(p521Uint1(x176))) var x179 uint64 var x180 uint64 x179, x180 = bits.Add64(x166, x163, uint64(p521Uint1(x178))) var x181 uint64 var x182 uint64 x181, x182 = bits.Add64(x164, x161, uint64(p521Uint1(x180))) var x183 uint64 var x184 uint64 x183, x184 = bits.Add64(x162, x159, uint64(p521Uint1(x182))) var x185 uint64 var x186 uint64 x185, x186 = bits.Add64(x160, x157, uint64(p521Uint1(x184))) var x187 uint64 var x188 uint64 x187, x188 = bits.Add64(x158, x155, uint64(p521Uint1(x186))) x189 := (uint64(p521Uint1(x188)) + x156) var x191 uint64 _, x191 = bits.Add64(x135, x171, uint64(0x0)) var x192 uint64 var x193 uint64 x192, x193 = bits.Add64(x137, x173, uint64(p521Uint1(x191))) var x194 uint64 var x195 uint64 x194, x195 = bits.Add64(x139, x175, uint64(p521Uint1(x193))) var x196 uint64 var x197 uint64 x196, x197 = bits.Add64(x141, x177, uint64(p521Uint1(x195))) var x198 uint64 var x199 uint64 x198, x199 = bits.Add64(x143, x179, uint64(p521Uint1(x197))) var x200 uint64 var x201 uint64 x200, x201 = bits.Add64(x145, x181, uint64(p521Uint1(x199))) var x202 uint64 var x203 uint64 x202, x203 = bits.Add64(x147, x183, uint64(p521Uint1(x201))) var x204 uint64 var x205 uint64 x204, x205 = bits.Add64(x149, x185, uint64(p521Uint1(x203))) var x206 uint64 var x207 uint64 x206, x207 = bits.Add64(x151, x187, uint64(p521Uint1(x205))) var x208 uint64 var x209 uint64 x208, x209 = bits.Add64(x153, x189, uint64(p521Uint1(x207))) x210 := (uint64(p521Uint1(x209)) + uint64(p521Uint1(x154))) var x211 uint64 var x212 uint64 x212, x211 = bits.Mul64(x2, arg1[8]) var x213 uint64 var x214 uint64 x214, x213 = bits.Mul64(x2, arg1[7]) var x215 uint64 var x216 uint64 x216, x215 = bits.Mul64(x2, arg1[6]) var x217 uint64 var x218 uint64 x218, x217 = bits.Mul64(x2, arg1[5]) var x219 uint64 var x220 uint64 x220, x219 = bits.Mul64(x2, arg1[4]) var x221 uint64 var x222 uint64 x222, x221 = bits.Mul64(x2, arg1[3]) var x223 uint64 var x224 uint64 x224, x223 = bits.Mul64(x2, arg1[2]) var x225 uint64 var x226 uint64 x226, x225 = bits.Mul64(x2, arg1[1]) var x227 uint64 var x228 uint64 x228, x227 = bits.Mul64(x2, arg1[0]) var x229 uint64 var x230 uint64 x229, x230 = bits.Add64(x228, x225, uint64(0x0)) var x231 uint64 var x232 uint64 x231, x232 = bits.Add64(x226, x223, uint64(p521Uint1(x230))) var x233 uint64 var x234 uint64 x233, x234 = bits.Add64(x224, x221, uint64(p521Uint1(x232))) var x235 uint64 var x236 uint64 x235, x236 = bits.Add64(x222, x219, uint64(p521Uint1(x234))) var x237 uint64 var x238 uint64 x237, x238 = bits.Add64(x220, x217, uint64(p521Uint1(x236))) var x239 uint64 var x240 uint64 x239, x240 = bits.Add64(x218, x215, uint64(p521Uint1(x238))) var x241 uint64 var x242 uint64 x241, x242 = bits.Add64(x216, x213, uint64(p521Uint1(x240))) var x243 uint64 var x244 uint64 x243, x244 = bits.Add64(x214, x211, uint64(p521Uint1(x242))) x245 := (uint64(p521Uint1(x244)) + x212) var x246 uint64 var x247 uint64 x246, x247 = bits.Add64(x192, x227, uint64(0x0)) var x248 uint64 var x249 uint64 x248, x249 = bits.Add64(x194, x229, uint64(p521Uint1(x247))) var x250 uint64 var x251 uint64 x250, x251 = bits.Add64(x196, x231, uint64(p521Uint1(x249))) var x252 uint64 var x253 uint64 x252, x253 = bits.Add64(x198, x233, uint64(p521Uint1(x251))) var x254 uint64 var x255 uint64 x254, x255 = bits.Add64(x200, x235, uint64(p521Uint1(x253))) var x256 uint64 var x257 uint64 x256, x257 = bits.Add64(x202, x237, uint64(p521Uint1(x255))) var x258 uint64 var x259 uint64 x258, x259 = bits.Add64(x204, x239, uint64(p521Uint1(x257))) var x260 uint64 var x261 uint64 x260, x261 = bits.Add64(x206, x241, uint64(p521Uint1(x259))) var x262 uint64 var x263 uint64 x262, x263 = bits.Add64(x208, x243, uint64(p521Uint1(x261))) var x264 uint64 var x265 uint64 x264, x265 = bits.Add64(x210, x245, uint64(p521Uint1(x263))) var x266 uint64 var x267 uint64 x267, x266 = bits.Mul64(x246, 0x1ff) var x268 uint64 var x269 uint64 x269, x268 = bits.Mul64(x246, 0xffffffffffffffff) var x270 uint64 var x271 uint64 x271, x270 = bits.Mul64(x246, 0xffffffffffffffff) var x272 uint64 var x273 uint64 x273, x272 = bits.Mul64(x246, 0xffffffffffffffff) var x274 uint64 var x275 uint64 x275, x274 = bits.Mul64(x246, 0xffffffffffffffff) var x276 uint64 var x277 uint64 x277, x276 = bits.Mul64(x246, 0xffffffffffffffff) var x278 uint64 var x279 uint64 x279, x278 = bits.Mul64(x246, 0xffffffffffffffff) var x280 uint64 var x281 uint64 x281, x280 = bits.Mul64(x246, 0xffffffffffffffff) var x282 uint64 var x283 uint64 x283, x282 = bits.Mul64(x246, 0xffffffffffffffff) var x284 uint64 var x285 uint64 x284, x285 = bits.Add64(x283, x280, uint64(0x0)) var x286 uint64 var x287 uint64 x286, x287 = bits.Add64(x281, x278, uint64(p521Uint1(x285))) var x288 uint64 var x289 uint64 x288, x289 = bits.Add64(x279, x276, uint64(p521Uint1(x287))) var x290 uint64 var x291 uint64 x290, x291 = bits.Add64(x277, x274, uint64(p521Uint1(x289))) var x292 uint64 var x293 uint64 x292, x293 = bits.Add64(x275, x272, uint64(p521Uint1(x291))) var x294 uint64 var x295 uint64 x294, x295 = bits.Add64(x273, x270, uint64(p521Uint1(x293))) var x296 uint64 var x297 uint64 x296, x297 = bits.Add64(x271, x268, uint64(p521Uint1(x295))) var x298 uint64 var x299 uint64 x298, x299 = bits.Add64(x269, x266, uint64(p521Uint1(x297))) x300 := (uint64(p521Uint1(x299)) + x267) var x302 uint64 _, x302 = bits.Add64(x246, x282, uint64(0x0)) var x303 uint64 var x304 uint64 x303, x304 = bits.Add64(x248, x284, uint64(p521Uint1(x302))) var x305 uint64 var x306 uint64 x305, x306 = bits.Add64(x250, x286, uint64(p521Uint1(x304))) var x307 uint64 var x308 uint64 x307, x308 = bits.Add64(x252, x288, uint64(p521Uint1(x306))) var x309 uint64 var x310 uint64 x309, x310 = bits.Add64(x254, x290, uint64(p521Uint1(x308))) var x311 uint64 var x312 uint64 x311, x312 = bits.Add64(x256, x292, uint64(p521Uint1(x310))) var x313 uint64 var x314 uint64 x313, x314 = bits.Add64(x258, x294, uint64(p521Uint1(x312))) var x315 uint64 var x316 uint64 x315, x316 = bits.Add64(x260, x296, uint64(p521Uint1(x314))) var x317 uint64 var x318 uint64 x317, x318 = bits.Add64(x262, x298, uint64(p521Uint1(x316))) var x319 uint64 var x320 uint64 x319, x320 = bits.Add64(x264, x300, uint64(p521Uint1(x318))) x321 := (uint64(p521Uint1(x320)) + uint64(p521Uint1(x265))) var x322 uint64 var x323 uint64 x323, x322 = bits.Mul64(x3, arg1[8]) var x324 uint64 var x325 uint64 x325, x324 = bits.Mul64(x3, arg1[7]) var x326 uint64 var x327 uint64 x327, x326 = bits.Mul64(x3, arg1[6]) var x328 uint64 var x329 uint64 x329, x328 = bits.Mul64(x3, arg1[5]) var x330 uint64 var x331 uint64 x331, x330 = bits.Mul64(x3, arg1[4]) var x332 uint64 var x333 uint64 x333, x332 = bits.Mul64(x3, arg1[3]) var x334 uint64 var x335 uint64 x335, x334 = bits.Mul64(x3, arg1[2]) var x336 uint64 var x337 uint64 x337, x336 = bits.Mul64(x3, arg1[1]) var x338 uint64 var x339 uint64 x339, x338 = bits.Mul64(x3, arg1[0]) var x340 uint64 var x341 uint64 x340, x341 = bits.Add64(x339, x336, uint64(0x0)) var x342 uint64 var x343 uint64 x342, x343 = bits.Add64(x337, x334, uint64(p521Uint1(x341))) var x344 uint64 var x345 uint64 x344, x345 = bits.Add64(x335, x332, uint64(p521Uint1(x343))) var x346 uint64 var x347 uint64 x346, x347 = bits.Add64(x333, x330, uint64(p521Uint1(x345))) var x348 uint64 var x349 uint64 x348, x349 = bits.Add64(x331, x328, uint64(p521Uint1(x347))) var x350 uint64 var x351 uint64 x350, x351 = bits.Add64(x329, x326, uint64(p521Uint1(x349))) var x352 uint64 var x353 uint64 x352, x353 = bits.Add64(x327, x324, uint64(p521Uint1(x351))) var x354 uint64 var x355 uint64 x354, x355 = bits.Add64(x325, x322, uint64(p521Uint1(x353))) x356 := (uint64(p521Uint1(x355)) + x323) var x357 uint64 var x358 uint64 x357, x358 = bits.Add64(x303, x338, uint64(0x0)) var x359 uint64 var x360 uint64 x359, x360 = bits.Add64(x305, x340, uint64(p521Uint1(x358))) var x361 uint64 var x362 uint64 x361, x362 = bits.Add64(x307, x342, uint64(p521Uint1(x360))) var x363 uint64 var x364 uint64 x363, x364 = bits.Add64(x309, x344, uint64(p521Uint1(x362))) var x365 uint64 var x366 uint64 x365, x366 = bits.Add64(x311, x346, uint64(p521Uint1(x364))) var x367 uint64 var x368 uint64 x367, x368 = bits.Add64(x313, x348, uint64(p521Uint1(x366))) var x369 uint64 var x370 uint64 x369, x370 = bits.Add64(x315, x350, uint64(p521Uint1(x368))) var x371 uint64 var x372 uint64 x371, x372 = bits.Add64(x317, x352, uint64(p521Uint1(x370))) var x373 uint64 var x374 uint64 x373, x374 = bits.Add64(x319, x354, uint64(p521Uint1(x372))) var x375 uint64 var x376 uint64 x375, x376 = bits.Add64(x321, x356, uint64(p521Uint1(x374))) var x377 uint64 var x378 uint64 x378, x377 = bits.Mul64(x357, 0x1ff) var x379 uint64 var x380 uint64 x380, x379 = bits.Mul64(x357, 0xffffffffffffffff) var x381 uint64 var x382 uint64 x382, x381 = bits.Mul64(x357, 0xffffffffffffffff) var x383 uint64 var x384 uint64 x384, x383 = bits.Mul64(x357, 0xffffffffffffffff) var x385 uint64 var x386 uint64 x386, x385 = bits.Mul64(x357, 0xffffffffffffffff) var x387 uint64 var x388 uint64 x388, x387 = bits.Mul64(x357, 0xffffffffffffffff) var x389 uint64 var x390 uint64 x390, x389 = bits.Mul64(x357, 0xffffffffffffffff) var x391 uint64 var x392 uint64 x392, x391 = bits.Mul64(x357, 0xffffffffffffffff) var x393 uint64 var x394 uint64 x394, x393 = bits.Mul64(x357, 0xffffffffffffffff) var x395 uint64 var x396 uint64 x395, x396 = bits.Add64(x394, x391, uint64(0x0)) var x397 uint64 var x398 uint64 x397, x398 = bits.Add64(x392, x389, uint64(p521Uint1(x396))) var x399 uint64 var x400 uint64 x399, x400 = bits.Add64(x390, x387, uint64(p521Uint1(x398))) var x401 uint64 var x402 uint64 x401, x402 = bits.Add64(x388, x385, uint64(p521Uint1(x400))) var x403 uint64 var x404 uint64 x403, x404 = bits.Add64(x386, x383, uint64(p521Uint1(x402))) var x405 uint64 var x406 uint64 x405, x406 = bits.Add64(x384, x381, uint64(p521Uint1(x404))) var x407 uint64 var x408 uint64 x407, x408 = bits.Add64(x382, x379, uint64(p521Uint1(x406))) var x409 uint64 var x410 uint64 x409, x410 = bits.Add64(x380, x377, uint64(p521Uint1(x408))) x411 := (uint64(p521Uint1(x410)) + x378) var x413 uint64 _, x413 = bits.Add64(x357, x393, uint64(0x0)) var x414 uint64 var x415 uint64 x414, x415 = bits.Add64(x359, x395, uint64(p521Uint1(x413))) var x416 uint64 var x417 uint64 x416, x417 = bits.Add64(x361, x397, uint64(p521Uint1(x415))) var x418 uint64 var x419 uint64 x418, x419 = bits.Add64(x363, x399, uint64(p521Uint1(x417))) var x420 uint64 var x421 uint64 x420, x421 = bits.Add64(x365, x401, uint64(p521Uint1(x419))) var x422 uint64 var x423 uint64 x422, x423 = bits.Add64(x367, x403, uint64(p521Uint1(x421))) var x424 uint64 var x425 uint64 x424, x425 = bits.Add64(x369, x405, uint64(p521Uint1(x423))) var x426 uint64 var x427 uint64 x426, x427 = bits.Add64(x371, x407, uint64(p521Uint1(x425))) var x428 uint64 var x429 uint64 x428, x429 = bits.Add64(x373, x409, uint64(p521Uint1(x427))) var x430 uint64 var x431 uint64 x430, x431 = bits.Add64(x375, x411, uint64(p521Uint1(x429))) x432 := (uint64(p521Uint1(x431)) + uint64(p521Uint1(x376))) var x433 uint64 var x434 uint64 x434, x433 = bits.Mul64(x4, arg1[8]) var x435 uint64 var x436 uint64 x436, x435 = bits.Mul64(x4, arg1[7]) var x437 uint64 var x438 uint64 x438, x437 = bits.Mul64(x4, arg1[6]) var x439 uint64 var x440 uint64 x440, x439 = bits.Mul64(x4, arg1[5]) var x441 uint64 var x442 uint64 x442, x441 = bits.Mul64(x4, arg1[4]) var x443 uint64 var x444 uint64 x444, x443 = bits.Mul64(x4, arg1[3]) var x445 uint64 var x446 uint64 x446, x445 = bits.Mul64(x4, arg1[2]) var x447 uint64 var x448 uint64 x448, x447 = bits.Mul64(x4, arg1[1]) var x449 uint64 var x450 uint64 x450, x449 = bits.Mul64(x4, arg1[0]) var x451 uint64 var x452 uint64 x451, x452 = bits.Add64(x450, x447, uint64(0x0)) var x453 uint64 var x454 uint64 x453, x454 = bits.Add64(x448, x445, uint64(p521Uint1(x452))) var x455 uint64 var x456 uint64 x455, x456 = bits.Add64(x446, x443, uint64(p521Uint1(x454))) var x457 uint64 var x458 uint64 x457, x458 = bits.Add64(x444, x441, uint64(p521Uint1(x456))) var x459 uint64 var x460 uint64 x459, x460 = bits.Add64(x442, x439, uint64(p521Uint1(x458))) var x461 uint64 var x462 uint64 x461, x462 = bits.Add64(x440, x437, uint64(p521Uint1(x460))) var x463 uint64 var x464 uint64 x463, x464 = bits.Add64(x438, x435, uint64(p521Uint1(x462))) var x465 uint64 var x466 uint64 x465, x466 = bits.Add64(x436, x433, uint64(p521Uint1(x464))) x467 := (uint64(p521Uint1(x466)) + x434) var x468 uint64 var x469 uint64 x468, x469 = bits.Add64(x414, x449, uint64(0x0)) var x470 uint64 var x471 uint64 x470, x471 = bits.Add64(x416, x451, uint64(p521Uint1(x469))) var x472 uint64 var x473 uint64 x472, x473 = bits.Add64(x418, x453, uint64(p521Uint1(x471))) var x474 uint64 var x475 uint64 x474, x475 = bits.Add64(x420, x455, uint64(p521Uint1(x473))) var x476 uint64 var x477 uint64 x476, x477 = bits.Add64(x422, x457, uint64(p521Uint1(x475))) var x478 uint64 var x479 uint64 x478, x479 = bits.Add64(x424, x459, uint64(p521Uint1(x477))) var x480 uint64 var x481 uint64 x480, x481 = bits.Add64(x426, x461, uint64(p521Uint1(x479))) var x482 uint64 var x483 uint64 x482, x483 = bits.Add64(x428, x463, uint64(p521Uint1(x481))) var x484 uint64 var x485 uint64 x484, x485 = bits.Add64(x430, x465, uint64(p521Uint1(x483))) var x486 uint64 var x487 uint64 x486, x487 = bits.Add64(x432, x467, uint64(p521Uint1(x485))) var x488 uint64 var x489 uint64 x489, x488 = bits.Mul64(x468, 0x1ff) var x490 uint64 var x491 uint64 x491, x490 = bits.Mul64(x468, 0xffffffffffffffff) var x492 uint64 var x493 uint64 x493, x492 = bits.Mul64(x468, 0xffffffffffffffff) var x494 uint64 var x495 uint64 x495, x494 = bits.Mul64(x468, 0xffffffffffffffff) var x496 uint64 var x497 uint64 x497, x496 = bits.Mul64(x468, 0xffffffffffffffff) var x498 uint64 var x499 uint64 x499, x498 = bits.Mul64(x468, 0xffffffffffffffff) var x500 uint64 var x501 uint64 x501, x500 = bits.Mul64(x468, 0xffffffffffffffff) var x502 uint64 var x503 uint64 x503, x502 = bits.Mul64(x468, 0xffffffffffffffff) var x504 uint64 var x505 uint64 x505, x504 = bits.Mul64(x468, 0xffffffffffffffff) var x506 uint64 var x507 uint64 x506, x507 = bits.Add64(x505, x502, uint64(0x0)) var x508 uint64 var x509 uint64 x508, x509 = bits.Add64(x503, x500, uint64(p521Uint1(x507))) var x510 uint64 var x511 uint64 x510, x511 = bits.Add64(x501, x498, uint64(p521Uint1(x509))) var x512 uint64 var x513 uint64 x512, x513 = bits.Add64(x499, x496, uint64(p521Uint1(x511))) var x514 uint64 var x515 uint64 x514, x515 = bits.Add64(x497, x494, uint64(p521Uint1(x513))) var x516 uint64 var x517 uint64 x516, x517 = bits.Add64(x495, x492, uint64(p521Uint1(x515))) var x518 uint64 var x519 uint64 x518, x519 = bits.Add64(x493, x490, uint64(p521Uint1(x517))) var x520 uint64 var x521 uint64 x520, x521 = bits.Add64(x491, x488, uint64(p521Uint1(x519))) x522 := (uint64(p521Uint1(x521)) + x489) var x524 uint64 _, x524 = bits.Add64(x468, x504, uint64(0x0)) var x525 uint64 var x526 uint64 x525, x526 = bits.Add64(x470, x506, uint64(p521Uint1(x524))) var x527 uint64 var x528 uint64 x527, x528 = bits.Add64(x472, x508, uint64(p521Uint1(x526))) var x529 uint64 var x530 uint64 x529, x530 = bits.Add64(x474, x510, uint64(p521Uint1(x528))) var x531 uint64 var x532 uint64 x531, x532 = bits.Add64(x476, x512, uint64(p521Uint1(x530))) var x533 uint64 var x534 uint64 x533, x534 = bits.Add64(x478, x514, uint64(p521Uint1(x532))) var x535 uint64 var x536 uint64 x535, x536 = bits.Add64(x480, x516, uint64(p521Uint1(x534))) var x537 uint64 var x538 uint64 x537, x538 = bits.Add64(x482, x518, uint64(p521Uint1(x536))) var x539 uint64 var x540 uint64 x539, x540 = bits.Add64(x484, x520, uint64(p521Uint1(x538))) var x541 uint64 var x542 uint64 x541, x542 = bits.Add64(x486, x522, uint64(p521Uint1(x540))) x543 := (uint64(p521Uint1(x542)) + uint64(p521Uint1(x487))) var x544 uint64 var x545 uint64 x545, x544 = bits.Mul64(x5, arg1[8]) var x546 uint64 var x547 uint64 x547, x546 = bits.Mul64(x5, arg1[7]) var x548 uint64 var x549 uint64 x549, x548 = bits.Mul64(x5, arg1[6]) var x550 uint64 var x551 uint64 x551, x550 = bits.Mul64(x5, arg1[5]) var x552 uint64 var x553 uint64 x553, x552 = bits.Mul64(x5, arg1[4]) var x554 uint64 var x555 uint64 x555, x554 = bits.Mul64(x5, arg1[3]) var x556 uint64 var x557 uint64 x557, x556 = bits.Mul64(x5, arg1[2]) var x558 uint64 var x559 uint64 x559, x558 = bits.Mul64(x5, arg1[1]) var x560 uint64 var x561 uint64 x561, x560 = bits.Mul64(x5, arg1[0]) var x562 uint64 var x563 uint64 x562, x563 = bits.Add64(x561, x558, uint64(0x0)) var x564 uint64 var x565 uint64 x564, x565 = bits.Add64(x559, x556, uint64(p521Uint1(x563))) var x566 uint64 var x567 uint64 x566, x567 = bits.Add64(x557, x554, uint64(p521Uint1(x565))) var x568 uint64 var x569 uint64 x568, x569 = bits.Add64(x555, x552, uint64(p521Uint1(x567))) var x570 uint64 var x571 uint64 x570, x571 = bits.Add64(x553, x550, uint64(p521Uint1(x569))) var x572 uint64 var x573 uint64 x572, x573 = bits.Add64(x551, x548, uint64(p521Uint1(x571))) var x574 uint64 var x575 uint64 x574, x575 = bits.Add64(x549, x546, uint64(p521Uint1(x573))) var x576 uint64 var x577 uint64 x576, x577 = bits.Add64(x547, x544, uint64(p521Uint1(x575))) x578 := (uint64(p521Uint1(x577)) + x545) var x579 uint64 var x580 uint64 x579, x580 = bits.Add64(x525, x560, uint64(0x0)) var x581 uint64 var x582 uint64 x581, x582 = bits.Add64(x527, x562, uint64(p521Uint1(x580))) var x583 uint64 var x584 uint64 x583, x584 = bits.Add64(x529, x564, uint64(p521Uint1(x582))) var x585 uint64 var x586 uint64 x585, x586 = bits.Add64(x531, x566, uint64(p521Uint1(x584))) var x587 uint64 var x588 uint64 x587, x588 = bits.Add64(x533, x568, uint64(p521Uint1(x586))) var x589 uint64 var x590 uint64 x589, x590 = bits.Add64(x535, x570, uint64(p521Uint1(x588))) var x591 uint64 var x592 uint64 x591, x592 = bits.Add64(x537, x572, uint64(p521Uint1(x590))) var x593 uint64 var x594 uint64 x593, x594 = bits.Add64(x539, x574, uint64(p521Uint1(x592))) var x595 uint64 var x596 uint64 x595, x596 = bits.Add64(x541, x576, uint64(p521Uint1(x594))) var x597 uint64 var x598 uint64 x597, x598 = bits.Add64(x543, x578, uint64(p521Uint1(x596))) var x599 uint64 var x600 uint64 x600, x599 = bits.Mul64(x579, 0x1ff) var x601 uint64 var x602 uint64 x602, x601 = bits.Mul64(x579, 0xffffffffffffffff) var x603 uint64 var x604 uint64 x604, x603 = bits.Mul64(x579, 0xffffffffffffffff) var x605 uint64 var x606 uint64 x606, x605 = bits.Mul64(x579, 0xffffffffffffffff) var x607 uint64 var x608 uint64 x608, x607 = bits.Mul64(x579, 0xffffffffffffffff) var x609 uint64 var x610 uint64 x610, x609 = bits.Mul64(x579, 0xffffffffffffffff) var x611 uint64 var x612 uint64 x612, x611 = bits.Mul64(x579, 0xffffffffffffffff) var x613 uint64 var x614 uint64 x614, x613 = bits.Mul64(x579, 0xffffffffffffffff) var x615 uint64 var x616 uint64 x616, x615 = bits.Mul64(x579, 0xffffffffffffffff) var x617 uint64 var x618 uint64 x617, x618 = bits.Add64(x616, x613, uint64(0x0)) var x619 uint64 var x620 uint64 x619, x620 = bits.Add64(x614, x611, uint64(p521Uint1(x618))) var x621 uint64 var x622 uint64 x621, x622 = bits.Add64(x612, x609, uint64(p521Uint1(x620))) var x623 uint64 var x624 uint64 x623, x624 = bits.Add64(x610, x607, uint64(p521Uint1(x622))) var x625 uint64 var x626 uint64 x625, x626 = bits.Add64(x608, x605, uint64(p521Uint1(x624))) var x627 uint64 var x628 uint64 x627, x628 = bits.Add64(x606, x603, uint64(p521Uint1(x626))) var x629 uint64 var x630 uint64 x629, x630 = bits.Add64(x604, x601, uint64(p521Uint1(x628))) var x631 uint64 var x632 uint64 x631, x632 = bits.Add64(x602, x599, uint64(p521Uint1(x630))) x633 := (uint64(p521Uint1(x632)) + x600) var x635 uint64 _, x635 = bits.Add64(x579, x615, uint64(0x0)) var x636 uint64 var x637 uint64 x636, x637 = bits.Add64(x581, x617, uint64(p521Uint1(x635))) var x638 uint64 var x639 uint64 x638, x639 = bits.Add64(x583, x619, uint64(p521Uint1(x637))) var x640 uint64 var x641 uint64 x640, x641 = bits.Add64(x585, x621, uint64(p521Uint1(x639))) var x642 uint64 var x643 uint64 x642, x643 = bits.Add64(x587, x623, uint64(p521Uint1(x641))) var x644 uint64 var x645 uint64 x644, x645 = bits.Add64(x589, x625, uint64(p521Uint1(x643))) var x646 uint64 var x647 uint64 x646, x647 = bits.Add64(x591, x627, uint64(p521Uint1(x645))) var x648 uint64 var x649 uint64 x648, x649 = bits.Add64(x593, x629, uint64(p521Uint1(x647))) var x650 uint64 var x651 uint64 x650, x651 = bits.Add64(x595, x631, uint64(p521Uint1(x649))) var x652 uint64 var x653 uint64 x652, x653 = bits.Add64(x597, x633, uint64(p521Uint1(x651))) x654 := (uint64(p521Uint1(x653)) + uint64(p521Uint1(x598))) var x655 uint64 var x656 uint64 x656, x655 = bits.Mul64(x6, arg1[8]) var x657 uint64 var x658 uint64 x658, x657 = bits.Mul64(x6, arg1[7]) var x659 uint64 var x660 uint64 x660, x659 = bits.Mul64(x6, arg1[6]) var x661 uint64 var x662 uint64 x662, x661 = bits.Mul64(x6, arg1[5]) var x663 uint64 var x664 uint64 x664, x663 = bits.Mul64(x6, arg1[4]) var x665 uint64 var x666 uint64 x666, x665 = bits.Mul64(x6, arg1[3]) var x667 uint64 var x668 uint64 x668, x667 = bits.Mul64(x6, arg1[2]) var x669 uint64 var x670 uint64 x670, x669 = bits.Mul64(x6, arg1[1]) var x671 uint64 var x672 uint64 x672, x671 = bits.Mul64(x6, arg1[0]) var x673 uint64 var x674 uint64 x673, x674 = bits.Add64(x672, x669, uint64(0x0)) var x675 uint64 var x676 uint64 x675, x676 = bits.Add64(x670, x667, uint64(p521Uint1(x674))) var x677 uint64 var x678 uint64 x677, x678 = bits.Add64(x668, x665, uint64(p521Uint1(x676))) var x679 uint64 var x680 uint64 x679, x680 = bits.Add64(x666, x663, uint64(p521Uint1(x678))) var x681 uint64 var x682 uint64 x681, x682 = bits.Add64(x664, x661, uint64(p521Uint1(x680))) var x683 uint64 var x684 uint64 x683, x684 = bits.Add64(x662, x659, uint64(p521Uint1(x682))) var x685 uint64 var x686 uint64 x685, x686 = bits.Add64(x660, x657, uint64(p521Uint1(x684))) var x687 uint64 var x688 uint64 x687, x688 = bits.Add64(x658, x655, uint64(p521Uint1(x686))) x689 := (uint64(p521Uint1(x688)) + x656) var x690 uint64 var x691 uint64 x690, x691 = bits.Add64(x636, x671, uint64(0x0)) var x692 uint64 var x693 uint64 x692, x693 = bits.Add64(x638, x673, uint64(p521Uint1(x691))) var x694 uint64 var x695 uint64 x694, x695 = bits.Add64(x640, x675, uint64(p521Uint1(x693))) var x696 uint64 var x697 uint64 x696, x697 = bits.Add64(x642, x677, uint64(p521Uint1(x695))) var x698 uint64 var x699 uint64 x698, x699 = bits.Add64(x644, x679, uint64(p521Uint1(x697))) var x700 uint64 var x701 uint64 x700, x701 = bits.Add64(x646, x681, uint64(p521Uint1(x699))) var x702 uint64 var x703 uint64 x702, x703 = bits.Add64(x648, x683, uint64(p521Uint1(x701))) var x704 uint64 var x705 uint64 x704, x705 = bits.Add64(x650, x685, uint64(p521Uint1(x703))) var x706 uint64 var x707 uint64 x706, x707 = bits.Add64(x652, x687, uint64(p521Uint1(x705))) var x708 uint64 var x709 uint64 x708, x709 = bits.Add64(x654, x689, uint64(p521Uint1(x707))) var x710 uint64 var x711 uint64 x711, x710 = bits.Mul64(x690, 0x1ff) var x712 uint64 var x713 uint64 x713, x712 = bits.Mul64(x690, 0xffffffffffffffff) var x714 uint64 var x715 uint64 x715, x714 = bits.Mul64(x690, 0xffffffffffffffff) var x716 uint64 var x717 uint64 x717, x716 = bits.Mul64(x690, 0xffffffffffffffff) var x718 uint64 var x719 uint64 x719, x718 = bits.Mul64(x690, 0xffffffffffffffff) var x720 uint64 var x721 uint64 x721, x720 = bits.Mul64(x690, 0xffffffffffffffff) var x722 uint64 var x723 uint64 x723, x722 = bits.Mul64(x690, 0xffffffffffffffff) var x724 uint64 var x725 uint64 x725, x724 = bits.Mul64(x690, 0xffffffffffffffff) var x726 uint64 var x727 uint64 x727, x726 = bits.Mul64(x690, 0xffffffffffffffff) var x728 uint64 var x729 uint64 x728, x729 = bits.Add64(x727, x724, uint64(0x0)) var x730 uint64 var x731 uint64 x730, x731 = bits.Add64(x725, x722, uint64(p521Uint1(x729))) var x732 uint64 var x733 uint64 x732, x733 = bits.Add64(x723, x720, uint64(p521Uint1(x731))) var x734 uint64 var x735 uint64 x734, x735 = bits.Add64(x721, x718, uint64(p521Uint1(x733))) var x736 uint64 var x737 uint64 x736, x737 = bits.Add64(x719, x716, uint64(p521Uint1(x735))) var x738 uint64 var x739 uint64 x738, x739 = bits.Add64(x717, x714, uint64(p521Uint1(x737))) var x740 uint64 var x741 uint64 x740, x741 = bits.Add64(x715, x712, uint64(p521Uint1(x739))) var x742 uint64 var x743 uint64 x742, x743 = bits.Add64(x713, x710, uint64(p521Uint1(x741))) x744 := (uint64(p521Uint1(x743)) + x711) var x746 uint64 _, x746 = bits.Add64(x690, x726, uint64(0x0)) var x747 uint64 var x748 uint64 x747, x748 = bits.Add64(x692, x728, uint64(p521Uint1(x746))) var x749 uint64 var x750 uint64 x749, x750 = bits.Add64(x694, x730, uint64(p521Uint1(x748))) var x751 uint64 var x752 uint64 x751, x752 = bits.Add64(x696, x732, uint64(p521Uint1(x750))) var x753 uint64 var x754 uint64 x753, x754 = bits.Add64(x698, x734, uint64(p521Uint1(x752))) var x755 uint64 var x756 uint64 x755, x756 = bits.Add64(x700, x736, uint64(p521Uint1(x754))) var x757 uint64 var x758 uint64 x757, x758 = bits.Add64(x702, x738, uint64(p521Uint1(x756))) var x759 uint64 var x760 uint64 x759, x760 = bits.Add64(x704, x740, uint64(p521Uint1(x758))) var x761 uint64 var x762 uint64 x761, x762 = bits.Add64(x706, x742, uint64(p521Uint1(x760))) var x763 uint64 var x764 uint64 x763, x764 = bits.Add64(x708, x744, uint64(p521Uint1(x762))) x765 := (uint64(p521Uint1(x764)) + uint64(p521Uint1(x709))) var x766 uint64 var x767 uint64 x767, x766 = bits.Mul64(x7, arg1[8]) var x768 uint64 var x769 uint64 x769, x768 = bits.Mul64(x7, arg1[7]) var x770 uint64 var x771 uint64 x771, x770 = bits.Mul64(x7, arg1[6]) var x772 uint64 var x773 uint64 x773, x772 = bits.Mul64(x7, arg1[5]) var x774 uint64 var x775 uint64 x775, x774 = bits.Mul64(x7, arg1[4]) var x776 uint64 var x777 uint64 x777, x776 = bits.Mul64(x7, arg1[3]) var x778 uint64 var x779 uint64 x779, x778 = bits.Mul64(x7, arg1[2]) var x780 uint64 var x781 uint64 x781, x780 = bits.Mul64(x7, arg1[1]) var x782 uint64 var x783 uint64 x783, x782 = bits.Mul64(x7, arg1[0]) var x784 uint64 var x785 uint64 x784, x785 = bits.Add64(x783, x780, uint64(0x0)) var x786 uint64 var x787 uint64 x786, x787 = bits.Add64(x781, x778, uint64(p521Uint1(x785))) var x788 uint64 var x789 uint64 x788, x789 = bits.Add64(x779, x776, uint64(p521Uint1(x787))) var x790 uint64 var x791 uint64 x790, x791 = bits.Add64(x777, x774, uint64(p521Uint1(x789))) var x792 uint64 var x793 uint64 x792, x793 = bits.Add64(x775, x772, uint64(p521Uint1(x791))) var x794 uint64 var x795 uint64 x794, x795 = bits.Add64(x773, x770, uint64(p521Uint1(x793))) var x796 uint64 var x797 uint64 x796, x797 = bits.Add64(x771, x768, uint64(p521Uint1(x795))) var x798 uint64 var x799 uint64 x798, x799 = bits.Add64(x769, x766, uint64(p521Uint1(x797))) x800 := (uint64(p521Uint1(x799)) + x767) var x801 uint64 var x802 uint64 x801, x802 = bits.Add64(x747, x782, uint64(0x0)) var x803 uint64 var x804 uint64 x803, x804 = bits.Add64(x749, x784, uint64(p521Uint1(x802))) var x805 uint64 var x806 uint64 x805, x806 = bits.Add64(x751, x786, uint64(p521Uint1(x804))) var x807 uint64 var x808 uint64 x807, x808 = bits.Add64(x753, x788, uint64(p521Uint1(x806))) var x809 uint64 var x810 uint64 x809, x810 = bits.Add64(x755, x790, uint64(p521Uint1(x808))) var x811 uint64 var x812 uint64 x811, x812 = bits.Add64(x757, x792, uint64(p521Uint1(x810))) var x813 uint64 var x814 uint64 x813, x814 = bits.Add64(x759, x794, uint64(p521Uint1(x812))) var x815 uint64 var x816 uint64 x815, x816 = bits.Add64(x761, x796, uint64(p521Uint1(x814))) var x817 uint64 var x818 uint64 x817, x818 = bits.Add64(x763, x798, uint64(p521Uint1(x816))) var x819 uint64 var x820 uint64 x819, x820 = bits.Add64(x765, x800, uint64(p521Uint1(x818))) var x821 uint64 var x822 uint64 x822, x821 = bits.Mul64(x801, 0x1ff) var x823 uint64 var x824 uint64 x824, x823 = bits.Mul64(x801, 0xffffffffffffffff) var x825 uint64 var x826 uint64 x826, x825 = bits.Mul64(x801, 0xffffffffffffffff) var x827 uint64 var x828 uint64 x828, x827 = bits.Mul64(x801, 0xffffffffffffffff) var x829 uint64 var x830 uint64 x830, x829 = bits.Mul64(x801, 0xffffffffffffffff) var x831 uint64 var x832 uint64 x832, x831 = bits.Mul64(x801, 0xffffffffffffffff) var x833 uint64 var x834 uint64 x834, x833 = bits.Mul64(x801, 0xffffffffffffffff) var x835 uint64 var x836 uint64 x836, x835 = bits.Mul64(x801, 0xffffffffffffffff) var x837 uint64 var x838 uint64 x838, x837 = bits.Mul64(x801, 0xffffffffffffffff) var x839 uint64 var x840 uint64 x839, x840 = bits.Add64(x838, x835, uint64(0x0)) var x841 uint64 var x842 uint64 x841, x842 = bits.Add64(x836, x833, uint64(p521Uint1(x840))) var x843 uint64 var x844 uint64 x843, x844 = bits.Add64(x834, x831, uint64(p521Uint1(x842))) var x845 uint64 var x846 uint64 x845, x846 = bits.Add64(x832, x829, uint64(p521Uint1(x844))) var x847 uint64 var x848 uint64 x847, x848 = bits.Add64(x830, x827, uint64(p521Uint1(x846))) var x849 uint64 var x850 uint64 x849, x850 = bits.Add64(x828, x825, uint64(p521Uint1(x848))) var x851 uint64 var x852 uint64 x851, x852 = bits.Add64(x826, x823, uint64(p521Uint1(x850))) var x853 uint64 var x854 uint64 x853, x854 = bits.Add64(x824, x821, uint64(p521Uint1(x852))) x855 := (uint64(p521Uint1(x854)) + x822) var x857 uint64 _, x857 = bits.Add64(x801, x837, uint64(0x0)) var x858 uint64 var x859 uint64 x858, x859 = bits.Add64(x803, x839, uint64(p521Uint1(x857))) var x860 uint64 var x861 uint64 x860, x861 = bits.Add64(x805, x841, uint64(p521Uint1(x859))) var x862 uint64 var x863 uint64 x862, x863 = bits.Add64(x807, x843, uint64(p521Uint1(x861))) var x864 uint64 var x865 uint64 x864, x865 = bits.Add64(x809, x845, uint64(p521Uint1(x863))) var x866 uint64 var x867 uint64 x866, x867 = bits.Add64(x811, x847, uint64(p521Uint1(x865))) var x868 uint64 var x869 uint64 x868, x869 = bits.Add64(x813, x849, uint64(p521Uint1(x867))) var x870 uint64 var x871 uint64 x870, x871 = bits.Add64(x815, x851, uint64(p521Uint1(x869))) var x872 uint64 var x873 uint64 x872, x873 = bits.Add64(x817, x853, uint64(p521Uint1(x871))) var x874 uint64 var x875 uint64 x874, x875 = bits.Add64(x819, x855, uint64(p521Uint1(x873))) x876 := (uint64(p521Uint1(x875)) + uint64(p521Uint1(x820))) var x877 uint64 var x878 uint64 x878, x877 = bits.Mul64(x8, arg1[8]) var x879 uint64 var x880 uint64 x880, x879 = bits.Mul64(x8, arg1[7]) var x881 uint64 var x882 uint64 x882, x881 = bits.Mul64(x8, arg1[6]) var x883 uint64 var x884 uint64 x884, x883 = bits.Mul64(x8, arg1[5]) var x885 uint64 var x886 uint64 x886, x885 = bits.Mul64(x8, arg1[4]) var x887 uint64 var x888 uint64 x888, x887 = bits.Mul64(x8, arg1[3]) var x889 uint64 var x890 uint64 x890, x889 = bits.Mul64(x8, arg1[2]) var x891 uint64 var x892 uint64 x892, x891 = bits.Mul64(x8, arg1[1]) var x893 uint64 var x894 uint64 x894, x893 = bits.Mul64(x8, arg1[0]) var x895 uint64 var x896 uint64 x895, x896 = bits.Add64(x894, x891, uint64(0x0)) var x897 uint64 var x898 uint64 x897, x898 = bits.Add64(x892, x889, uint64(p521Uint1(x896))) var x899 uint64 var x900 uint64 x899, x900 = bits.Add64(x890, x887, uint64(p521Uint1(x898))) var x901 uint64 var x902 uint64 x901, x902 = bits.Add64(x888, x885, uint64(p521Uint1(x900))) var x903 uint64 var x904 uint64 x903, x904 = bits.Add64(x886, x883, uint64(p521Uint1(x902))) var x905 uint64 var x906 uint64 x905, x906 = bits.Add64(x884, x881, uint64(p521Uint1(x904))) var x907 uint64 var x908 uint64 x907, x908 = bits.Add64(x882, x879, uint64(p521Uint1(x906))) var x909 uint64 var x910 uint64 x909, x910 = bits.Add64(x880, x877, uint64(p521Uint1(x908))) x911 := (uint64(p521Uint1(x910)) + x878) var x912 uint64 var x913 uint64 x912, x913 = bits.Add64(x858, x893, uint64(0x0)) var x914 uint64 var x915 uint64 x914, x915 = bits.Add64(x860, x895, uint64(p521Uint1(x913))) var x916 uint64 var x917 uint64 x916, x917 = bits.Add64(x862, x897, uint64(p521Uint1(x915))) var x918 uint64 var x919 uint64 x918, x919 = bits.Add64(x864, x899, uint64(p521Uint1(x917))) var x920 uint64 var x921 uint64 x920, x921 = bits.Add64(x866, x901, uint64(p521Uint1(x919))) var x922 uint64 var x923 uint64 x922, x923 = bits.Add64(x868, x903, uint64(p521Uint1(x921))) var x924 uint64 var x925 uint64 x924, x925 = bits.Add64(x870, x905, uint64(p521Uint1(x923))) var x926 uint64 var x927 uint64 x926, x927 = bits.Add64(x872, x907, uint64(p521Uint1(x925))) var x928 uint64 var x929 uint64 x928, x929 = bits.Add64(x874, x909, uint64(p521Uint1(x927))) var x930 uint64 var x931 uint64 x930, x931 = bits.Add64(x876, x911, uint64(p521Uint1(x929))) var x932 uint64 var x933 uint64 x933, x932 = bits.Mul64(x912, 0x1ff) var x934 uint64 var x935 uint64 x935, x934 = bits.Mul64(x912, 0xffffffffffffffff) var x936 uint64 var x937 uint64 x937, x936 = bits.Mul64(x912, 0xffffffffffffffff) var x938 uint64 var x939 uint64 x939, x938 = bits.Mul64(x912, 0xffffffffffffffff) var x940 uint64 var x941 uint64 x941, x940 = bits.Mul64(x912, 0xffffffffffffffff) var x942 uint64 var x943 uint64 x943, x942 = bits.Mul64(x912, 0xffffffffffffffff) var x944 uint64 var x945 uint64 x945, x944 = bits.Mul64(x912, 0xffffffffffffffff) var x946 uint64 var x947 uint64 x947, x946 = bits.Mul64(x912, 0xffffffffffffffff) var x948 uint64 var x949 uint64 x949, x948 = bits.Mul64(x912, 0xffffffffffffffff) var x950 uint64 var x951 uint64 x950, x951 = bits.Add64(x949, x946, uint64(0x0)) var x952 uint64 var x953 uint64 x952, x953 = bits.Add64(x947, x944, uint64(p521Uint1(x951))) var x954 uint64 var x955 uint64 x954, x955 = bits.Add64(x945, x942, uint64(p521Uint1(x953))) var x956 uint64 var x957 uint64 x956, x957 = bits.Add64(x943, x940, uint64(p521Uint1(x955))) var x958 uint64 var x959 uint64 x958, x959 = bits.Add64(x941, x938, uint64(p521Uint1(x957))) var x960 uint64 var x961 uint64 x960, x961 = bits.Add64(x939, x936, uint64(p521Uint1(x959))) var x962 uint64 var x963 uint64 x962, x963 = bits.Add64(x937, x934, uint64(p521Uint1(x961))) var x964 uint64 var x965 uint64 x964, x965 = bits.Add64(x935, x932, uint64(p521Uint1(x963))) x966 := (uint64(p521Uint1(x965)) + x933) var x968 uint64 _, x968 = bits.Add64(x912, x948, uint64(0x0)) var x969 uint64 var x970 uint64 x969, x970 = bits.Add64(x914, x950, uint64(p521Uint1(x968))) var x971 uint64 var x972 uint64 x971, x972 = bits.Add64(x916, x952, uint64(p521Uint1(x970))) var x973 uint64 var x974 uint64 x973, x974 = bits.Add64(x918, x954, uint64(p521Uint1(x972))) var x975 uint64 var x976 uint64 x975, x976 = bits.Add64(x920, x956, uint64(p521Uint1(x974))) var x977 uint64 var x978 uint64 x977, x978 = bits.Add64(x922, x958, uint64(p521Uint1(x976))) var x979 uint64 var x980 uint64 x979, x980 = bits.Add64(x924, x960, uint64(p521Uint1(x978))) var x981 uint64 var x982 uint64 x981, x982 = bits.Add64(x926, x962, uint64(p521Uint1(x980))) var x983 uint64 var x984 uint64 x983, x984 = bits.Add64(x928, x964, uint64(p521Uint1(x982))) var x985 uint64 var x986 uint64 x985, x986 = bits.Add64(x930, x966, uint64(p521Uint1(x984))) x987 := (uint64(p521Uint1(x986)) + uint64(p521Uint1(x931))) var x988 uint64 var x989 uint64 x988, x989 = bits.Sub64(x969, 0xffffffffffffffff, uint64(0x0)) var x990 uint64 var x991 uint64 x990, x991 = bits.Sub64(x971, 0xffffffffffffffff, uint64(p521Uint1(x989))) var x992 uint64 var x993 uint64 x992, x993 = bits.Sub64(x973, 0xffffffffffffffff, uint64(p521Uint1(x991))) var x994 uint64 var x995 uint64 x994, x995 = bits.Sub64(x975, 0xffffffffffffffff, uint64(p521Uint1(x993))) var x996 uint64 var x997 uint64 x996, x997 = bits.Sub64(x977, 0xffffffffffffffff, uint64(p521Uint1(x995))) var x998 uint64 var x999 uint64 x998, x999 = bits.Sub64(x979, 0xffffffffffffffff, uint64(p521Uint1(x997))) var x1000 uint64 var x1001 uint64 x1000, x1001 = bits.Sub64(x981, 0xffffffffffffffff, uint64(p521Uint1(x999))) var x1002 uint64 var x1003 uint64 x1002, x1003 = bits.Sub64(x983, 0xffffffffffffffff, uint64(p521Uint1(x1001))) var x1004 uint64 var x1005 uint64 x1004, x1005 = bits.Sub64(x985, 0x1ff, uint64(p521Uint1(x1003))) var x1007 uint64 _, x1007 = bits.Sub64(x987, uint64(0x0), uint64(p521Uint1(x1005))) var x1008 uint64 p521CmovznzU64(&x1008, p521Uint1(x1007), x988, x969) var x1009 uint64 p521CmovznzU64(&x1009, p521Uint1(x1007), x990, x971) var x1010 uint64 p521CmovznzU64(&x1010, p521Uint1(x1007), x992, x973) var x1011 uint64 p521CmovznzU64(&x1011, p521Uint1(x1007), x994, x975) var x1012 uint64 p521CmovznzU64(&x1012, p521Uint1(x1007), x996, x977) var x1013 uint64 p521CmovznzU64(&x1013, p521Uint1(x1007), x998, x979) var x1014 uint64 p521CmovznzU64(&x1014, p521Uint1(x1007), x1000, x981) var x1015 uint64 p521CmovznzU64(&x1015, p521Uint1(x1007), x1002, x983) var x1016 uint64 p521CmovznzU64(&x1016, p521Uint1(x1007), x1004, x985) out1[0] = x1008 out1[1] = x1009 out1[2] = x1010 out1[3] = x1011 out1[4] = x1012 out1[5] = x1013 out1[6] = x1014 out1[7] = x1015 out1[8] = x1016 } // p521Add adds two field elements in the Montgomery domain. // // Preconditions: // 0 ≤ eval arg1 < m // 0 ≤ eval arg2 < m // Postconditions: // eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m // 0 ≤ eval out1 < m // func p521Add(out1 *p521MontgomeryDomainFieldElement, arg1 *p521MontgomeryDomainFieldElement, arg2 *p521MontgomeryDomainFieldElement) { var x1 uint64 var x2 uint64 x1, x2 = bits.Add64(arg1[0], arg2[0], uint64(0x0)) var x3 uint64 var x4 uint64 x3, x4 = bits.Add64(arg1[1], arg2[1], uint64(p521Uint1(x2))) var x5 uint64 var x6 uint64 x5, x6 = bits.Add64(arg1[2], arg2[2], uint64(p521Uint1(x4))) var x7 uint64 var x8 uint64 x7, x8 = bits.Add64(arg1[3], arg2[3], uint64(p521Uint1(x6))) var x9 uint64 var x10 uint64 x9, x10 = bits.Add64(arg1[4], arg2[4], uint64(p521Uint1(x8))) var x11 uint64 var x12 uint64 x11, x12 = bits.Add64(arg1[5], arg2[5], uint64(p521Uint1(x10))) var x13 uint64 var x14 uint64 x13, x14 = bits.Add64(arg1[6], arg2[6], uint64(p521Uint1(x12))) var x15 uint64 var x16 uint64 x15, x16 = bits.Add64(arg1[7], arg2[7], uint64(p521Uint1(x14))) var x17 uint64 var x18 uint64 x17, x18 = bits.Add64(arg1[8], arg2[8], uint64(p521Uint1(x16))) var x19 uint64 var x20 uint64 x19, x20 = bits.Sub64(x1, 0xffffffffffffffff, uint64(0x0)) var x21 uint64 var x22 uint64 x21, x22 = bits.Sub64(x3, 0xffffffffffffffff, uint64(p521Uint1(x20))) var x23 uint64 var x24 uint64 x23, x24 = bits.Sub64(x5, 0xffffffffffffffff, uint64(p521Uint1(x22))) var x25 uint64 var x26 uint64 x25, x26 = bits.Sub64(x7, 0xffffffffffffffff, uint64(p521Uint1(x24))) var x27 uint64 var x28 uint64 x27, x28 = bits.Sub64(x9, 0xffffffffffffffff, uint64(p521Uint1(x26))) var x29 uint64 var x30 uint64 x29, x30 = bits.Sub64(x11, 0xffffffffffffffff, uint64(p521Uint1(x28))) var x31 uint64 var x32 uint64 x31, x32 = bits.Sub64(x13, 0xffffffffffffffff, uint64(p521Uint1(x30))) var x33 uint64 var x34 uint64 x33, x34 = bits.Sub64(x15, 0xffffffffffffffff, uint64(p521Uint1(x32))) var x35 uint64 var x36 uint64 x35, x36 = bits.Sub64(x17, 0x1ff, uint64(p521Uint1(x34))) var x38 uint64 _, x38 = bits.Sub64(uint64(p521Uint1(x18)), uint64(0x0), uint64(p521Uint1(x36))) var x39 uint64 p521CmovznzU64(&x39, p521Uint1(x38), x19, x1) var x40 uint64 p521CmovznzU64(&x40, p521Uint1(x38), x21, x3) var x41 uint64 p521CmovznzU64(&x41, p521Uint1(x38), x23, x5) var x42 uint64 p521CmovznzU64(&x42, p521Uint1(x38), x25, x7) var x43 uint64 p521CmovznzU64(&x43, p521Uint1(x38), x27, x9) var x44 uint64 p521CmovznzU64(&x44, p521Uint1(x38), x29, x11) var x45 uint64 p521CmovznzU64(&x45, p521Uint1(x38), x31, x13) var x46 uint64 p521CmovznzU64(&x46, p521Uint1(x38), x33, x15) var x47 uint64 p521CmovznzU64(&x47, p521Uint1(x38), x35, x17) out1[0] = x39 out1[1] = x40 out1[2] = x41 out1[3] = x42 out1[4] = x43 out1[5] = x44 out1[6] = x45 out1[7] = x46 out1[8] = x47 } // p521Sub subtracts two field elements in the Montgomery domain. // // Preconditions: // 0 ≤ eval arg1 < m // 0 ≤ eval arg2 < m // Postconditions: // eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m // 0 ≤ eval out1 < m // func p521Sub(out1 *p521MontgomeryDomainFieldElement, arg1 *p521MontgomeryDomainFieldElement, arg2 *p521MontgomeryDomainFieldElement) { var x1 uint64 var x2 uint64 x1, x2 = bits.Sub64(arg1[0], arg2[0], uint64(0x0)) var x3 uint64 var x4 uint64 x3, x4 = bits.Sub64(arg1[1], arg2[1], uint64(p521Uint1(x2))) var x5 uint64 var x6 uint64 x5, x6 = bits.Sub64(arg1[2], arg2[2], uint64(p521Uint1(x4))) var x7 uint64 var x8 uint64 x7, x8 = bits.Sub64(arg1[3], arg2[3], uint64(p521Uint1(x6))) var x9 uint64 var x10 uint64 x9, x10 = bits.Sub64(arg1[4], arg2[4], uint64(p521Uint1(x8))) var x11 uint64 var x12 uint64 x11, x12 = bits.Sub64(arg1[5], arg2[5], uint64(p521Uint1(x10))) var x13 uint64 var x14 uint64 x13, x14 = bits.Sub64(arg1[6], arg2[6], uint64(p521Uint1(x12))) var x15 uint64 var x16 uint64 x15, x16 = bits.Sub64(arg1[7], arg2[7], uint64(p521Uint1(x14))) var x17 uint64 var x18 uint64 x17, x18 = bits.Sub64(arg1[8], arg2[8], uint64(p521Uint1(x16))) var x19 uint64 p521CmovznzU64(&x19, p521Uint1(x18), uint64(0x0), 0xffffffffffffffff) var x20 uint64 var x21 uint64 x20, x21 = bits.Add64(x1, x19, uint64(0x0)) var x22 uint64 var x23 uint64 x22, x23 = bits.Add64(x3, x19, uint64(p521Uint1(x21))) var x24 uint64 var x25 uint64 x24, x25 = bits.Add64(x5, x19, uint64(p521Uint1(x23))) var x26 uint64 var x27 uint64 x26, x27 = bits.Add64(x7, x19, uint64(p521Uint1(x25))) var x28 uint64 var x29 uint64 x28, x29 = bits.Add64(x9, x19, uint64(p521Uint1(x27))) var x30 uint64 var x31 uint64 x30, x31 = bits.Add64(x11, x19, uint64(p521Uint1(x29))) var x32 uint64 var x33 uint64 x32, x33 = bits.Add64(x13, x19, uint64(p521Uint1(x31))) var x34 uint64 var x35 uint64 x34, x35 = bits.Add64(x15, x19, uint64(p521Uint1(x33))) var x36 uint64 x36, _ = bits.Add64(x17, (x19 & 0x1ff), uint64(p521Uint1(x35))) out1[0] = x20 out1[1] = x22 out1[2] = x24 out1[3] = x26 out1[4] = x28 out1[5] = x30 out1[6] = x32 out1[7] = x34 out1[8] = x36 } // p521SetOne returns the field element one in the Montgomery domain. // // Postconditions: // eval (from_montgomery out1) mod m = 1 mod m // 0 ≤ eval out1 < m // func p521SetOne(out1 *p521MontgomeryDomainFieldElement) { out1[0] = 0x80000000000000 out1[1] = uint64(0x0) out1[2] = uint64(0x0) out1[3] = uint64(0x0) out1[4] = uint64(0x0) out1[5] = uint64(0x0) out1[6] = uint64(0x0) out1[7] = uint64(0x0) out1[8] = uint64(0x0) } // p521FromMontgomery translates a field element out of the Montgomery domain. // // Preconditions: // 0 ≤ eval arg1 < m // Postconditions: // eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^9) mod m // 0 ≤ eval out1 < m // func p521FromMontgomery(out1 *p521NonMontgomeryDomainFieldElement, arg1 *p521MontgomeryDomainFieldElement) { x1 := arg1[0] var x2 uint64 var x3 uint64 x3, x2 = bits.Mul64(x1, 0x1ff) var x4 uint64 var x5 uint64 x5, x4 = bits.Mul64(x1, 0xffffffffffffffff) var x6 uint64 var x7 uint64 x7, x6 = bits.Mul64(x1, 0xffffffffffffffff) var x8 uint64 var x9 uint64 x9, x8 = bits.Mul64(x1, 0xffffffffffffffff) var x10 uint64 var x11 uint64 x11, x10 = bits.Mul64(x1, 0xffffffffffffffff) var x12 uint64 var x13 uint64 x13, x12 = bits.Mul64(x1, 0xffffffffffffffff) var x14 uint64 var x15 uint64 x15, x14 = bits.Mul64(x1, 0xffffffffffffffff) var x16 uint64 var x17 uint64 x17, x16 = bits.Mul64(x1, 0xffffffffffffffff) var x18 uint64 var x19 uint64 x19, x18 = bits.Mul64(x1, 0xffffffffffffffff) var x20 uint64 var x21 uint64 x20, x21 = bits.Add64(x19, x16, uint64(0x0)) var x22 uint64 var x23 uint64 x22, x23 = bits.Add64(x17, x14, uint64(p521Uint1(x21))) var x24 uint64 var x25 uint64 x24, x25 = bits.Add64(x15, x12, uint64(p521Uint1(x23))) var x26 uint64 var x27 uint64 x26, x27 = bits.Add64(x13, x10, uint64(p521Uint1(x25))) var x28 uint64 var x29 uint64 x28, x29 = bits.Add64(x11, x8, uint64(p521Uint1(x27))) var x30 uint64 var x31 uint64 x30, x31 = bits.Add64(x9, x6, uint64(p521Uint1(x29))) var x32 uint64 var x33 uint64 x32, x33 = bits.Add64(x7, x4, uint64(p521Uint1(x31))) var x34 uint64 var x35 uint64 x34, x35 = bits.Add64(x5, x2, uint64(p521Uint1(x33))) var x37 uint64 _, x37 = bits.Add64(x1, x18, uint64(0x0)) var x38 uint64 var x39 uint64 x38, x39 = bits.Add64(uint64(0x0), x20, uint64(p521Uint1(x37))) var x40 uint64 var x41 uint64 x40, x41 = bits.Add64(uint64(0x0), x22, uint64(p521Uint1(x39))) var x42 uint64 var x43 uint64 x42, x43 = bits.Add64(uint64(0x0), x24, uint64(p521Uint1(x41))) var x44 uint64 var x45 uint64 x44, x45 = bits.Add64(uint64(0x0), x26, uint64(p521Uint1(x43))) var x46 uint64 var x47 uint64 x46, x47 = bits.Add64(uint64(0x0), x28, uint64(p521Uint1(x45))) var x48 uint64 var x49 uint64 x48, x49 = bits.Add64(uint64(0x0), x30, uint64(p521Uint1(x47))) var x50 uint64 var x51 uint64 x50, x51 = bits.Add64(uint64(0x0), x32, uint64(p521Uint1(x49))) var x52 uint64 var x53 uint64 x52, x53 = bits.Add64(uint64(0x0), x34, uint64(p521Uint1(x51))) var x54 uint64 var x55 uint64 x54, x55 = bits.Add64(x38, arg1[1], uint64(0x0)) var x56 uint64 var x57 uint64 x56, x57 = bits.Add64(x40, uint64(0x0), uint64(p521Uint1(x55))) var x58 uint64 var x59 uint64 x58, x59 = bits.Add64(x42, uint64(0x0), uint64(p521Uint1(x57))) var x60 uint64 var x61 uint64 x60, x61 = bits.Add64(x44, uint64(0x0), uint64(p521Uint1(x59))) var x62 uint64 var x63 uint64 x62, x63 = bits.Add64(x46, uint64(0x0), uint64(p521Uint1(x61))) var x64 uint64 var x65 uint64 x64, x65 = bits.Add64(x48, uint64(0x0), uint64(p521Uint1(x63))) var x66 uint64 var x67 uint64 x66, x67 = bits.Add64(x50, uint64(0x0), uint64(p521Uint1(x65))) var x68 uint64 var x69 uint64 x68, x69 = bits.Add64(x52, uint64(0x0), uint64(p521Uint1(x67))) var x70 uint64 var x71 uint64 x71, x70 = bits.Mul64(x54, 0x1ff) var x72 uint64 var x73 uint64 x73, x72 = bits.Mul64(x54, 0xffffffffffffffff) var x74 uint64 var x75 uint64 x75, x74 = bits.Mul64(x54, 0xffffffffffffffff) var x76 uint64 var x77 uint64 x77, x76 = bits.Mul64(x54, 0xffffffffffffffff) var x78 uint64 var x79 uint64 x79, x78 = bits.Mul64(x54, 0xffffffffffffffff) var x80 uint64 var x81 uint64 x81, x80 = bits.Mul64(x54, 0xffffffffffffffff) var x82 uint64 var x83 uint64 x83, x82 = bits.Mul64(x54, 0xffffffffffffffff) var x84 uint64 var x85 uint64 x85, x84 = bits.Mul64(x54, 0xffffffffffffffff) var x86 uint64 var x87 uint64 x87, x86 = bits.Mul64(x54, 0xffffffffffffffff) var x88 uint64 var x89 uint64 x88, x89 = bits.Add64(x87, x84, uint64(0x0)) var x90 uint64 var x91 uint64 x90, x91 = bits.Add64(x85, x82, uint64(p521Uint1(x89))) var x92 uint64 var x93 uint64 x92, x93 = bits.Add64(x83, x80, uint64(p521Uint1(x91))) var x94 uint64 var x95 uint64 x94, x95 = bits.Add64(x81, x78, uint64(p521Uint1(x93))) var x96 uint64 var x97 uint64 x96, x97 = bits.Add64(x79, x76, uint64(p521Uint1(x95))) var x98 uint64 var x99 uint64 x98, x99 = bits.Add64(x77, x74, uint64(p521Uint1(x97))) var x100 uint64 var x101 uint64 x100, x101 = bits.Add64(x75, x72, uint64(p521Uint1(x99))) var x102 uint64 var x103 uint64 x102, x103 = bits.Add64(x73, x70, uint64(p521Uint1(x101))) var x105 uint64 _, x105 = bits.Add64(x54, x86, uint64(0x0)) var x106 uint64 var x107 uint64 x106, x107 = bits.Add64(x56, x88, uint64(p521Uint1(x105))) var x108 uint64 var x109 uint64 x108, x109 = bits.Add64(x58, x90, uint64(p521Uint1(x107))) var x110 uint64 var x111 uint64 x110, x111 = bits.Add64(x60, x92, uint64(p521Uint1(x109))) var x112 uint64 var x113 uint64 x112, x113 = bits.Add64(x62, x94, uint64(p521Uint1(x111))) var x114 uint64 var x115 uint64 x114, x115 = bits.Add64(x64, x96, uint64(p521Uint1(x113))) var x116 uint64 var x117 uint64 x116, x117 = bits.Add64(x66, x98, uint64(p521Uint1(x115))) var x118 uint64 var x119 uint64 x118, x119 = bits.Add64(x68, x100, uint64(p521Uint1(x117))) var x120 uint64 var x121 uint64 x120, x121 = bits.Add64((uint64(p521Uint1(x69)) + (uint64(p521Uint1(x53)) + (uint64(p521Uint1(x35)) + x3))), x102, uint64(p521Uint1(x119))) var x122 uint64 var x123 uint64 x122, x123 = bits.Add64(x106, arg1[2], uint64(0x0)) var x124 uint64 var x125 uint64 x124, x125 = bits.Add64(x108, uint64(0x0), uint64(p521Uint1(x123))) var x126 uint64 var x127 uint64 x126, x127 = bits.Add64(x110, uint64(0x0), uint64(p521Uint1(x125))) var x128 uint64 var x129 uint64 x128, x129 = bits.Add64(x112, uint64(0x0), uint64(p521Uint1(x127))) var x130 uint64 var x131 uint64 x130, x131 = bits.Add64(x114, uint64(0x0), uint64(p521Uint1(x129))) var x132 uint64 var x133 uint64 x132, x133 = bits.Add64(x116, uint64(0x0), uint64(p521Uint1(x131))) var x134 uint64 var x135 uint64 x134, x135 = bits.Add64(x118, uint64(0x0), uint64(p521Uint1(x133))) var x136 uint64 var x137 uint64 x136, x137 = bits.Add64(x120, uint64(0x0), uint64(p521Uint1(x135))) var x138 uint64 var x139 uint64 x139, x138 = bits.Mul64(x122, 0x1ff) var x140 uint64 var x141 uint64 x141, x140 = bits.Mul64(x122, 0xffffffffffffffff) var x142 uint64 var x143 uint64 x143, x142 = bits.Mul64(x122, 0xffffffffffffffff) var x144 uint64 var x145 uint64 x145, x144 = bits.Mul64(x122, 0xffffffffffffffff) var x146 uint64 var x147 uint64 x147, x146 = bits.Mul64(x122, 0xffffffffffffffff) var x148 uint64 var x149 uint64 x149, x148 = bits.Mul64(x122, 0xffffffffffffffff) var x150 uint64 var x151 uint64 x151, x150 = bits.Mul64(x122, 0xffffffffffffffff) var x152 uint64 var x153 uint64 x153, x152 = bits.Mul64(x122, 0xffffffffffffffff) var x154 uint64 var x155 uint64 x155, x154 = bits.Mul64(x122, 0xffffffffffffffff) var x156 uint64 var x157 uint64 x156, x157 = bits.Add64(x155, x152, uint64(0x0)) var x158 uint64 var x159 uint64 x158, x159 = bits.Add64(x153, x150, uint64(p521Uint1(x157))) var x160 uint64 var x161 uint64 x160, x161 = bits.Add64(x151, x148, uint64(p521Uint1(x159))) var x162 uint64 var x163 uint64 x162, x163 = bits.Add64(x149, x146, uint64(p521Uint1(x161))) var x164 uint64 var x165 uint64 x164, x165 = bits.Add64(x147, x144, uint64(p521Uint1(x163))) var x166 uint64 var x167 uint64 x166, x167 = bits.Add64(x145, x142, uint64(p521Uint1(x165))) var x168 uint64 var x169 uint64 x168, x169 = bits.Add64(x143, x140, uint64(p521Uint1(x167))) var x170 uint64 var x171 uint64 x170, x171 = bits.Add64(x141, x138, uint64(p521Uint1(x169))) var x173 uint64 _, x173 = bits.Add64(x122, x154, uint64(0x0)) var x174 uint64 var x175 uint64 x174, x175 = bits.Add64(x124, x156, uint64(p521Uint1(x173))) var x176 uint64 var x177 uint64 x176, x177 = bits.Add64(x126, x158, uint64(p521Uint1(x175))) var x178 uint64 var x179 uint64 x178, x179 = bits.Add64(x128, x160, uint64(p521Uint1(x177))) var x180 uint64 var x181 uint64 x180, x181 = bits.Add64(x130, x162, uint64(p521Uint1(x179))) var x182 uint64 var x183 uint64 x182, x183 = bits.Add64(x132, x164, uint64(p521Uint1(x181))) var x184 uint64 var x185 uint64 x184, x185 = bits.Add64(x134, x166, uint64(p521Uint1(x183))) var x186 uint64 var x187 uint64 x186, x187 = bits.Add64(x136, x168, uint64(p521Uint1(x185))) var x188 uint64 var x189 uint64 x188, x189 = bits.Add64((uint64(p521Uint1(x137)) + (uint64(p521Uint1(x121)) + (uint64(p521Uint1(x103)) + x71))), x170, uint64(p521Uint1(x187))) var x190 uint64 var x191 uint64 x190, x191 = bits.Add64(x174, arg1[3], uint64(0x0)) var x192 uint64 var x193 uint64 x192, x193 = bits.Add64(x176, uint64(0x0), uint64(p521Uint1(x191))) var x194 uint64 var x195 uint64 x194, x195 = bits.Add64(x178, uint64(0x0), uint64(p521Uint1(x193))) var x196 uint64 var x197 uint64 x196, x197 = bits.Add64(x180, uint64(0x0), uint64(p521Uint1(x195))) var x198 uint64 var x199 uint64 x198, x199 = bits.Add64(x182, uint64(0x0), uint64(p521Uint1(x197))) var x200 uint64 var x201 uint64 x200, x201 = bits.Add64(x184, uint64(0x0), uint64(p521Uint1(x199))) var x202 uint64 var x203 uint64 x202, x203 = bits.Add64(x186, uint64(0x0), uint64(p521Uint1(x201))) var x204 uint64 var x205 uint64 x204, x205 = bits.Add64(x188, uint64(0x0), uint64(p521Uint1(x203))) var x206 uint64 var x207 uint64 x207, x206 = bits.Mul64(x190, 0x1ff) var x208 uint64 var x209 uint64 x209, x208 = bits.Mul64(x190, 0xffffffffffffffff) var x210 uint64 var x211 uint64 x211, x210 = bits.Mul64(x190, 0xffffffffffffffff) var x212 uint64 var x213 uint64 x213, x212 = bits.Mul64(x190, 0xffffffffffffffff) var x214 uint64 var x215 uint64 x215, x214 = bits.Mul64(x190, 0xffffffffffffffff) var x216 uint64 var x217 uint64 x217, x216 = bits.Mul64(x190, 0xffffffffffffffff) var x218 uint64 var x219 uint64 x219, x218 = bits.Mul64(x190, 0xffffffffffffffff) var x220 uint64 var x221 uint64 x221, x220 = bits.Mul64(x190, 0xffffffffffffffff) var x222 uint64 var x223 uint64 x223, x222 = bits.Mul64(x190, 0xffffffffffffffff) var x224 uint64 var x225 uint64 x224, x225 = bits.Add64(x223, x220, uint64(0x0)) var x226 uint64 var x227 uint64 x226, x227 = bits.Add64(x221, x218, uint64(p521Uint1(x225))) var x228 uint64 var x229 uint64 x228, x229 = bits.Add64(x219, x216, uint64(p521Uint1(x227))) var x230 uint64 var x231 uint64 x230, x231 = bits.Add64(x217, x214, uint64(p521Uint1(x229))) var x232 uint64 var x233 uint64 x232, x233 = bits.Add64(x215, x212, uint64(p521Uint1(x231))) var x234 uint64 var x235 uint64 x234, x235 = bits.Add64(x213, x210, uint64(p521Uint1(x233))) var x236 uint64 var x237 uint64 x236, x237 = bits.Add64(x211, x208, uint64(p521Uint1(x235))) var x238 uint64 var x239 uint64 x238, x239 = bits.Add64(x209, x206, uint64(p521Uint1(x237))) var x241 uint64 _, x241 = bits.Add64(x190, x222, uint64(0x0)) var x242 uint64 var x243 uint64 x242, x243 = bits.Add64(x192, x224, uint64(p521Uint1(x241))) var x244 uint64 var x245 uint64 x244, x245 = bits.Add64(x194, x226, uint64(p521Uint1(x243))) var x246 uint64 var x247 uint64 x246, x247 = bits.Add64(x196, x228, uint64(p521Uint1(x245))) var x248 uint64 var x249 uint64 x248, x249 = bits.Add64(x198, x230, uint64(p521Uint1(x247))) var x250 uint64 var x251 uint64 x250, x251 = bits.Add64(x200, x232, uint64(p521Uint1(x249))) var x252 uint64 var x253 uint64 x252, x253 = bits.Add64(x202, x234, uint64(p521Uint1(x251))) var x254 uint64 var x255 uint64 x254, x255 = bits.Add64(x204, x236, uint64(p521Uint1(x253))) var x256 uint64 var x257 uint64 x256, x257 = bits.Add64((uint64(p521Uint1(x205)) + (uint64(p521Uint1(x189)) + (uint64(p521Uint1(x171)) + x139))), x238, uint64(p521Uint1(x255))) var x258 uint64 var x259 uint64 x258, x259 = bits.Add64(x242, arg1[4], uint64(0x0)) var x260 uint64 var x261 uint64 x260, x261 = bits.Add64(x244, uint64(0x0), uint64(p521Uint1(x259))) var x262 uint64 var x263 uint64 x262, x263 = bits.Add64(x246, uint64(0x0), uint64(p521Uint1(x261))) var x264 uint64 var x265 uint64 x264, x265 = bits.Add64(x248, uint64(0x0), uint64(p521Uint1(x263))) var x266 uint64 var x267 uint64 x266, x267 = bits.Add64(x250, uint64(0x0), uint64(p521Uint1(x265))) var x268 uint64 var x269 uint64 x268, x269 = bits.Add64(x252, uint64(0x0), uint64(p521Uint1(x267))) var x270 uint64 var x271 uint64 x270, x271 = bits.Add64(x254, uint64(0x0), uint64(p521Uint1(x269))) var x272 uint64 var x273 uint64 x272, x273 = bits.Add64(x256, uint64(0x0), uint64(p521Uint1(x271))) var x274 uint64 var x275 uint64 x275, x274 = bits.Mul64(x258, 0x1ff) var x276 uint64 var x277 uint64 x277, x276 = bits.Mul64(x258, 0xffffffffffffffff) var x278 uint64 var x279 uint64 x279, x278 = bits.Mul64(x258, 0xffffffffffffffff) var x280 uint64 var x281 uint64 x281, x280 = bits.Mul64(x258, 0xffffffffffffffff) var x282 uint64 var x283 uint64 x283, x282 = bits.Mul64(x258, 0xffffffffffffffff) var x284 uint64 var x285 uint64 x285, x284 = bits.Mul64(x258, 0xffffffffffffffff) var x286 uint64 var x287 uint64 x287, x286 = bits.Mul64(x258, 0xffffffffffffffff) var x288 uint64 var x289 uint64 x289, x288 = bits.Mul64(x258, 0xffffffffffffffff) var x290 uint64 var x291 uint64 x291, x290 = bits.Mul64(x258, 0xffffffffffffffff) var x292 uint64 var x293 uint64 x292, x293 = bits.Add64(x291, x288, uint64(0x0)) var x294 uint64 var x295 uint64 x294, x295 = bits.Add64(x289, x286, uint64(p521Uint1(x293))) var x296 uint64 var x297 uint64 x296, x297 = bits.Add64(x287, x284, uint64(p521Uint1(x295))) var x298 uint64 var x299 uint64 x298, x299 = bits.Add64(x285, x282, uint64(p521Uint1(x297))) var x300 uint64 var x301 uint64 x300, x301 = bits.Add64(x283, x280, uint64(p521Uint1(x299))) var x302 uint64 var x303 uint64 x302, x303 = bits.Add64(x281, x278, uint64(p521Uint1(x301))) var x304 uint64 var x305 uint64 x304, x305 = bits.Add64(x279, x276, uint64(p521Uint1(x303))) var x306 uint64 var x307 uint64 x306, x307 = bits.Add64(x277, x274, uint64(p521Uint1(x305))) var x309 uint64 _, x309 = bits.Add64(x258, x290, uint64(0x0)) var x310 uint64 var x311 uint64 x310, x311 = bits.Add64(x260, x292, uint64(p521Uint1(x309))) var x312 uint64 var x313 uint64 x312, x313 = bits.Add64(x262, x294, uint64(p521Uint1(x311))) var x314 uint64 var x315 uint64 x314, x315 = bits.Add64(x264, x296, uint64(p521Uint1(x313))) var x316 uint64 var x317 uint64 x316, x317 = bits.Add64(x266, x298, uint64(p521Uint1(x315))) var x318 uint64 var x319 uint64 x318, x319 = bits.Add64(x268, x300, uint64(p521Uint1(x317))) var x320 uint64 var x321 uint64 x320, x321 = bits.Add64(x270, x302, uint64(p521Uint1(x319))) var x322 uint64 var x323 uint64 x322, x323 = bits.Add64(x272, x304, uint64(p521Uint1(x321))) var x324 uint64 var x325 uint64 x324, x325 = bits.Add64((uint64(p521Uint1(x273)) + (uint64(p521Uint1(x257)) + (uint64(p521Uint1(x239)) + x207))), x306, uint64(p521Uint1(x323))) var x326 uint64 var x327 uint64 x326, x327 = bits.Add64(x310, arg1[5], uint64(0x0)) var x328 uint64 var x329 uint64 x328, x329 = bits.Add64(x312, uint64(0x0), uint64(p521Uint1(x327))) var x330 uint64 var x331 uint64 x330, x331 = bits.Add64(x314, uint64(0x0), uint64(p521Uint1(x329))) var x332 uint64 var x333 uint64 x332, x333 = bits.Add64(x316, uint64(0x0), uint64(p521Uint1(x331))) var x334 uint64 var x335 uint64 x334, x335 = bits.Add64(x318, uint64(0x0), uint64(p521Uint1(x333))) var x336 uint64 var x337 uint64 x336, x337 = bits.Add64(x320, uint64(0x0), uint64(p521Uint1(x335))) var x338 uint64 var x339 uint64 x338, x339 = bits.Add64(x322, uint64(0x0), uint64(p521Uint1(x337))) var x340 uint64 var x341 uint64 x340, x341 = bits.Add64(x324, uint64(0x0), uint64(p521Uint1(x339))) var x342 uint64 var x343 uint64 x343, x342 = bits.Mul64(x326, 0x1ff) var x344 uint64 var x345 uint64 x345, x344 = bits.Mul64(x326, 0xffffffffffffffff) var x346 uint64 var x347 uint64 x347, x346 = bits.Mul64(x326, 0xffffffffffffffff) var x348 uint64 var x349 uint64 x349, x348 = bits.Mul64(x326, 0xffffffffffffffff) var x350 uint64 var x351 uint64 x351, x350 = bits.Mul64(x326, 0xffffffffffffffff) var x352 uint64 var x353 uint64 x353, x352 = bits.Mul64(x326, 0xffffffffffffffff) var x354 uint64 var x355 uint64 x355, x354 = bits.Mul64(x326, 0xffffffffffffffff) var x356 uint64 var x357 uint64 x357, x356 = bits.Mul64(x326, 0xffffffffffffffff) var x358 uint64 var x359 uint64 x359, x358 = bits.Mul64(x326, 0xffffffffffffffff) var x360 uint64 var x361 uint64 x360, x361 = bits.Add64(x359, x356, uint64(0x0)) var x362 uint64 var x363 uint64 x362, x363 = bits.Add64(x357, x354, uint64(p521Uint1(x361))) var x364 uint64 var x365 uint64 x364, x365 = bits.Add64(x355, x352, uint64(p521Uint1(x363))) var x366 uint64 var x367 uint64 x366, x367 = bits.Add64(x353, x350, uint64(p521Uint1(x365))) var x368 uint64 var x369 uint64 x368, x369 = bits.Add64(x351, x348, uint64(p521Uint1(x367))) var x370 uint64 var x371 uint64 x370, x371 = bits.Add64(x349, x346, uint64(p521Uint1(x369))) var x372 uint64 var x373 uint64 x372, x373 = bits.Add64(x347, x344, uint64(p521Uint1(x371))) var x374 uint64 var x375 uint64 x374, x375 = bits.Add64(x345, x342, uint64(p521Uint1(x373))) var x377 uint64 _, x377 = bits.Add64(x326, x358, uint64(0x0)) var x378 uint64 var x379 uint64 x378, x379 = bits.Add64(x328, x360, uint64(p521Uint1(x377))) var x380 uint64 var x381 uint64 x380, x381 = bits.Add64(x330, x362, uint64(p521Uint1(x379))) var x382 uint64 var x383 uint64 x382, x383 = bits.Add64(x332, x364, uint64(p521Uint1(x381))) var x384 uint64 var x385 uint64 x384, x385 = bits.Add64(x334, x366, uint64(p521Uint1(x383))) var x386 uint64 var x387 uint64 x386, x387 = bits.Add64(x336, x368, uint64(p521Uint1(x385))) var x388 uint64 var x389 uint64 x388, x389 = bits.Add64(x338, x370, uint64(p521Uint1(x387))) var x390 uint64 var x391 uint64 x390, x391 = bits.Add64(x340, x372, uint64(p521Uint1(x389))) var x392 uint64 var x393 uint64 x392, x393 = bits.Add64((uint64(p521Uint1(x341)) + (uint64(p521Uint1(x325)) + (uint64(p521Uint1(x307)) + x275))), x374, uint64(p521Uint1(x391))) var x394 uint64 var x395 uint64 x394, x395 = bits.Add64(x378, arg1[6], uint64(0x0)) var x396 uint64 var x397 uint64 x396, x397 = bits.Add64(x380, uint64(0x0), uint64(p521Uint1(x395))) var x398 uint64 var x399 uint64 x398, x399 = bits.Add64(x382, uint64(0x0), uint64(p521Uint1(x397))) var x400 uint64 var x401 uint64 x400, x401 = bits.Add64(x384, uint64(0x0), uint64(p521Uint1(x399))) var x402 uint64 var x403 uint64 x402, x403 = bits.Add64(x386, uint64(0x0), uint64(p521Uint1(x401))) var x404 uint64 var x405 uint64 x404, x405 = bits.Add64(x388, uint64(0x0), uint64(p521Uint1(x403))) var x406 uint64 var x407 uint64 x406, x407 = bits.Add64(x390, uint64(0x0), uint64(p521Uint1(x405))) var x408 uint64 var x409 uint64 x408, x409 = bits.Add64(x392, uint64(0x0), uint64(p521Uint1(x407))) var x410 uint64 var x411 uint64 x411, x410 = bits.Mul64(x394, 0x1ff) var x412 uint64 var x413 uint64 x413, x412 = bits.Mul64(x394, 0xffffffffffffffff) var x414 uint64 var x415 uint64 x415, x414 = bits.Mul64(x394, 0xffffffffffffffff) var x416 uint64 var x417 uint64 x417, x416 = bits.Mul64(x394, 0xffffffffffffffff) var x418 uint64 var x419 uint64 x419, x418 = bits.Mul64(x394, 0xffffffffffffffff) var x420 uint64 var x421 uint64 x421, x420 = bits.Mul64(x394, 0xffffffffffffffff) var x422 uint64 var x423 uint64 x423, x422 = bits.Mul64(x394, 0xffffffffffffffff) var x424 uint64 var x425 uint64 x425, x424 = bits.Mul64(x394, 0xffffffffffffffff) var x426 uint64 var x427 uint64 x427, x426 = bits.Mul64(x394, 0xffffffffffffffff) var x428 uint64 var x429 uint64 x428, x429 = bits.Add64(x427, x424, uint64(0x0)) var x430 uint64 var x431 uint64 x430, x431 = bits.Add64(x425, x422, uint64(p521Uint1(x429))) var x432 uint64 var x433 uint64 x432, x433 = bits.Add64(x423, x420, uint64(p521Uint1(x431))) var x434 uint64 var x435 uint64 x434, x435 = bits.Add64(x421, x418, uint64(p521Uint1(x433))) var x436 uint64 var x437 uint64 x436, x437 = bits.Add64(x419, x416, uint64(p521Uint1(x435))) var x438 uint64 var x439 uint64 x438, x439 = bits.Add64(x417, x414, uint64(p521Uint1(x437))) var x440 uint64 var x441 uint64 x440, x441 = bits.Add64(x415, x412, uint64(p521Uint1(x439))) var x442 uint64 var x443 uint64 x442, x443 = bits.Add64(x413, x410, uint64(p521Uint1(x441))) var x445 uint64 _, x445 = bits.Add64(x394, x426, uint64(0x0)) var x446 uint64 var x447 uint64 x446, x447 = bits.Add64(x396, x428, uint64(p521Uint1(x445))) var x448 uint64 var x449 uint64 x448, x449 = bits.Add64(x398, x430, uint64(p521Uint1(x447))) var x450 uint64 var x451 uint64 x450, x451 = bits.Add64(x400, x432, uint64(p521Uint1(x449))) var x452 uint64 var x453 uint64 x452, x453 = bits.Add64(x402, x434, uint64(p521Uint1(x451))) var x454 uint64 var x455 uint64 x454, x455 = bits.Add64(x404, x436, uint64(p521Uint1(x453))) var x456 uint64 var x457 uint64 x456, x457 = bits.Add64(x406, x438, uint64(p521Uint1(x455))) var x458 uint64 var x459 uint64 x458, x459 = bits.Add64(x408, x440, uint64(p521Uint1(x457))) var x460 uint64 var x461 uint64 x460, x461 = bits.Add64((uint64(p521Uint1(x409)) + (uint64(p521Uint1(x393)) + (uint64(p521Uint1(x375)) + x343))), x442, uint64(p521Uint1(x459))) var x462 uint64 var x463 uint64 x462, x463 = bits.Add64(x446, arg1[7], uint64(0x0)) var x464 uint64 var x465 uint64 x464, x465 = bits.Add64(x448, uint64(0x0), uint64(p521Uint1(x463))) var x466 uint64 var x467 uint64 x466, x467 = bits.Add64(x450, uint64(0x0), uint64(p521Uint1(x465))) var x468 uint64 var x469 uint64 x468, x469 = bits.Add64(x452, uint64(0x0), uint64(p521Uint1(x467))) var x470 uint64 var x471 uint64 x470, x471 = bits.Add64(x454, uint64(0x0), uint64(p521Uint1(x469))) var x472 uint64 var x473 uint64 x472, x473 = bits.Add64(x456, uint64(0x0), uint64(p521Uint1(x471))) var x474 uint64 var x475 uint64 x474, x475 = bits.Add64(x458, uint64(0x0), uint64(p521Uint1(x473))) var x476 uint64 var x477 uint64 x476, x477 = bits.Add64(x460, uint64(0x0), uint64(p521Uint1(x475))) var x478 uint64 var x479 uint64 x479, x478 = bits.Mul64(x462, 0x1ff) var x480 uint64 var x481 uint64 x481, x480 = bits.Mul64(x462, 0xffffffffffffffff) var x482 uint64 var x483 uint64 x483, x482 = bits.Mul64(x462, 0xffffffffffffffff) var x484 uint64 var x485 uint64 x485, x484 = bits.Mul64(x462, 0xffffffffffffffff) var x486 uint64 var x487 uint64 x487, x486 = bits.Mul64(x462, 0xffffffffffffffff) var x488 uint64 var x489 uint64 x489, x488 = bits.Mul64(x462, 0xffffffffffffffff) var x490 uint64 var x491 uint64 x491, x490 = bits.Mul64(x462, 0xffffffffffffffff) var x492 uint64 var x493 uint64 x493, x492 = bits.Mul64(x462, 0xffffffffffffffff) var x494 uint64 var x495 uint64 x495, x494 = bits.Mul64(x462, 0xffffffffffffffff) var x496 uint64 var x497 uint64 x496, x497 = bits.Add64(x495, x492, uint64(0x0)) var x498 uint64 var x499 uint64 x498, x499 = bits.Add64(x493, x490, uint64(p521Uint1(x497))) var x500 uint64 var x501 uint64 x500, x501 = bits.Add64(x491, x488, uint64(p521Uint1(x499))) var x502 uint64 var x503 uint64 x502, x503 = bits.Add64(x489, x486, uint64(p521Uint1(x501))) var x504 uint64 var x505 uint64 x504, x505 = bits.Add64(x487, x484, uint64(p521Uint1(x503))) var x506 uint64 var x507 uint64 x506, x507 = bits.Add64(x485, x482, uint64(p521Uint1(x505))) var x508 uint64 var x509 uint64 x508, x509 = bits.Add64(x483, x480, uint64(p521Uint1(x507))) var x510 uint64 var x511 uint64 x510, x511 = bits.Add64(x481, x478, uint64(p521Uint1(x509))) var x513 uint64 _, x513 = bits.Add64(x462, x494, uint64(0x0)) var x514 uint64 var x515 uint64 x514, x515 = bits.Add64(x464, x496, uint64(p521Uint1(x513))) var x516 uint64 var x517 uint64 x516, x517 = bits.Add64(x466, x498, uint64(p521Uint1(x515))) var x518 uint64 var x519 uint64 x518, x519 = bits.Add64(x468, x500, uint64(p521Uint1(x517))) var x520 uint64 var x521 uint64 x520, x521 = bits.Add64(x470, x502, uint64(p521Uint1(x519))) var x522 uint64 var x523 uint64 x522, x523 = bits.Add64(x472, x504, uint64(p521Uint1(x521))) var x524 uint64 var x525 uint64 x524, x525 = bits.Add64(x474, x506, uint64(p521Uint1(x523))) var x526 uint64 var x527 uint64 x526, x527 = bits.Add64(x476, x508, uint64(p521Uint1(x525))) var x528 uint64 var x529 uint64 x528, x529 = bits.Add64((uint64(p521Uint1(x477)) + (uint64(p521Uint1(x461)) + (uint64(p521Uint1(x443)) + x411))), x510, uint64(p521Uint1(x527))) var x530 uint64 var x531 uint64 x530, x531 = bits.Add64(x514, arg1[8], uint64(0x0)) var x532 uint64 var x533 uint64 x532, x533 = bits.Add64(x516, uint64(0x0), uint64(p521Uint1(x531))) var x534 uint64 var x535 uint64 x534, x535 = bits.Add64(x518, uint64(0x0), uint64(p521Uint1(x533))) var x536 uint64 var x537 uint64 x536, x537 = bits.Add64(x520, uint64(0x0), uint64(p521Uint1(x535))) var x538 uint64 var x539 uint64 x538, x539 = bits.Add64(x522, uint64(0x0), uint64(p521Uint1(x537))) var x540 uint64 var x541 uint64 x540, x541 = bits.Add64(x524, uint64(0x0), uint64(p521Uint1(x539))) var x542 uint64 var x543 uint64 x542, x543 = bits.Add64(x526, uint64(0x0), uint64(p521Uint1(x541))) var x544 uint64 var x545 uint64 x544, x545 = bits.Add64(x528, uint64(0x0), uint64(p521Uint1(x543))) var x546 uint64 var x547 uint64 x547, x546 = bits.Mul64(x530, 0x1ff) var x548 uint64 var x549 uint64 x549, x548 = bits.Mul64(x530, 0xffffffffffffffff) var x550 uint64 var x551 uint64 x551, x550 = bits.Mul64(x530, 0xffffffffffffffff) var x552 uint64 var x553 uint64 x553, x552 = bits.Mul64(x530, 0xffffffffffffffff) var x554 uint64 var x555 uint64 x555, x554 = bits.Mul64(x530, 0xffffffffffffffff) var x556 uint64 var x557 uint64 x557, x556 = bits.Mul64(x530, 0xffffffffffffffff) var x558 uint64 var x559 uint64 x559, x558 = bits.Mul64(x530, 0xffffffffffffffff) var x560 uint64 var x561 uint64 x561, x560 = bits.Mul64(x530, 0xffffffffffffffff) var x562 uint64 var x563 uint64 x563, x562 = bits.Mul64(x530, 0xffffffffffffffff) var x564 uint64 var x565 uint64 x564, x565 = bits.Add64(x563, x560, uint64(0x0)) var x566 uint64 var x567 uint64 x566, x567 = bits.Add64(x561, x558, uint64(p521Uint1(x565))) var x568 uint64 var x569 uint64 x568, x569 = bits.Add64(x559, x556, uint64(p521Uint1(x567))) var x570 uint64 var x571 uint64 x570, x571 = bits.Add64(x557, x554, uint64(p521Uint1(x569))) var x572 uint64 var x573 uint64 x572, x573 = bits.Add64(x555, x552, uint64(p521Uint1(x571))) var x574 uint64 var x575 uint64 x574, x575 = bits.Add64(x553, x550, uint64(p521Uint1(x573))) var x576 uint64 var x577 uint64 x576, x577 = bits.Add64(x551, x548, uint64(p521Uint1(x575))) var x578 uint64 var x579 uint64 x578, x579 = bits.Add64(x549, x546, uint64(p521Uint1(x577))) var x581 uint64 _, x581 = bits.Add64(x530, x562, uint64(0x0)) var x582 uint64 var x583 uint64 x582, x583 = bits.Add64(x532, x564, uint64(p521Uint1(x581))) var x584 uint64 var x585 uint64 x584, x585 = bits.Add64(x534, x566, uint64(p521Uint1(x583))) var x586 uint64 var x587 uint64 x586, x587 = bits.Add64(x536, x568, uint64(p521Uint1(x585))) var x588 uint64 var x589 uint64 x588, x589 = bits.Add64(x538, x570, uint64(p521Uint1(x587))) var x590 uint64 var x591 uint64 x590, x591 = bits.Add64(x540, x572, uint64(p521Uint1(x589))) var x592 uint64 var x593 uint64 x592, x593 = bits.Add64(x542, x574, uint64(p521Uint1(x591))) var x594 uint64 var x595 uint64 x594, x595 = bits.Add64(x544, x576, uint64(p521Uint1(x593))) var x596 uint64 var x597 uint64 x596, x597 = bits.Add64((uint64(p521Uint1(x545)) + (uint64(p521Uint1(x529)) + (uint64(p521Uint1(x511)) + x479))), x578, uint64(p521Uint1(x595))) x598 := (uint64(p521Uint1(x597)) + (uint64(p521Uint1(x579)) + x547)) var x599 uint64 var x600 uint64 x599, x600 = bits.Sub64(x582, 0xffffffffffffffff, uint64(0x0)) var x601 uint64 var x602 uint64 x601, x602 = bits.Sub64(x584, 0xffffffffffffffff, uint64(p521Uint1(x600))) var x603 uint64 var x604 uint64 x603, x604 = bits.Sub64(x586, 0xffffffffffffffff, uint64(p521Uint1(x602))) var x605 uint64 var x606 uint64 x605, x606 = bits.Sub64(x588, 0xffffffffffffffff, uint64(p521Uint1(x604))) var x607 uint64 var x608 uint64 x607, x608 = bits.Sub64(x590, 0xffffffffffffffff, uint64(p521Uint1(x606))) var x609 uint64 var x610 uint64 x609, x610 = bits.Sub64(x592, 0xffffffffffffffff, uint64(p521Uint1(x608))) var x611 uint64 var x612 uint64 x611, x612 = bits.Sub64(x594, 0xffffffffffffffff, uint64(p521Uint1(x610))) var x613 uint64 var x614 uint64 x613, x614 = bits.Sub64(x596, 0xffffffffffffffff, uint64(p521Uint1(x612))) var x615 uint64 var x616 uint64 x615, x616 = bits.Sub64(x598, 0x1ff, uint64(p521Uint1(x614))) var x618 uint64 _, x618 = bits.Sub64(uint64(0x0), uint64(0x0), uint64(p521Uint1(x616))) var x619 uint64 p521CmovznzU64(&x619, p521Uint1(x618), x599, x582) var x620 uint64 p521CmovznzU64(&x620, p521Uint1(x618), x601, x584) var x621 uint64 p521CmovznzU64(&x621, p521Uint1(x618), x603, x586) var x622 uint64 p521CmovznzU64(&x622, p521Uint1(x618), x605, x588) var x623 uint64 p521CmovznzU64(&x623, p521Uint1(x618), x607, x590) var x624 uint64 p521CmovznzU64(&x624, p521Uint1(x618), x609, x592) var x625 uint64 p521CmovznzU64(&x625, p521Uint1(x618), x611, x594) var x626 uint64 p521CmovznzU64(&x626, p521Uint1(x618), x613, x596) var x627 uint64 p521CmovznzU64(&x627, p521Uint1(x618), x615, x598) out1[0] = x619 out1[1] = x620 out1[2] = x621 out1[3] = x622 out1[4] = x623 out1[5] = x624 out1[6] = x625 out1[7] = x626 out1[8] = x627 } // p521ToMontgomery translates a field element into the Montgomery domain. // // Preconditions: // 0 ≤ eval arg1 < m // Postconditions: // eval (from_montgomery out1) mod m = eval arg1 mod m // 0 ≤ eval out1 < m // func p521ToMontgomery(out1 *p521MontgomeryDomainFieldElement, arg1 *p521NonMontgomeryDomainFieldElement) { var x1 uint64 var x2 uint64 x2, x1 = bits.Mul64(arg1[0], 0x400000000000) var x3 uint64 var x4 uint64 x4, x3 = bits.Mul64(arg1[1], 0x400000000000) var x5 uint64 var x6 uint64 x5, x6 = bits.Add64(x2, x3, uint64(0x0)) var x7 uint64 var x8 uint64 x8, x7 = bits.Mul64(x1, 0x1ff) var x9 uint64 var x10 uint64 x10, x9 = bits.Mul64(x1, 0xffffffffffffffff) var x11 uint64 var x12 uint64 x12, x11 = bits.Mul64(x1, 0xffffffffffffffff) var x13 uint64 var x14 uint64 x14, x13 = bits.Mul64(x1, 0xffffffffffffffff) var x15 uint64 var x16 uint64 x16, x15 = bits.Mul64(x1, 0xffffffffffffffff) var x17 uint64 var x18 uint64 x18, x17 = bits.Mul64(x1, 0xffffffffffffffff) var x19 uint64 var x20 uint64 x20, x19 = bits.Mul64(x1, 0xffffffffffffffff) var x21 uint64 var x22 uint64 x22, x21 = bits.Mul64(x1, 0xffffffffffffffff) var x23 uint64 var x24 uint64 x24, x23 = bits.Mul64(x1, 0xffffffffffffffff) var x25 uint64 var x26 uint64 x25, x26 = bits.Add64(x24, x21, uint64(0x0)) var x27 uint64 var x28 uint64 x27, x28 = bits.Add64(x22, x19, uint64(p521Uint1(x26))) var x29 uint64 var x30 uint64 x29, x30 = bits.Add64(x20, x17, uint64(p521Uint1(x28))) var x31 uint64 var x32 uint64 x31, x32 = bits.Add64(x18, x15, uint64(p521Uint1(x30))) var x33 uint64 var x34 uint64 x33, x34 = bits.Add64(x16, x13, uint64(p521Uint1(x32))) var x35 uint64 var x36 uint64 x35, x36 = bits.Add64(x14, x11, uint64(p521Uint1(x34))) var x37 uint64 var x38 uint64 x37, x38 = bits.Add64(x12, x9, uint64(p521Uint1(x36))) var x39 uint64 var x40 uint64 x39, x40 = bits.Add64(x10, x7, uint64(p521Uint1(x38))) var x42 uint64 _, x42 = bits.Add64(x1, x23, uint64(0x0)) var x43 uint64 var x44 uint64 x43, x44 = bits.Add64(x5, x25, uint64(p521Uint1(x42))) var x45 uint64 var x46 uint64 x45, x46 = bits.Add64((uint64(p521Uint1(x6)) + x4), x27, uint64(p521Uint1(x44))) var x47 uint64 var x48 uint64 x47, x48 = bits.Add64(uint64(0x0), x29, uint64(p521Uint1(x46))) var x49 uint64 var x50 uint64 x49, x50 = bits.Add64(uint64(0x0), x31, uint64(p521Uint1(x48))) var x51 uint64 var x52 uint64 x51, x52 = bits.Add64(uint64(0x0), x33, uint64(p521Uint1(x50))) var x53 uint64 var x54 uint64 x53, x54 = bits.Add64(uint64(0x0), x35, uint64(p521Uint1(x52))) var x55 uint64 var x56 uint64 x55, x56 = bits.Add64(uint64(0x0), x37, uint64(p521Uint1(x54))) var x57 uint64 var x58 uint64 x57, x58 = bits.Add64(uint64(0x0), x39, uint64(p521Uint1(x56))) var x59 uint64 var x60 uint64 x60, x59 = bits.Mul64(arg1[2], 0x400000000000) var x61 uint64 var x62 uint64 x61, x62 = bits.Add64(x45, x59, uint64(0x0)) var x63 uint64 var x64 uint64 x63, x64 = bits.Add64(x47, x60, uint64(p521Uint1(x62))) var x65 uint64 var x66 uint64 x65, x66 = bits.Add64(x49, uint64(0x0), uint64(p521Uint1(x64))) var x67 uint64 var x68 uint64 x67, x68 = bits.Add64(x51, uint64(0x0), uint64(p521Uint1(x66))) var x69 uint64 var x70 uint64 x69, x70 = bits.Add64(x53, uint64(0x0), uint64(p521Uint1(x68))) var x71 uint64 var x72 uint64 x71, x72 = bits.Add64(x55, uint64(0x0), uint64(p521Uint1(x70))) var x73 uint64 var x74 uint64 x73, x74 = bits.Add64(x57, uint64(0x0), uint64(p521Uint1(x72))) var x75 uint64 var x76 uint64 x76, x75 = bits.Mul64(x43, 0x1ff) var x77 uint64 var x78 uint64 x78, x77 = bits.Mul64(x43, 0xffffffffffffffff) var x79 uint64 var x80 uint64 x80, x79 = bits.Mul64(x43, 0xffffffffffffffff) var x81 uint64 var x82 uint64 x82, x81 = bits.Mul64(x43, 0xffffffffffffffff) var x83 uint64 var x84 uint64 x84, x83 = bits.Mul64(x43, 0xffffffffffffffff) var x85 uint64 var x86 uint64 x86, x85 = bits.Mul64(x43, 0xffffffffffffffff) var x87 uint64 var x88 uint64 x88, x87 = bits.Mul64(x43, 0xffffffffffffffff) var x89 uint64 var x90 uint64 x90, x89 = bits.Mul64(x43, 0xffffffffffffffff) var x91 uint64 var x92 uint64 x92, x91 = bits.Mul64(x43, 0xffffffffffffffff) var x93 uint64 var x94 uint64 x93, x94 = bits.Add64(x92, x89, uint64(0x0)) var x95 uint64 var x96 uint64 x95, x96 = bits.Add64(x90, x87, uint64(p521Uint1(x94))) var x97 uint64 var x98 uint64 x97, x98 = bits.Add64(x88, x85, uint64(p521Uint1(x96))) var x99 uint64 var x100 uint64 x99, x100 = bits.Add64(x86, x83, uint64(p521Uint1(x98))) var x101 uint64 var x102 uint64 x101, x102 = bits.Add64(x84, x81, uint64(p521Uint1(x100))) var x103 uint64 var x104 uint64 x103, x104 = bits.Add64(x82, x79, uint64(p521Uint1(x102))) var x105 uint64 var x106 uint64 x105, x106 = bits.Add64(x80, x77, uint64(p521Uint1(x104))) var x107 uint64 var x108 uint64 x107, x108 = bits.Add64(x78, x75, uint64(p521Uint1(x106))) var x110 uint64 _, x110 = bits.Add64(x43, x91, uint64(0x0)) var x111 uint64 var x112 uint64 x111, x112 = bits.Add64(x61, x93, uint64(p521Uint1(x110))) var x113 uint64 var x114 uint64 x113, x114 = bits.Add64(x63, x95, uint64(p521Uint1(x112))) var x115 uint64 var x116 uint64 x115, x116 = bits.Add64(x65, x97, uint64(p521Uint1(x114))) var x117 uint64 var x118 uint64 x117, x118 = bits.Add64(x67, x99, uint64(p521Uint1(x116))) var x119 uint64 var x120 uint64 x119, x120 = bits.Add64(x69, x101, uint64(p521Uint1(x118))) var x121 uint64 var x122 uint64 x121, x122 = bits.Add64(x71, x103, uint64(p521Uint1(x120))) var x123 uint64 var x124 uint64 x123, x124 = bits.Add64(x73, x105, uint64(p521Uint1(x122))) var x125 uint64 var x126 uint64 x125, x126 = bits.Add64((uint64(p521Uint1(x74)) + (uint64(p521Uint1(x58)) + (uint64(p521Uint1(x40)) + x8))), x107, uint64(p521Uint1(x124))) var x127 uint64 var x128 uint64 x128, x127 = bits.Mul64(arg1[3], 0x400000000000) var x129 uint64 var x130 uint64 x129, x130 = bits.Add64(x113, x127, uint64(0x0)) var x131 uint64 var x132 uint64 x131, x132 = bits.Add64(x115, x128, uint64(p521Uint1(x130))) var x133 uint64 var x134 uint64 x133, x134 = bits.Add64(x117, uint64(0x0), uint64(p521Uint1(x132))) var x135 uint64 var x136 uint64 x135, x136 = bits.Add64(x119, uint64(0x0), uint64(p521Uint1(x134))) var x137 uint64 var x138 uint64 x137, x138 = bits.Add64(x121, uint64(0x0), uint64(p521Uint1(x136))) var x139 uint64 var x140 uint64 x139, x140 = bits.Add64(x123, uint64(0x0), uint64(p521Uint1(x138))) var x141 uint64 var x142 uint64 x141, x142 = bits.Add64(x125, uint64(0x0), uint64(p521Uint1(x140))) var x143 uint64 var x144 uint64 x144, x143 = bits.Mul64(x111, 0x1ff) var x145 uint64 var x146 uint64 x146, x145 = bits.Mul64(x111, 0xffffffffffffffff) var x147 uint64 var x148 uint64 x148, x147 = bits.Mul64(x111, 0xffffffffffffffff) var x149 uint64 var x150 uint64 x150, x149 = bits.Mul64(x111, 0xffffffffffffffff) var x151 uint64 var x152 uint64 x152, x151 = bits.Mul64(x111, 0xffffffffffffffff) var x153 uint64 var x154 uint64 x154, x153 = bits.Mul64(x111, 0xffffffffffffffff) var x155 uint64 var x156 uint64 x156, x155 = bits.Mul64(x111, 0xffffffffffffffff) var x157 uint64 var x158 uint64 x158, x157 = bits.Mul64(x111, 0xffffffffffffffff) var x159 uint64 var x160 uint64 x160, x159 = bits.Mul64(x111, 0xffffffffffffffff) var x161 uint64 var x162 uint64 x161, x162 = bits.Add64(x160, x157, uint64(0x0)) var x163 uint64 var x164 uint64 x163, x164 = bits.Add64(x158, x155, uint64(p521Uint1(x162))) var x165 uint64 var x166 uint64 x165, x166 = bits.Add64(x156, x153, uint64(p521Uint1(x164))) var x167 uint64 var x168 uint64 x167, x168 = bits.Add64(x154, x151, uint64(p521Uint1(x166))) var x169 uint64 var x170 uint64 x169, x170 = bits.Add64(x152, x149, uint64(p521Uint1(x168))) var x171 uint64 var x172 uint64 x171, x172 = bits.Add64(x150, x147, uint64(p521Uint1(x170))) var x173 uint64 var x174 uint64 x173, x174 = bits.Add64(x148, x145, uint64(p521Uint1(x172))) var x175 uint64 var x176 uint64 x175, x176 = bits.Add64(x146, x143, uint64(p521Uint1(x174))) var x178 uint64 _, x178 = bits.Add64(x111, x159, uint64(0x0)) var x179 uint64 var x180 uint64 x179, x180 = bits.Add64(x129, x161, uint64(p521Uint1(x178))) var x181 uint64 var x182 uint64 x181, x182 = bits.Add64(x131, x163, uint64(p521Uint1(x180))) var x183 uint64 var x184 uint64 x183, x184 = bits.Add64(x133, x165, uint64(p521Uint1(x182))) var x185 uint64 var x186 uint64 x185, x186 = bits.Add64(x135, x167, uint64(p521Uint1(x184))) var x187 uint64 var x188 uint64 x187, x188 = bits.Add64(x137, x169, uint64(p521Uint1(x186))) var x189 uint64 var x190 uint64 x189, x190 = bits.Add64(x139, x171, uint64(p521Uint1(x188))) var x191 uint64 var x192 uint64 x191, x192 = bits.Add64(x141, x173, uint64(p521Uint1(x190))) var x193 uint64 var x194 uint64 x193, x194 = bits.Add64((uint64(p521Uint1(x142)) + (uint64(p521Uint1(x126)) + (uint64(p521Uint1(x108)) + x76))), x175, uint64(p521Uint1(x192))) var x195 uint64 var x196 uint64 x196, x195 = bits.Mul64(arg1[4], 0x400000000000) var x197 uint64 var x198 uint64 x197, x198 = bits.Add64(x181, x195, uint64(0x0)) var x199 uint64 var x200 uint64 x199, x200 = bits.Add64(x183, x196, uint64(p521Uint1(x198))) var x201 uint64 var x202 uint64 x201, x202 = bits.Add64(x185, uint64(0x0), uint64(p521Uint1(x200))) var x203 uint64 var x204 uint64 x203, x204 = bits.Add64(x187, uint64(0x0), uint64(p521Uint1(x202))) var x205 uint64 var x206 uint64 x205, x206 = bits.Add64(x189, uint64(0x0), uint64(p521Uint1(x204))) var x207 uint64 var x208 uint64 x207, x208 = bits.Add64(x191, uint64(0x0), uint64(p521Uint1(x206))) var x209 uint64 var x210 uint64 x209, x210 = bits.Add64(x193, uint64(0x0), uint64(p521Uint1(x208))) var x211 uint64 var x212 uint64 x212, x211 = bits.Mul64(x179, 0x1ff) var x213 uint64 var x214 uint64 x214, x213 = bits.Mul64(x179, 0xffffffffffffffff) var x215 uint64 var x216 uint64 x216, x215 = bits.Mul64(x179, 0xffffffffffffffff) var x217 uint64 var x218 uint64 x218, x217 = bits.Mul64(x179, 0xffffffffffffffff) var x219 uint64 var x220 uint64 x220, x219 = bits.Mul64(x179, 0xffffffffffffffff) var x221 uint64 var x222 uint64 x222, x221 = bits.Mul64(x179, 0xffffffffffffffff) var x223 uint64 var x224 uint64 x224, x223 = bits.Mul64(x179, 0xffffffffffffffff) var x225 uint64 var x226 uint64 x226, x225 = bits.Mul64(x179, 0xffffffffffffffff) var x227 uint64 var x228 uint64 x228, x227 = bits.Mul64(x179, 0xffffffffffffffff) var x229 uint64 var x230 uint64 x229, x230 = bits.Add64(x228, x225, uint64(0x0)) var x231 uint64 var x232 uint64 x231, x232 = bits.Add64(x226, x223, uint64(p521Uint1(x230))) var x233 uint64 var x234 uint64 x233, x234 = bits.Add64(x224, x221, uint64(p521Uint1(x232))) var x235 uint64 var x236 uint64 x235, x236 = bits.Add64(x222, x219, uint64(p521Uint1(x234))) var x237 uint64 var x238 uint64 x237, x238 = bits.Add64(x220, x217, uint64(p521Uint1(x236))) var x239 uint64 var x240 uint64 x239, x240 = bits.Add64(x218, x215, uint64(p521Uint1(x238))) var x241 uint64 var x242 uint64 x241, x242 = bits.Add64(x216, x213, uint64(p521Uint1(x240))) var x243 uint64 var x244 uint64 x243, x244 = bits.Add64(x214, x211, uint64(p521Uint1(x242))) var x246 uint64 _, x246 = bits.Add64(x179, x227, uint64(0x0)) var x247 uint64 var x248 uint64 x247, x248 = bits.Add64(x197, x229, uint64(p521Uint1(x246))) var x249 uint64 var x250 uint64 x249, x250 = bits.Add64(x199, x231, uint64(p521Uint1(x248))) var x251 uint64 var x252 uint64 x251, x252 = bits.Add64(x201, x233, uint64(p521Uint1(x250))) var x253 uint64 var x254 uint64 x253, x254 = bits.Add64(x203, x235, uint64(p521Uint1(x252))) var x255 uint64 var x256 uint64 x255, x256 = bits.Add64(x205, x237, uint64(p521Uint1(x254))) var x257 uint64 var x258 uint64 x257, x258 = bits.Add64(x207, x239, uint64(p521Uint1(x256))) var x259 uint64 var x260 uint64 x259, x260 = bits.Add64(x209, x241, uint64(p521Uint1(x258))) var x261 uint64 var x262 uint64 x261, x262 = bits.Add64((uint64(p521Uint1(x210)) + (uint64(p521Uint1(x194)) + (uint64(p521Uint1(x176)) + x144))), x243, uint64(p521Uint1(x260))) var x263 uint64 var x264 uint64 x264, x263 = bits.Mul64(arg1[5], 0x400000000000) var x265 uint64 var x266 uint64 x265, x266 = bits.Add64(x249, x263, uint64(0x0)) var x267 uint64 var x268 uint64 x267, x268 = bits.Add64(x251, x264, uint64(p521Uint1(x266))) var x269 uint64 var x270 uint64 x269, x270 = bits.Add64(x253, uint64(0x0), uint64(p521Uint1(x268))) var x271 uint64 var x272 uint64 x271, x272 = bits.Add64(x255, uint64(0x0), uint64(p521Uint1(x270))) var x273 uint64 var x274 uint64 x273, x274 = bits.Add64(x257, uint64(0x0), uint64(p521Uint1(x272))) var x275 uint64 var x276 uint64 x275, x276 = bits.Add64(x259, uint64(0x0), uint64(p521Uint1(x274))) var x277 uint64 var x278 uint64 x277, x278 = bits.Add64(x261, uint64(0x0), uint64(p521Uint1(x276))) var x279 uint64 var x280 uint64 x280, x279 = bits.Mul64(x247, 0x1ff) var x281 uint64 var x282 uint64 x282, x281 = bits.Mul64(x247, 0xffffffffffffffff) var x283 uint64 var x284 uint64 x284, x283 = bits.Mul64(x247, 0xffffffffffffffff) var x285 uint64 var x286 uint64 x286, x285 = bits.Mul64(x247, 0xffffffffffffffff) var x287 uint64 var x288 uint64 x288, x287 = bits.Mul64(x247, 0xffffffffffffffff) var x289 uint64 var x290 uint64 x290, x289 = bits.Mul64(x247, 0xffffffffffffffff) var x291 uint64 var x292 uint64 x292, x291 = bits.Mul64(x247, 0xffffffffffffffff) var x293 uint64 var x294 uint64 x294, x293 = bits.Mul64(x247, 0xffffffffffffffff) var x295 uint64 var x296 uint64 x296, x295 = bits.Mul64(x247, 0xffffffffffffffff) var x297 uint64 var x298 uint64 x297, x298 = bits.Add64(x296, x293, uint64(0x0)) var x299 uint64 var x300 uint64 x299, x300 = bits.Add64(x294, x291, uint64(p521Uint1(x298))) var x301 uint64 var x302 uint64 x301, x302 = bits.Add64(x292, x289, uint64(p521Uint1(x300))) var x303 uint64 var x304 uint64 x303, x304 = bits.Add64(x290, x287, uint64(p521Uint1(x302))) var x305 uint64 var x306 uint64 x305, x306 = bits.Add64(x288, x285, uint64(p521Uint1(x304))) var x307 uint64 var x308 uint64 x307, x308 = bits.Add64(x286, x283, uint64(p521Uint1(x306))) var x309 uint64 var x310 uint64 x309, x310 = bits.Add64(x284, x281, uint64(p521Uint1(x308))) var x311 uint64 var x312 uint64 x311, x312 = bits.Add64(x282, x279, uint64(p521Uint1(x310))) var x314 uint64 _, x314 = bits.Add64(x247, x295, uint64(0x0)) var x315 uint64 var x316 uint64 x315, x316 = bits.Add64(x265, x297, uint64(p521Uint1(x314))) var x317 uint64 var x318 uint64 x317, x318 = bits.Add64(x267, x299, uint64(p521Uint1(x316))) var x319 uint64 var x320 uint64 x319, x320 = bits.Add64(x269, x301, uint64(p521Uint1(x318))) var x321 uint64 var x322 uint64 x321, x322 = bits.Add64(x271, x303, uint64(p521Uint1(x320))) var x323 uint64 var x324 uint64 x323, x324 = bits.Add64(x273, x305, uint64(p521Uint1(x322))) var x325 uint64 var x326 uint64 x325, x326 = bits.Add64(x275, x307, uint64(p521Uint1(x324))) var x327 uint64 var x328 uint64 x327, x328 = bits.Add64(x277, x309, uint64(p521Uint1(x326))) var x329 uint64 var x330 uint64 x329, x330 = bits.Add64((uint64(p521Uint1(x278)) + (uint64(p521Uint1(x262)) + (uint64(p521Uint1(x244)) + x212))), x311, uint64(p521Uint1(x328))) var x331 uint64 var x332 uint64 x332, x331 = bits.Mul64(arg1[6], 0x400000000000) var x333 uint64 var x334 uint64 x333, x334 = bits.Add64(x317, x331, uint64(0x0)) var x335 uint64 var x336 uint64 x335, x336 = bits.Add64(x319, x332, uint64(p521Uint1(x334))) var x337 uint64 var x338 uint64 x337, x338 = bits.Add64(x321, uint64(0x0), uint64(p521Uint1(x336))) var x339 uint64 var x340 uint64 x339, x340 = bits.Add64(x323, uint64(0x0), uint64(p521Uint1(x338))) var x341 uint64 var x342 uint64 x341, x342 = bits.Add64(x325, uint64(0x0), uint64(p521Uint1(x340))) var x343 uint64 var x344 uint64 x343, x344 = bits.Add64(x327, uint64(0x0), uint64(p521Uint1(x342))) var x345 uint64 var x346 uint64 x345, x346 = bits.Add64(x329, uint64(0x0), uint64(p521Uint1(x344))) var x347 uint64 var x348 uint64 x348, x347 = bits.Mul64(x315, 0x1ff) var x349 uint64 var x350 uint64 x350, x349 = bits.Mul64(x315, 0xffffffffffffffff) var x351 uint64 var x352 uint64 x352, x351 = bits.Mul64(x315, 0xffffffffffffffff) var x353 uint64 var x354 uint64 x354, x353 = bits.Mul64(x315, 0xffffffffffffffff) var x355 uint64 var x356 uint64 x356, x355 = bits.Mul64(x315, 0xffffffffffffffff) var x357 uint64 var x358 uint64 x358, x357 = bits.Mul64(x315, 0xffffffffffffffff) var x359 uint64 var x360 uint64 x360, x359 = bits.Mul64(x315, 0xffffffffffffffff) var x361 uint64 var x362 uint64 x362, x361 = bits.Mul64(x315, 0xffffffffffffffff) var x363 uint64 var x364 uint64 x364, x363 = bits.Mul64(x315, 0xffffffffffffffff) var x365 uint64 var x366 uint64 x365, x366 = bits.Add64(x364, x361, uint64(0x0)) var x367 uint64 var x368 uint64 x367, x368 = bits.Add64(x362, x359, uint64(p521Uint1(x366))) var x369 uint64 var x370 uint64 x369, x370 = bits.Add64(x360, x357, uint64(p521Uint1(x368))) var x371 uint64 var x372 uint64 x371, x372 = bits.Add64(x358, x355, uint64(p521Uint1(x370))) var x373 uint64 var x374 uint64 x373, x374 = bits.Add64(x356, x353, uint64(p521Uint1(x372))) var x375 uint64 var x376 uint64 x375, x376 = bits.Add64(x354, x351, uint64(p521Uint1(x374))) var x377 uint64 var x378 uint64 x377, x378 = bits.Add64(x352, x349, uint64(p521Uint1(x376))) var x379 uint64 var x380 uint64 x379, x380 = bits.Add64(x350, x347, uint64(p521Uint1(x378))) var x382 uint64 _, x382 = bits.Add64(x315, x363, uint64(0x0)) var x383 uint64 var x384 uint64 x383, x384 = bits.Add64(x333, x365, uint64(p521Uint1(x382))) var x385 uint64 var x386 uint64 x385, x386 = bits.Add64(x335, x367, uint64(p521Uint1(x384))) var x387 uint64 var x388 uint64 x387, x388 = bits.Add64(x337, x369, uint64(p521Uint1(x386))) var x389 uint64 var x390 uint64 x389, x390 = bits.Add64(x339, x371, uint64(p521Uint1(x388))) var x391 uint64 var x392 uint64 x391, x392 = bits.Add64(x341, x373, uint64(p521Uint1(x390))) var x393 uint64 var x394 uint64 x393, x394 = bits.Add64(x343, x375, uint64(p521Uint1(x392))) var x395 uint64 var x396 uint64 x395, x396 = bits.Add64(x345, x377, uint64(p521Uint1(x394))) var x397 uint64 var x398 uint64 x397, x398 = bits.Add64((uint64(p521Uint1(x346)) + (uint64(p521Uint1(x330)) + (uint64(p521Uint1(x312)) + x280))), x379, uint64(p521Uint1(x396))) var x399 uint64 var x400 uint64 x400, x399 = bits.Mul64(arg1[7], 0x400000000000) var x401 uint64 var x402 uint64 x401, x402 = bits.Add64(x385, x399, uint64(0x0)) var x403 uint64 var x404 uint64 x403, x404 = bits.Add64(x387, x400, uint64(p521Uint1(x402))) var x405 uint64 var x406 uint64 x405, x406 = bits.Add64(x389, uint64(0x0), uint64(p521Uint1(x404))) var x407 uint64 var x408 uint64 x407, x408 = bits.Add64(x391, uint64(0x0), uint64(p521Uint1(x406))) var x409 uint64 var x410 uint64 x409, x410 = bits.Add64(x393, uint64(0x0), uint64(p521Uint1(x408))) var x411 uint64 var x412 uint64 x411, x412 = bits.Add64(x395, uint64(0x0), uint64(p521Uint1(x410))) var x413 uint64 var x414 uint64 x413, x414 = bits.Add64(x397, uint64(0x0), uint64(p521Uint1(x412))) var x415 uint64 var x416 uint64 x416, x415 = bits.Mul64(x383, 0x1ff) var x417 uint64 var x418 uint64 x418, x417 = bits.Mul64(x383, 0xffffffffffffffff) var x419 uint64 var x420 uint64 x420, x419 = bits.Mul64(x383, 0xffffffffffffffff) var x421 uint64 var x422 uint64 x422, x421 = bits.Mul64(x383, 0xffffffffffffffff) var x423 uint64 var x424 uint64 x424, x423 = bits.Mul64(x383, 0xffffffffffffffff) var x425 uint64 var x426 uint64 x426, x425 = bits.Mul64(x383, 0xffffffffffffffff) var x427 uint64 var x428 uint64 x428, x427 = bits.Mul64(x383, 0xffffffffffffffff) var x429 uint64 var x430 uint64 x430, x429 = bits.Mul64(x383, 0xffffffffffffffff) var x431 uint64 var x432 uint64 x432, x431 = bits.Mul64(x383, 0xffffffffffffffff) var x433 uint64 var x434 uint64 x433, x434 = bits.Add64(x432, x429, uint64(0x0)) var x435 uint64 var x436 uint64 x435, x436 = bits.Add64(x430, x427, uint64(p521Uint1(x434))) var x437 uint64 var x438 uint64 x437, x438 = bits.Add64(x428, x425, uint64(p521Uint1(x436))) var x439 uint64 var x440 uint64 x439, x440 = bits.Add64(x426, x423, uint64(p521Uint1(x438))) var x441 uint64 var x442 uint64 x441, x442 = bits.Add64(x424, x421, uint64(p521Uint1(x440))) var x443 uint64 var x444 uint64 x443, x444 = bits.Add64(x422, x419, uint64(p521Uint1(x442))) var x445 uint64 var x446 uint64 x445, x446 = bits.Add64(x420, x417, uint64(p521Uint1(x444))) var x447 uint64 var x448 uint64 x447, x448 = bits.Add64(x418, x415, uint64(p521Uint1(x446))) var x450 uint64 _, x450 = bits.Add64(x383, x431, uint64(0x0)) var x451 uint64 var x452 uint64 x451, x452 = bits.Add64(x401, x433, uint64(p521Uint1(x450))) var x453 uint64 var x454 uint64 x453, x454 = bits.Add64(x403, x435, uint64(p521Uint1(x452))) var x455 uint64 var x456 uint64 x455, x456 = bits.Add64(x405, x437, uint64(p521Uint1(x454))) var x457 uint64 var x458 uint64 x457, x458 = bits.Add64(x407, x439, uint64(p521Uint1(x456))) var x459 uint64 var x460 uint64 x459, x460 = bits.Add64(x409, x441, uint64(p521Uint1(x458))) var x461 uint64 var x462 uint64 x461, x462 = bits.Add64(x411, x443, uint64(p521Uint1(x460))) var x463 uint64 var x464 uint64 x463, x464 = bits.Add64(x413, x445, uint64(p521Uint1(x462))) var x465 uint64 var x466 uint64 x465, x466 = bits.Add64((uint64(p521Uint1(x414)) + (uint64(p521Uint1(x398)) + (uint64(p521Uint1(x380)) + x348))), x447, uint64(p521Uint1(x464))) var x467 uint64 var x468 uint64 x468, x467 = bits.Mul64(arg1[8], 0x400000000000) var x469 uint64 var x470 uint64 x469, x470 = bits.Add64(x453, x467, uint64(0x0)) var x471 uint64 var x472 uint64 x471, x472 = bits.Add64(x455, x468, uint64(p521Uint1(x470))) var x473 uint64 var x474 uint64 x473, x474 = bits.Add64(x457, uint64(0x0), uint64(p521Uint1(x472))) var x475 uint64 var x476 uint64 x475, x476 = bits.Add64(x459, uint64(0x0), uint64(p521Uint1(x474))) var x477 uint64 var x478 uint64 x477, x478 = bits.Add64(x461, uint64(0x0), uint64(p521Uint1(x476))) var x479 uint64 var x480 uint64 x479, x480 = bits.Add64(x463, uint64(0x0), uint64(p521Uint1(x478))) var x481 uint64 var x482 uint64 x481, x482 = bits.Add64(x465, uint64(0x0), uint64(p521Uint1(x480))) var x483 uint64 var x484 uint64 x484, x483 = bits.Mul64(x451, 0x1ff) var x485 uint64 var x486 uint64 x486, x485 = bits.Mul64(x451, 0xffffffffffffffff) var x487 uint64 var x488 uint64 x488, x487 = bits.Mul64(x451, 0xffffffffffffffff) var x489 uint64 var x490 uint64 x490, x489 = bits.Mul64(x451, 0xffffffffffffffff) var x491 uint64 var x492 uint64 x492, x491 = bits.Mul64(x451, 0xffffffffffffffff) var x493 uint64 var x494 uint64 x494, x493 = bits.Mul64(x451, 0xffffffffffffffff) var x495 uint64 var x496 uint64 x496, x495 = bits.Mul64(x451, 0xffffffffffffffff) var x497 uint64 var x498 uint64 x498, x497 = bits.Mul64(x451, 0xffffffffffffffff) var x499 uint64 var x500 uint64 x500, x499 = bits.Mul64(x451, 0xffffffffffffffff) var x501 uint64 var x502 uint64 x501, x502 = bits.Add64(x500, x497, uint64(0x0)) var x503 uint64 var x504 uint64 x503, x504 = bits.Add64(x498, x495, uint64(p521Uint1(x502))) var x505 uint64 var x506 uint64 x505, x506 = bits.Add64(x496, x493, uint64(p521Uint1(x504))) var x507 uint64 var x508 uint64 x507, x508 = bits.Add64(x494, x491, uint64(p521Uint1(x506))) var x509 uint64 var x510 uint64 x509, x510 = bits.Add64(x492, x489, uint64(p521Uint1(x508))) var x511 uint64 var x512 uint64 x511, x512 = bits.Add64(x490, x487, uint64(p521Uint1(x510))) var x513 uint64 var x514 uint64 x513, x514 = bits.Add64(x488, x485, uint64(p521Uint1(x512))) var x515 uint64 var x516 uint64 x515, x516 = bits.Add64(x486, x483, uint64(p521Uint1(x514))) var x518 uint64 _, x518 = bits.Add64(x451, x499, uint64(0x0)) var x519 uint64 var x520 uint64 x519, x520 = bits.Add64(x469, x501, uint64(p521Uint1(x518))) var x521 uint64 var x522 uint64 x521, x522 = bits.Add64(x471, x503, uint64(p521Uint1(x520))) var x523 uint64 var x524 uint64 x523, x524 = bits.Add64(x473, x505, uint64(p521Uint1(x522))) var x525 uint64 var x526 uint64 x525, x526 = bits.Add64(x475, x507, uint64(p521Uint1(x524))) var x527 uint64 var x528 uint64 x527, x528 = bits.Add64(x477, x509, uint64(p521Uint1(x526))) var x529 uint64 var x530 uint64 x529, x530 = bits.Add64(x479, x511, uint64(p521Uint1(x528))) var x531 uint64 var x532 uint64 x531, x532 = bits.Add64(x481, x513, uint64(p521Uint1(x530))) var x533 uint64 var x534 uint64 x533, x534 = bits.Add64((uint64(p521Uint1(x482)) + (uint64(p521Uint1(x466)) + (uint64(p521Uint1(x448)) + x416))), x515, uint64(p521Uint1(x532))) x535 := (uint64(p521Uint1(x534)) + (uint64(p521Uint1(x516)) + x484)) var x536 uint64 var x537 uint64 x536, x537 = bits.Sub64(x519, 0xffffffffffffffff, uint64(0x0)) var x538 uint64 var x539 uint64 x538, x539 = bits.Sub64(x521, 0xffffffffffffffff, uint64(p521Uint1(x537))) var x540 uint64 var x541 uint64 x540, x541 = bits.Sub64(x523, 0xffffffffffffffff, uint64(p521Uint1(x539))) var x542 uint64 var x543 uint64 x542, x543 = bits.Sub64(x525, 0xffffffffffffffff, uint64(p521Uint1(x541))) var x544 uint64 var x545 uint64 x544, x545 = bits.Sub64(x527, 0xffffffffffffffff, uint64(p521Uint1(x543))) var x546 uint64 var x547 uint64 x546, x547 = bits.Sub64(x529, 0xffffffffffffffff, uint64(p521Uint1(x545))) var x548 uint64 var x549 uint64 x548, x549 = bits.Sub64(x531, 0xffffffffffffffff, uint64(p521Uint1(x547))) var x550 uint64 var x551 uint64 x550, x551 = bits.Sub64(x533, 0xffffffffffffffff, uint64(p521Uint1(x549))) var x552 uint64 var x553 uint64 x552, x553 = bits.Sub64(x535, 0x1ff, uint64(p521Uint1(x551))) var x555 uint64 _, x555 = bits.Sub64(uint64(0x0), uint64(0x0), uint64(p521Uint1(x553))) var x556 uint64 p521CmovznzU64(&x556, p521Uint1(x555), x536, x519) var x557 uint64 p521CmovznzU64(&x557, p521Uint1(x555), x538, x521) var x558 uint64 p521CmovznzU64(&x558, p521Uint1(x555), x540, x523) var x559 uint64 p521CmovznzU64(&x559, p521Uint1(x555), x542, x525) var x560 uint64 p521CmovznzU64(&x560, p521Uint1(x555), x544, x527) var x561 uint64 p521CmovznzU64(&x561, p521Uint1(x555), x546, x529) var x562 uint64 p521CmovznzU64(&x562, p521Uint1(x555), x548, x531) var x563 uint64 p521CmovznzU64(&x563, p521Uint1(x555), x550, x533) var x564 uint64 p521CmovznzU64(&x564, p521Uint1(x555), x552, x535) out1[0] = x556 out1[1] = x557 out1[2] = x558 out1[3] = x559 out1[4] = x560 out1[5] = x561 out1[6] = x562 out1[7] = x563 out1[8] = x564 } // p521Selectznz is a multi-limb conditional select. // // Postconditions: // eval out1 = (if arg1 = 0 then eval arg2 else eval arg3) // // Input Bounds: // arg1: [0x0 ~> 0x1] // arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] // arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] // Output Bounds: // out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]] func p521Selectznz(out1 *[9]uint64, arg1 p521Uint1, arg2 *[9]uint64, arg3 *[9]uint64) { var x1 uint64 p521CmovznzU64(&x1, arg1, arg2[0], arg3[0]) var x2 uint64 p521CmovznzU64(&x2, arg1, arg2[1], arg3[1]) var x3 uint64 p521CmovznzU64(&x3, arg1, arg2[2], arg3[2]) var x4 uint64 p521CmovznzU64(&x4, arg1, arg2[3], arg3[3]) var x5 uint64 p521CmovznzU64(&x5, arg1, arg2[4], arg3[4]) var x6 uint64 p521CmovznzU64(&x6, arg1, arg2[5], arg3[5]) var x7 uint64 p521CmovznzU64(&x7, arg1, arg2[6], arg3[6]) var x8 uint64 p521CmovznzU64(&x8, arg1, arg2[7], arg3[7]) var x9 uint64 p521CmovznzU64(&x9, arg1, arg2[8], arg3[8]) out1[0] = x1 out1[1] = x2 out1[2] = x3 out1[3] = x4 out1[4] = x5 out1[5] = x6 out1[6] = x7 out1[7] = x8 out1[8] = x9 } // p521ToBytes serializes a field element NOT in the Montgomery domain to bytes in little-endian order. // // Preconditions: // 0 ≤ eval arg1 < m // Postconditions: // out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..65] // // Input Bounds: // arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0x1ff]] // Output Bounds: // out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x1]] func p521ToBytes(out1 *[66]uint8, arg1 *[9]uint64) { x1 := arg1[8] x2 := arg1[7] x3 := arg1[6] x4 := arg1[5] x5 := arg1[4] x6 := arg1[3] x7 := arg1[2] x8 := arg1[1] x9 := arg1[0] x10 := (uint8(x9) & 0xff) x11 := (x9 >> 8) x12 := (uint8(x11) & 0xff) x13 := (x11 >> 8) x14 := (uint8(x13) & 0xff) x15 := (x13 >> 8) x16 := (uint8(x15) & 0xff) x17 := (x15 >> 8) x18 := (uint8(x17) & 0xff) x19 := (x17 >> 8) x20 := (uint8(x19) & 0xff) x21 := (x19 >> 8) x22 := (uint8(x21) & 0xff) x23 := uint8((x21 >> 8)) x24 := (uint8(x8) & 0xff) x25 := (x8 >> 8) x26 := (uint8(x25) & 0xff) x27 := (x25 >> 8) x28 := (uint8(x27) & 0xff) x29 := (x27 >> 8) x30 := (uint8(x29) & 0xff) x31 := (x29 >> 8) x32 := (uint8(x31) & 0xff) x33 := (x31 >> 8) x34 := (uint8(x33) & 0xff) x35 := (x33 >> 8) x36 := (uint8(x35) & 0xff) x37 := uint8((x35 >> 8)) x38 := (uint8(x7) & 0xff) x39 := (x7 >> 8) x40 := (uint8(x39) & 0xff) x41 := (x39 >> 8) x42 := (uint8(x41) & 0xff) x43 := (x41 >> 8) x44 := (uint8(x43) & 0xff) x45 := (x43 >> 8) x46 := (uint8(x45) & 0xff) x47 := (x45 >> 8) x48 := (uint8(x47) & 0xff) x49 := (x47 >> 8) x50 := (uint8(x49) & 0xff) x51 := uint8((x49 >> 8)) x52 := (uint8(x6) & 0xff) x53 := (x6 >> 8) x54 := (uint8(x53) & 0xff) x55 := (x53 >> 8) x56 := (uint8(x55) & 0xff) x57 := (x55 >> 8) x58 := (uint8(x57) & 0xff) x59 := (x57 >> 8) x60 := (uint8(x59) & 0xff) x61 := (x59 >> 8) x62 := (uint8(x61) & 0xff) x63 := (x61 >> 8) x64 := (uint8(x63) & 0xff) x65 := uint8((x63 >> 8)) x66 := (uint8(x5) & 0xff) x67 := (x5 >> 8) x68 := (uint8(x67) & 0xff) x69 := (x67 >> 8) x70 := (uint8(x69) & 0xff) x71 := (x69 >> 8) x72 := (uint8(x71) & 0xff) x73 := (x71 >> 8) x74 := (uint8(x73) & 0xff) x75 := (x73 >> 8) x76 := (uint8(x75) & 0xff) x77 := (x75 >> 8) x78 := (uint8(x77) & 0xff) x79 := uint8((x77 >> 8)) x80 := (uint8(x4) & 0xff) x81 := (x4 >> 8) x82 := (uint8(x81) & 0xff) x83 := (x81 >> 8) x84 := (uint8(x83) & 0xff) x85 := (x83 >> 8) x86 := (uint8(x85) & 0xff) x87 := (x85 >> 8) x88 := (uint8(x87) & 0xff) x89 := (x87 >> 8) x90 := (uint8(x89) & 0xff) x91 := (x89 >> 8) x92 := (uint8(x91) & 0xff) x93 := uint8((x91 >> 8)) x94 := (uint8(x3) & 0xff) x95 := (x3 >> 8) x96 := (uint8(x95) & 0xff) x97 := (x95 >> 8) x98 := (uint8(x97) & 0xff) x99 := (x97 >> 8) x100 := (uint8(x99) & 0xff) x101 := (x99 >> 8) x102 := (uint8(x101) & 0xff) x103 := (x101 >> 8) x104 := (uint8(x103) & 0xff) x105 := (x103 >> 8) x106 := (uint8(x105) & 0xff) x107 := uint8((x105 >> 8)) x108 := (uint8(x2) & 0xff) x109 := (x2 >> 8) x110 := (uint8(x109) & 0xff) x111 := (x109 >> 8) x112 := (uint8(x111) & 0xff) x113 := (x111 >> 8) x114 := (uint8(x113) & 0xff) x115 := (x113 >> 8) x116 := (uint8(x115) & 0xff) x117 := (x115 >> 8) x118 := (uint8(x117) & 0xff) x119 := (x117 >> 8) x120 := (uint8(x119) & 0xff) x121 := uint8((x119 >> 8)) x122 := (uint8(x1) & 0xff) x123 := p521Uint1((x1 >> 8)) out1[0] = x10 out1[1] = x12 out1[2] = x14 out1[3] = x16 out1[4] = x18 out1[5] = x20 out1[6] = x22 out1[7] = x23 out1[8] = x24 out1[9] = x26 out1[10] = x28 out1[11] = x30 out1[12] = x32 out1[13] = x34 out1[14] = x36 out1[15] = x37 out1[16] = x38 out1[17] = x40 out1[18] = x42 out1[19] = x44 out1[20] = x46 out1[21] = x48 out1[22] = x50 out1[23] = x51 out1[24] = x52 out1[25] = x54 out1[26] = x56 out1[27] = x58 out1[28] = x60 out1[29] = x62 out1[30] = x64 out1[31] = x65 out1[32] = x66 out1[33] = x68 out1[34] = x70 out1[35] = x72 out1[36] = x74 out1[37] = x76 out1[38] = x78 out1[39] = x79 out1[40] = x80 out1[41] = x82 out1[42] = x84 out1[43] = x86 out1[44] = x88 out1[45] = x90 out1[46] = x92 out1[47] = x93 out1[48] = x94 out1[49] = x96 out1[50] = x98 out1[51] = x100 out1[52] = x102 out1[53] = x104 out1[54] = x106 out1[55] = x107 out1[56] = x108 out1[57] = x110 out1[58] = x112 out1[59] = x114 out1[60] = x116 out1[61] = x118 out1[62] = x120 out1[63] = x121 out1[64] = x122 out1[65] = uint8(x123) } // p521FromBytes deserializes a field element NOT in the Montgomery domain from bytes in little-endian order. // // Preconditions: // 0 ≤ bytes_eval arg1 < m // Postconditions: // eval out1 mod m = bytes_eval arg1 mod m // 0 ≤ eval out1 < m // // Input Bounds: // arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x1]] // Output Bounds: // out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0x1ff]] func p521FromBytes(out1 *[9]uint64, arg1 *[66]uint8) { x1 := (uint64(p521Uint1(arg1[65])) << 8) x2 := arg1[64] x3 := (uint64(arg1[63]) << 56) x4 := (uint64(arg1[62]) << 48) x5 := (uint64(arg1[61]) << 40) x6 := (uint64(arg1[60]) << 32) x7 := (uint64(arg1[59]) << 24) x8 := (uint64(arg1[58]) << 16) x9 := (uint64(arg1[57]) << 8) x10 := arg1[56] x11 := (uint64(arg1[55]) << 56) x12 := (uint64(arg1[54]) << 48) x13 := (uint64(arg1[53]) << 40) x14 := (uint64(arg1[52]) << 32) x15 := (uint64(arg1[51]) << 24) x16 := (uint64(arg1[50]) << 16) x17 := (uint64(arg1[49]) << 8) x18 := arg1[48] x19 := (uint64(arg1[47]) << 56) x20 := (uint64(arg1[46]) << 48) x21 := (uint64(arg1[45]) << 40) x22 := (uint64(arg1[44]) << 32) x23 := (uint64(arg1[43]) << 24) x24 := (uint64(arg1[42]) << 16) x25 := (uint64(arg1[41]) << 8) x26 := arg1[40] x27 := (uint64(arg1[39]) << 56) x28 := (uint64(arg1[38]) << 48) x29 := (uint64(arg1[37]) << 40) x30 := (uint64(arg1[36]) << 32) x31 := (uint64(arg1[35]) << 24) x32 := (uint64(arg1[34]) << 16) x33 := (uint64(arg1[33]) << 8) x34 := arg1[32] x35 := (uint64(arg1[31]) << 56) x36 := (uint64(arg1[30]) << 48) x37 := (uint64(arg1[29]) << 40) x38 := (uint64(arg1[28]) << 32) x39 := (uint64(arg1[27]) << 24) x40 := (uint64(arg1[26]) << 16) x41 := (uint64(arg1[25]) << 8) x42 := arg1[24] x43 := (uint64(arg1[23]) << 56) x44 := (uint64(arg1[22]) << 48) x45 := (uint64(arg1[21]) << 40) x46 := (uint64(arg1[20]) << 32) x47 := (uint64(arg1[19]) << 24) x48 := (uint64(arg1[18]) << 16) x49 := (uint64(arg1[17]) << 8) x50 := arg1[16] x51 := (uint64(arg1[15]) << 56) x52 := (uint64(arg1[14]) << 48) x53 := (uint64(arg1[13]) << 40) x54 := (uint64(arg1[12]) << 32) x55 := (uint64(arg1[11]) << 24) x56 := (uint64(arg1[10]) << 16) x57 := (uint64(arg1[9]) << 8) x58 := arg1[8] x59 := (uint64(arg1[7]) << 56) x60 := (uint64(arg1[6]) << 48) x61 := (uint64(arg1[5]) << 40) x62 := (uint64(arg1[4]) << 32) x63 := (uint64(arg1[3]) << 24) x64 := (uint64(arg1[2]) << 16) x65 := (uint64(arg1[1]) << 8) x66 := arg1[0] x67 := (x65 + uint64(x66)) x68 := (x64 + x67) x69 := (x63 + x68) x70 := (x62 + x69) x71 := (x61 + x70) x72 := (x60 + x71) x73 := (x59 + x72) x74 := (x57 + uint64(x58)) x75 := (x56 + x74) x76 := (x55 + x75) x77 := (x54 + x76) x78 := (x53 + x77) x79 := (x52 + x78) x80 := (x51 + x79) x81 := (x49 + uint64(x50)) x82 := (x48 + x81) x83 := (x47 + x82) x84 := (x46 + x83) x85 := (x45 + x84) x86 := (x44 + x85) x87 := (x43 + x86) x88 := (x41 + uint64(x42)) x89 := (x40 + x88) x90 := (x39 + x89) x91 := (x38 + x90) x92 := (x37 + x91) x93 := (x36 + x92) x94 := (x35 + x93) x95 := (x33 + uint64(x34)) x96 := (x32 + x95) x97 := (x31 + x96) x98 := (x30 + x97) x99 := (x29 + x98) x100 := (x28 + x99) x101 := (x27 + x100) x102 := (x25 + uint64(x26)) x103 := (x24 + x102) x104 := (x23 + x103) x105 := (x22 + x104) x106 := (x21 + x105) x107 := (x20 + x106) x108 := (x19 + x107) x109 := (x17 + uint64(x18)) x110 := (x16 + x109) x111 := (x15 + x110) x112 := (x14 + x111) x113 := (x13 + x112) x114 := (x12 + x113) x115 := (x11 + x114) x116 := (x9 + uint64(x10)) x117 := (x8 + x116) x118 := (x7 + x117) x119 := (x6 + x118) x120 := (x5 + x119) x121 := (x4 + x120) x122 := (x3 + x121) x123 := (x1 + uint64(x2)) out1[0] = x73 out1[1] = x80 out1[2] = x87 out1[3] = x94 out1[4] = x101 out1[5] = x108 out1[6] = x115 out1[7] = x122 out1[8] = x123 }