1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 package fiat
30
31 import "math/bits"
32
33 type p521Uint1 uint8
34 type p521Int1 int8
35
36
37 func p521AddcarryxU64(x uint64, y uint64, carry p521Uint1) (uint64, p521Uint1) {
38 sum, carryOut := bits.Add64(x, y, uint64(carry))
39 return sum, p521Uint1(carryOut)
40 }
41
42
43 func p521SubborrowxU64(x uint64, y uint64, carry p521Uint1) (uint64, p521Uint1) {
44 sum, carryOut := bits.Sub64(x, y, uint64(carry))
45 return sum, p521Uint1(carryOut)
46 }
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 func p521AddcarryxU58(out1 *uint64, out2 *p521Uint1, arg1 p521Uint1, arg2 uint64, arg3 uint64) {
62 x1 := ((uint64(arg1) + arg2) + arg3)
63 x2 := (x1 & 0x3ffffffffffffff)
64 x3 := p521Uint1((x1 >> 58))
65 *out1 = x2
66 *out2 = x3
67 }
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82 func p521SubborrowxU58(out1 *uint64, out2 *p521Uint1, arg1 p521Uint1, arg2 uint64, arg3 uint64) {
83 x1 := ((int64(arg2) - int64(arg1)) - int64(arg3))
84 x2 := p521Int1((x1 >> 58))
85 x3 := (uint64(x1) & 0x3ffffffffffffff)
86 *out1 = x3
87 *out2 = (0x0 - p521Uint1(x2))
88 }
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103 func p521AddcarryxU57(out1 *uint64, out2 *p521Uint1, arg1 p521Uint1, arg2 uint64, arg3 uint64) {
104 x1 := ((uint64(arg1) + arg2) + arg3)
105 x2 := (x1 & 0x1ffffffffffffff)
106 x3 := p521Uint1((x1 >> 57))
107 *out1 = x2
108 *out2 = x3
109 }
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124 func p521SubborrowxU57(out1 *uint64, out2 *p521Uint1, arg1 p521Uint1, arg2 uint64, arg3 uint64) {
125 x1 := ((int64(arg2) - int64(arg1)) - int64(arg3))
126 x2 := p521Int1((x1 >> 57))
127 x3 := (uint64(x1) & 0x1ffffffffffffff)
128 *out1 = x3
129 *out2 = (0x0 - p521Uint1(x2))
130 }
131
132
133
134
135
136
137
138
139
140
141
142
143 func p521CmovznzU64(out1 *uint64, arg1 p521Uint1, arg2 uint64, arg3 uint64) {
144 x1 := (uint64(arg1) * 0xffffffffffffffff)
145 x2 := ((x1 & arg3) | ((^x1) & arg2))
146 *out1 = x2
147 }
148
149
150
151
152
153
154
155
156
157
158
159 func p521CarryMul(out1 *[9]uint64, arg1 *[9]uint64, arg2 *[9]uint64) {
160 var x1 uint64
161 var x2 uint64
162 x2, x1 = bits.Mul64(arg1[8], (arg2[8] * 0x2))
163 var x3 uint64
164 var x4 uint64
165 x4, x3 = bits.Mul64(arg1[8], (arg2[7] * 0x2))
166 var x5 uint64
167 var x6 uint64
168 x6, x5 = bits.Mul64(arg1[8], (arg2[6] * 0x2))
169 var x7 uint64
170 var x8 uint64
171 x8, x7 = bits.Mul64(arg1[8], (arg2[5] * 0x2))
172 var x9 uint64
173 var x10 uint64
174 x10, x9 = bits.Mul64(arg1[8], (arg2[4] * 0x2))
175 var x11 uint64
176 var x12 uint64
177 x12, x11 = bits.Mul64(arg1[8], (arg2[3] * 0x2))
178 var x13 uint64
179 var x14 uint64
180 x14, x13 = bits.Mul64(arg1[8], (arg2[2] * 0x2))
181 var x15 uint64
182 var x16 uint64
183 x16, x15 = bits.Mul64(arg1[8], (arg2[1] * 0x2))
184 var x17 uint64
185 var x18 uint64
186 x18, x17 = bits.Mul64(arg1[7], (arg2[8] * 0x2))
187 var x19 uint64
188 var x20 uint64
189 x20, x19 = bits.Mul64(arg1[7], (arg2[7] * 0x2))
190 var x21 uint64
191 var x22 uint64
192 x22, x21 = bits.Mul64(arg1[7], (arg2[6] * 0x2))
193 var x23 uint64
194 var x24 uint64
195 x24, x23 = bits.Mul64(arg1[7], (arg2[5] * 0x2))
196 var x25 uint64
197 var x26 uint64
198 x26, x25 = bits.Mul64(arg1[7], (arg2[4] * 0x2))
199 var x27 uint64
200 var x28 uint64
201 x28, x27 = bits.Mul64(arg1[7], (arg2[3] * 0x2))
202 var x29 uint64
203 var x30 uint64
204 x30, x29 = bits.Mul64(arg1[7], (arg2[2] * 0x2))
205 var x31 uint64
206 var x32 uint64
207 x32, x31 = bits.Mul64(arg1[6], (arg2[8] * 0x2))
208 var x33 uint64
209 var x34 uint64
210 x34, x33 = bits.Mul64(arg1[6], (arg2[7] * 0x2))
211 var x35 uint64
212 var x36 uint64
213 x36, x35 = bits.Mul64(arg1[6], (arg2[6] * 0x2))
214 var x37 uint64
215 var x38 uint64
216 x38, x37 = bits.Mul64(arg1[6], (arg2[5] * 0x2))
217 var x39 uint64
218 var x40 uint64
219 x40, x39 = bits.Mul64(arg1[6], (arg2[4] * 0x2))
220 var x41 uint64
221 var x42 uint64
222 x42, x41 = bits.Mul64(arg1[6], (arg2[3] * 0x2))
223 var x43 uint64
224 var x44 uint64
225 x44, x43 = bits.Mul64(arg1[5], (arg2[8] * 0x2))
226 var x45 uint64
227 var x46 uint64
228 x46, x45 = bits.Mul64(arg1[5], (arg2[7] * 0x2))
229 var x47 uint64
230 var x48 uint64
231 x48, x47 = bits.Mul64(arg1[5], (arg2[6] * 0x2))
232 var x49 uint64
233 var x50 uint64
234 x50, x49 = bits.Mul64(arg1[5], (arg2[5] * 0x2))
235 var x51 uint64
236 var x52 uint64
237 x52, x51 = bits.Mul64(arg1[5], (arg2[4] * 0x2))
238 var x53 uint64
239 var x54 uint64
240 x54, x53 = bits.Mul64(arg1[4], (arg2[8] * 0x2))
241 var x55 uint64
242 var x56 uint64
243 x56, x55 = bits.Mul64(arg1[4], (arg2[7] * 0x2))
244 var x57 uint64
245 var x58 uint64
246 x58, x57 = bits.Mul64(arg1[4], (arg2[6] * 0x2))
247 var x59 uint64
248 var x60 uint64
249 x60, x59 = bits.Mul64(arg1[4], (arg2[5] * 0x2))
250 var x61 uint64
251 var x62 uint64
252 x62, x61 = bits.Mul64(arg1[3], (arg2[8] * 0x2))
253 var x63 uint64
254 var x64 uint64
255 x64, x63 = bits.Mul64(arg1[3], (arg2[7] * 0x2))
256 var x65 uint64
257 var x66 uint64
258 x66, x65 = bits.Mul64(arg1[3], (arg2[6] * 0x2))
259 var x67 uint64
260 var x68 uint64
261 x68, x67 = bits.Mul64(arg1[2], (arg2[8] * 0x2))
262 var x69 uint64
263 var x70 uint64
264 x70, x69 = bits.Mul64(arg1[2], (arg2[7] * 0x2))
265 var x71 uint64
266 var x72 uint64
267 x72, x71 = bits.Mul64(arg1[1], (arg2[8] * 0x2))
268 var x73 uint64
269 var x74 uint64
270 x74, x73 = bits.Mul64(arg1[8], arg2[0])
271 var x75 uint64
272 var x76 uint64
273 x76, x75 = bits.Mul64(arg1[7], arg2[1])
274 var x77 uint64
275 var x78 uint64
276 x78, x77 = bits.Mul64(arg1[7], arg2[0])
277 var x79 uint64
278 var x80 uint64
279 x80, x79 = bits.Mul64(arg1[6], arg2[2])
280 var x81 uint64
281 var x82 uint64
282 x82, x81 = bits.Mul64(arg1[6], arg2[1])
283 var x83 uint64
284 var x84 uint64
285 x84, x83 = bits.Mul64(arg1[6], arg2[0])
286 var x85 uint64
287 var x86 uint64
288 x86, x85 = bits.Mul64(arg1[5], arg2[3])
289 var x87 uint64
290 var x88 uint64
291 x88, x87 = bits.Mul64(arg1[5], arg2[2])
292 var x89 uint64
293 var x90 uint64
294 x90, x89 = bits.Mul64(arg1[5], arg2[1])
295 var x91 uint64
296 var x92 uint64
297 x92, x91 = bits.Mul64(arg1[5], arg2[0])
298 var x93 uint64
299 var x94 uint64
300 x94, x93 = bits.Mul64(arg1[4], arg2[4])
301 var x95 uint64
302 var x96 uint64
303 x96, x95 = bits.Mul64(arg1[4], arg2[3])
304 var x97 uint64
305 var x98 uint64
306 x98, x97 = bits.Mul64(arg1[4], arg2[2])
307 var x99 uint64
308 var x100 uint64
309 x100, x99 = bits.Mul64(arg1[4], arg2[1])
310 var x101 uint64
311 var x102 uint64
312 x102, x101 = bits.Mul64(arg1[4], arg2[0])
313 var x103 uint64
314 var x104 uint64
315 x104, x103 = bits.Mul64(arg1[3], arg2[5])
316 var x105 uint64
317 var x106 uint64
318 x106, x105 = bits.Mul64(arg1[3], arg2[4])
319 var x107 uint64
320 var x108 uint64
321 x108, x107 = bits.Mul64(arg1[3], arg2[3])
322 var x109 uint64
323 var x110 uint64
324 x110, x109 = bits.Mul64(arg1[3], arg2[2])
325 var x111 uint64
326 var x112 uint64
327 x112, x111 = bits.Mul64(arg1[3], arg2[1])
328 var x113 uint64
329 var x114 uint64
330 x114, x113 = bits.Mul64(arg1[3], arg2[0])
331 var x115 uint64
332 var x116 uint64
333 x116, x115 = bits.Mul64(arg1[2], arg2[6])
334 var x117 uint64
335 var x118 uint64
336 x118, x117 = bits.Mul64(arg1[2], arg2[5])
337 var x119 uint64
338 var x120 uint64
339 x120, x119 = bits.Mul64(arg1[2], arg2[4])
340 var x121 uint64
341 var x122 uint64
342 x122, x121 = bits.Mul64(arg1[2], arg2[3])
343 var x123 uint64
344 var x124 uint64
345 x124, x123 = bits.Mul64(arg1[2], arg2[2])
346 var x125 uint64
347 var x126 uint64
348 x126, x125 = bits.Mul64(arg1[2], arg2[1])
349 var x127 uint64
350 var x128 uint64
351 x128, x127 = bits.Mul64(arg1[2], arg2[0])
352 var x129 uint64
353 var x130 uint64
354 x130, x129 = bits.Mul64(arg1[1], arg2[7])
355 var x131 uint64
356 var x132 uint64
357 x132, x131 = bits.Mul64(arg1[1], arg2[6])
358 var x133 uint64
359 var x134 uint64
360 x134, x133 = bits.Mul64(arg1[1], arg2[5])
361 var x135 uint64
362 var x136 uint64
363 x136, x135 = bits.Mul64(arg1[1], arg2[4])
364 var x137 uint64
365 var x138 uint64
366 x138, x137 = bits.Mul64(arg1[1], arg2[3])
367 var x139 uint64
368 var x140 uint64
369 x140, x139 = bits.Mul64(arg1[1], arg2[2])
370 var x141 uint64
371 var x142 uint64
372 x142, x141 = bits.Mul64(arg1[1], arg2[1])
373 var x143 uint64
374 var x144 uint64
375 x144, x143 = bits.Mul64(arg1[1], arg2[0])
376 var x145 uint64
377 var x146 uint64
378 x146, x145 = bits.Mul64(arg1[0], arg2[8])
379 var x147 uint64
380 var x148 uint64
381 x148, x147 = bits.Mul64(arg1[0], arg2[7])
382 var x149 uint64
383 var x150 uint64
384 x150, x149 = bits.Mul64(arg1[0], arg2[6])
385 var x151 uint64
386 var x152 uint64
387 x152, x151 = bits.Mul64(arg1[0], arg2[5])
388 var x153 uint64
389 var x154 uint64
390 x154, x153 = bits.Mul64(arg1[0], arg2[4])
391 var x155 uint64
392 var x156 uint64
393 x156, x155 = bits.Mul64(arg1[0], arg2[3])
394 var x157 uint64
395 var x158 uint64
396 x158, x157 = bits.Mul64(arg1[0], arg2[2])
397 var x159 uint64
398 var x160 uint64
399 x160, x159 = bits.Mul64(arg1[0], arg2[1])
400 var x161 uint64
401 var x162 uint64
402 x162, x161 = bits.Mul64(arg1[0], arg2[0])
403 var x163 uint64
404 var x164 p521Uint1
405 x163, x164 = p521AddcarryxU64(x29, x15, 0x0)
406 var x165 uint64
407 x165, _ = p521AddcarryxU64(x30, x16, x164)
408 var x167 uint64
409 var x168 p521Uint1
410 x167, x168 = p521AddcarryxU64(x41, x163, 0x0)
411 var x169 uint64
412 x169, _ = p521AddcarryxU64(x42, x165, x168)
413 var x171 uint64
414 var x172 p521Uint1
415 x171, x172 = p521AddcarryxU64(x51, x167, 0x0)
416 var x173 uint64
417 x173, _ = p521AddcarryxU64(x52, x169, x172)
418 var x175 uint64
419 var x176 p521Uint1
420 x175, x176 = p521AddcarryxU64(x59, x171, 0x0)
421 var x177 uint64
422 x177, _ = p521AddcarryxU64(x60, x173, x176)
423 var x179 uint64
424 var x180 p521Uint1
425 x179, x180 = p521AddcarryxU64(x65, x175, 0x0)
426 var x181 uint64
427 x181, _ = p521AddcarryxU64(x66, x177, x180)
428 var x183 uint64
429 var x184 p521Uint1
430 x183, x184 = p521AddcarryxU64(x69, x179, 0x0)
431 var x185 uint64
432 x185, _ = p521AddcarryxU64(x70, x181, x184)
433 var x187 uint64
434 var x188 p521Uint1
435 x187, x188 = p521AddcarryxU64(x71, x183, 0x0)
436 var x189 uint64
437 x189, _ = p521AddcarryxU64(x72, x185, x188)
438 var x191 uint64
439 var x192 p521Uint1
440 x191, x192 = p521AddcarryxU64(x161, x187, 0x0)
441 var x193 uint64
442 x193, _ = p521AddcarryxU64(x162, x189, x192)
443 x195 := ((x191 >> 58) | ((x193 << 6) & 0xffffffffffffffff))
444 x196 := (x193 >> 58)
445 x197 := (x191 & 0x3ffffffffffffff)
446 var x198 uint64
447 var x199 p521Uint1
448 x198, x199 = p521AddcarryxU64(x75, x73, 0x0)
449 var x200 uint64
450 x200, _ = p521AddcarryxU64(x76, x74, x199)
451 var x202 uint64
452 var x203 p521Uint1
453 x202, x203 = p521AddcarryxU64(x79, x198, 0x0)
454 var x204 uint64
455 x204, _ = p521AddcarryxU64(x80, x200, x203)
456 var x206 uint64
457 var x207 p521Uint1
458 x206, x207 = p521AddcarryxU64(x85, x202, 0x0)
459 var x208 uint64
460 x208, _ = p521AddcarryxU64(x86, x204, x207)
461 var x210 uint64
462 var x211 p521Uint1
463 x210, x211 = p521AddcarryxU64(x93, x206, 0x0)
464 var x212 uint64
465 x212, _ = p521AddcarryxU64(x94, x208, x211)
466 var x214 uint64
467 var x215 p521Uint1
468 x214, x215 = p521AddcarryxU64(x103, x210, 0x0)
469 var x216 uint64
470 x216, _ = p521AddcarryxU64(x104, x212, x215)
471 var x218 uint64
472 var x219 p521Uint1
473 x218, x219 = p521AddcarryxU64(x115, x214, 0x0)
474 var x220 uint64
475 x220, _ = p521AddcarryxU64(x116, x216, x219)
476 var x222 uint64
477 var x223 p521Uint1
478 x222, x223 = p521AddcarryxU64(x129, x218, 0x0)
479 var x224 uint64
480 x224, _ = p521AddcarryxU64(x130, x220, x223)
481 var x226 uint64
482 var x227 p521Uint1
483 x226, x227 = p521AddcarryxU64(x145, x222, 0x0)
484 var x228 uint64
485 x228, _ = p521AddcarryxU64(x146, x224, x227)
486 var x230 uint64
487 var x231 p521Uint1
488 x230, x231 = p521AddcarryxU64(x77, x1, 0x0)
489 var x232 uint64
490 x232, _ = p521AddcarryxU64(x78, x2, x231)
491 var x234 uint64
492 var x235 p521Uint1
493 x234, x235 = p521AddcarryxU64(x81, x230, 0x0)
494 var x236 uint64
495 x236, _ = p521AddcarryxU64(x82, x232, x235)
496 var x238 uint64
497 var x239 p521Uint1
498 x238, x239 = p521AddcarryxU64(x87, x234, 0x0)
499 var x240 uint64
500 x240, _ = p521AddcarryxU64(x88, x236, x239)
501 var x242 uint64
502 var x243 p521Uint1
503 x242, x243 = p521AddcarryxU64(x95, x238, 0x0)
504 var x244 uint64
505 x244, _ = p521AddcarryxU64(x96, x240, x243)
506 var x246 uint64
507 var x247 p521Uint1
508 x246, x247 = p521AddcarryxU64(x105, x242, 0x0)
509 var x248 uint64
510 x248, _ = p521AddcarryxU64(x106, x244, x247)
511 var x250 uint64
512 var x251 p521Uint1
513 x250, x251 = p521AddcarryxU64(x117, x246, 0x0)
514 var x252 uint64
515 x252, _ = p521AddcarryxU64(x118, x248, x251)
516 var x254 uint64
517 var x255 p521Uint1
518 x254, x255 = p521AddcarryxU64(x131, x250, 0x0)
519 var x256 uint64
520 x256, _ = p521AddcarryxU64(x132, x252, x255)
521 var x258 uint64
522 var x259 p521Uint1
523 x258, x259 = p521AddcarryxU64(x147, x254, 0x0)
524 var x260 uint64
525 x260, _ = p521AddcarryxU64(x148, x256, x259)
526 var x262 uint64
527 var x263 p521Uint1
528 x262, x263 = p521AddcarryxU64(x17, x3, 0x0)
529 var x264 uint64
530 x264, _ = p521AddcarryxU64(x18, x4, x263)
531 var x266 uint64
532 var x267 p521Uint1
533 x266, x267 = p521AddcarryxU64(x83, x262, 0x0)
534 var x268 uint64
535 x268, _ = p521AddcarryxU64(x84, x264, x267)
536 var x270 uint64
537 var x271 p521Uint1
538 x270, x271 = p521AddcarryxU64(x89, x266, 0x0)
539 var x272 uint64
540 x272, _ = p521AddcarryxU64(x90, x268, x271)
541 var x274 uint64
542 var x275 p521Uint1
543 x274, x275 = p521AddcarryxU64(x97, x270, 0x0)
544 var x276 uint64
545 x276, _ = p521AddcarryxU64(x98, x272, x275)
546 var x278 uint64
547 var x279 p521Uint1
548 x278, x279 = p521AddcarryxU64(x107, x274, 0x0)
549 var x280 uint64
550 x280, _ = p521AddcarryxU64(x108, x276, x279)
551 var x282 uint64
552 var x283 p521Uint1
553 x282, x283 = p521AddcarryxU64(x119, x278, 0x0)
554 var x284 uint64
555 x284, _ = p521AddcarryxU64(x120, x280, x283)
556 var x286 uint64
557 var x287 p521Uint1
558 x286, x287 = p521AddcarryxU64(x133, x282, 0x0)
559 var x288 uint64
560 x288, _ = p521AddcarryxU64(x134, x284, x287)
561 var x290 uint64
562 var x291 p521Uint1
563 x290, x291 = p521AddcarryxU64(x149, x286, 0x0)
564 var x292 uint64
565 x292, _ = p521AddcarryxU64(x150, x288, x291)
566 var x294 uint64
567 var x295 p521Uint1
568 x294, x295 = p521AddcarryxU64(x19, x5, 0x0)
569 var x296 uint64
570 x296, _ = p521AddcarryxU64(x20, x6, x295)
571 var x298 uint64
572 var x299 p521Uint1
573 x298, x299 = p521AddcarryxU64(x31, x294, 0x0)
574 var x300 uint64
575 x300, _ = p521AddcarryxU64(x32, x296, x299)
576 var x302 uint64
577 var x303 p521Uint1
578 x302, x303 = p521AddcarryxU64(x91, x298, 0x0)
579 var x304 uint64
580 x304, _ = p521AddcarryxU64(x92, x300, x303)
581 var x306 uint64
582 var x307 p521Uint1
583 x306, x307 = p521AddcarryxU64(x99, x302, 0x0)
584 var x308 uint64
585 x308, _ = p521AddcarryxU64(x100, x304, x307)
586 var x310 uint64
587 var x311 p521Uint1
588 x310, x311 = p521AddcarryxU64(x109, x306, 0x0)
589 var x312 uint64
590 x312, _ = p521AddcarryxU64(x110, x308, x311)
591 var x314 uint64
592 var x315 p521Uint1
593 x314, x315 = p521AddcarryxU64(x121, x310, 0x0)
594 var x316 uint64
595 x316, _ = p521AddcarryxU64(x122, x312, x315)
596 var x318 uint64
597 var x319 p521Uint1
598 x318, x319 = p521AddcarryxU64(x135, x314, 0x0)
599 var x320 uint64
600 x320, _ = p521AddcarryxU64(x136, x316, x319)
601 var x322 uint64
602 var x323 p521Uint1
603 x322, x323 = p521AddcarryxU64(x151, x318, 0x0)
604 var x324 uint64
605 x324, _ = p521AddcarryxU64(x152, x320, x323)
606 var x326 uint64
607 var x327 p521Uint1
608 x326, x327 = p521AddcarryxU64(x21, x7, 0x0)
609 var x328 uint64
610 x328, _ = p521AddcarryxU64(x22, x8, x327)
611 var x330 uint64
612 var x331 p521Uint1
613 x330, x331 = p521AddcarryxU64(x33, x326, 0x0)
614 var x332 uint64
615 x332, _ = p521AddcarryxU64(x34, x328, x331)
616 var x334 uint64
617 var x335 p521Uint1
618 x334, x335 = p521AddcarryxU64(x43, x330, 0x0)
619 var x336 uint64
620 x336, _ = p521AddcarryxU64(x44, x332, x335)
621 var x338 uint64
622 var x339 p521Uint1
623 x338, x339 = p521AddcarryxU64(x101, x334, 0x0)
624 var x340 uint64
625 x340, _ = p521AddcarryxU64(x102, x336, x339)
626 var x342 uint64
627 var x343 p521Uint1
628 x342, x343 = p521AddcarryxU64(x111, x338, 0x0)
629 var x344 uint64
630 x344, _ = p521AddcarryxU64(x112, x340, x343)
631 var x346 uint64
632 var x347 p521Uint1
633 x346, x347 = p521AddcarryxU64(x123, x342, 0x0)
634 var x348 uint64
635 x348, _ = p521AddcarryxU64(x124, x344, x347)
636 var x350 uint64
637 var x351 p521Uint1
638 x350, x351 = p521AddcarryxU64(x137, x346, 0x0)
639 var x352 uint64
640 x352, _ = p521AddcarryxU64(x138, x348, x351)
641 var x354 uint64
642 var x355 p521Uint1
643 x354, x355 = p521AddcarryxU64(x153, x350, 0x0)
644 var x356 uint64
645 x356, _ = p521AddcarryxU64(x154, x352, x355)
646 var x358 uint64
647 var x359 p521Uint1
648 x358, x359 = p521AddcarryxU64(x23, x9, 0x0)
649 var x360 uint64
650 x360, _ = p521AddcarryxU64(x24, x10, x359)
651 var x362 uint64
652 var x363 p521Uint1
653 x362, x363 = p521AddcarryxU64(x35, x358, 0x0)
654 var x364 uint64
655 x364, _ = p521AddcarryxU64(x36, x360, x363)
656 var x366 uint64
657 var x367 p521Uint1
658 x366, x367 = p521AddcarryxU64(x45, x362, 0x0)
659 var x368 uint64
660 x368, _ = p521AddcarryxU64(x46, x364, x367)
661 var x370 uint64
662 var x371 p521Uint1
663 x370, x371 = p521AddcarryxU64(x53, x366, 0x0)
664 var x372 uint64
665 x372, _ = p521AddcarryxU64(x54, x368, x371)
666 var x374 uint64
667 var x375 p521Uint1
668 x374, x375 = p521AddcarryxU64(x113, x370, 0x0)
669 var x376 uint64
670 x376, _ = p521AddcarryxU64(x114, x372, x375)
671 var x378 uint64
672 var x379 p521Uint1
673 x378, x379 = p521AddcarryxU64(x125, x374, 0x0)
674 var x380 uint64
675 x380, _ = p521AddcarryxU64(x126, x376, x379)
676 var x382 uint64
677 var x383 p521Uint1
678 x382, x383 = p521AddcarryxU64(x139, x378, 0x0)
679 var x384 uint64
680 x384, _ = p521AddcarryxU64(x140, x380, x383)
681 var x386 uint64
682 var x387 p521Uint1
683 x386, x387 = p521AddcarryxU64(x155, x382, 0x0)
684 var x388 uint64
685 x388, _ = p521AddcarryxU64(x156, x384, x387)
686 var x390 uint64
687 var x391 p521Uint1
688 x390, x391 = p521AddcarryxU64(x25, x11, 0x0)
689 var x392 uint64
690 x392, _ = p521AddcarryxU64(x26, x12, x391)
691 var x394 uint64
692 var x395 p521Uint1
693 x394, x395 = p521AddcarryxU64(x37, x390, 0x0)
694 var x396 uint64
695 x396, _ = p521AddcarryxU64(x38, x392, x395)
696 var x398 uint64
697 var x399 p521Uint1
698 x398, x399 = p521AddcarryxU64(x47, x394, 0x0)
699 var x400 uint64
700 x400, _ = p521AddcarryxU64(x48, x396, x399)
701 var x402 uint64
702 var x403 p521Uint1
703 x402, x403 = p521AddcarryxU64(x55, x398, 0x0)
704 var x404 uint64
705 x404, _ = p521AddcarryxU64(x56, x400, x403)
706 var x406 uint64
707 var x407 p521Uint1
708 x406, x407 = p521AddcarryxU64(x61, x402, 0x0)
709 var x408 uint64
710 x408, _ = p521AddcarryxU64(x62, x404, x407)
711 var x410 uint64
712 var x411 p521Uint1
713 x410, x411 = p521AddcarryxU64(x127, x406, 0x0)
714 var x412 uint64
715 x412, _ = p521AddcarryxU64(x128, x408, x411)
716 var x414 uint64
717 var x415 p521Uint1
718 x414, x415 = p521AddcarryxU64(x141, x410, 0x0)
719 var x416 uint64
720 x416, _ = p521AddcarryxU64(x142, x412, x415)
721 var x418 uint64
722 var x419 p521Uint1
723 x418, x419 = p521AddcarryxU64(x157, x414, 0x0)
724 var x420 uint64
725 x420, _ = p521AddcarryxU64(x158, x416, x419)
726 var x422 uint64
727 var x423 p521Uint1
728 x422, x423 = p521AddcarryxU64(x27, x13, 0x0)
729 var x424 uint64
730 x424, _ = p521AddcarryxU64(x28, x14, x423)
731 var x426 uint64
732 var x427 p521Uint1
733 x426, x427 = p521AddcarryxU64(x39, x422, 0x0)
734 var x428 uint64
735 x428, _ = p521AddcarryxU64(x40, x424, x427)
736 var x430 uint64
737 var x431 p521Uint1
738 x430, x431 = p521AddcarryxU64(x49, x426, 0x0)
739 var x432 uint64
740 x432, _ = p521AddcarryxU64(x50, x428, x431)
741 var x434 uint64
742 var x435 p521Uint1
743 x434, x435 = p521AddcarryxU64(x57, x430, 0x0)
744 var x436 uint64
745 x436, _ = p521AddcarryxU64(x58, x432, x435)
746 var x438 uint64
747 var x439 p521Uint1
748 x438, x439 = p521AddcarryxU64(x63, x434, 0x0)
749 var x440 uint64
750 x440, _ = p521AddcarryxU64(x64, x436, x439)
751 var x442 uint64
752 var x443 p521Uint1
753 x442, x443 = p521AddcarryxU64(x67, x438, 0x0)
754 var x444 uint64
755 x444, _ = p521AddcarryxU64(x68, x440, x443)
756 var x446 uint64
757 var x447 p521Uint1
758 x446, x447 = p521AddcarryxU64(x143, x442, 0x0)
759 var x448 uint64
760 x448, _ = p521AddcarryxU64(x144, x444, x447)
761 var x450 uint64
762 var x451 p521Uint1
763 x450, x451 = p521AddcarryxU64(x159, x446, 0x0)
764 var x452 uint64
765 x452, _ = p521AddcarryxU64(x160, x448, x451)
766 var x454 uint64
767 var x455 p521Uint1
768 x454, x455 = p521AddcarryxU64(x195, x450, 0x0)
769 var x456 uint64
770 x456, _ = p521AddcarryxU64(x196, x452, x455)
771 x458 := ((x454 >> 58) | ((x456 << 6) & 0xffffffffffffffff))
772 x459 := (x456 >> 58)
773 x460 := (x454 & 0x3ffffffffffffff)
774 var x461 uint64
775 var x462 p521Uint1
776 x461, x462 = p521AddcarryxU64(x458, x418, 0x0)
777 var x463 uint64
778 x463, _ = p521AddcarryxU64(x459, x420, x462)
779 x465 := ((x461 >> 58) | ((x463 << 6) & 0xffffffffffffffff))
780 x466 := (x463 >> 58)
781 x467 := (x461 & 0x3ffffffffffffff)
782 var x468 uint64
783 var x469 p521Uint1
784 x468, x469 = p521AddcarryxU64(x465, x386, 0x0)
785 var x470 uint64
786 x470, _ = p521AddcarryxU64(x466, x388, x469)
787 x472 := ((x468 >> 58) | ((x470 << 6) & 0xffffffffffffffff))
788 x473 := (x470 >> 58)
789 x474 := (x468 & 0x3ffffffffffffff)
790 var x475 uint64
791 var x476 p521Uint1
792 x475, x476 = p521AddcarryxU64(x472, x354, 0x0)
793 var x477 uint64
794 x477, _ = p521AddcarryxU64(x473, x356, x476)
795 x479 := ((x475 >> 58) | ((x477 << 6) & 0xffffffffffffffff))
796 x480 := (x477 >> 58)
797 x481 := (x475 & 0x3ffffffffffffff)
798 var x482 uint64
799 var x483 p521Uint1
800 x482, x483 = p521AddcarryxU64(x479, x322, 0x0)
801 var x484 uint64
802 x484, _ = p521AddcarryxU64(x480, x324, x483)
803 x486 := ((x482 >> 58) | ((x484 << 6) & 0xffffffffffffffff))
804 x487 := (x484 >> 58)
805 x488 := (x482 & 0x3ffffffffffffff)
806 var x489 uint64
807 var x490 p521Uint1
808 x489, x490 = p521AddcarryxU64(x486, x290, 0x0)
809 var x491 uint64
810 x491, _ = p521AddcarryxU64(x487, x292, x490)
811 x493 := ((x489 >> 58) | ((x491 << 6) & 0xffffffffffffffff))
812 x494 := (x491 >> 58)
813 x495 := (x489 & 0x3ffffffffffffff)
814 var x496 uint64
815 var x497 p521Uint1
816 x496, x497 = p521AddcarryxU64(x493, x258, 0x0)
817 var x498 uint64
818 x498, _ = p521AddcarryxU64(x494, x260, x497)
819 x500 := ((x496 >> 58) | ((x498 << 6) & 0xffffffffffffffff))
820 x501 := (x498 >> 58)
821 x502 := (x496 & 0x3ffffffffffffff)
822 var x503 uint64
823 var x504 p521Uint1
824 x503, x504 = p521AddcarryxU64(x500, x226, 0x0)
825 var x505 uint64
826 x505, _ = p521AddcarryxU64(x501, x228, x504)
827 x507 := ((x503 >> 57) | ((x505 << 7) & 0xffffffffffffffff))
828 x508 := (x505 >> 57)
829 x509 := (x503 & 0x1ffffffffffffff)
830 var x510 uint64
831 var x511 p521Uint1
832 x510, x511 = p521AddcarryxU64(x197, x507, 0x0)
833 x512 := (uint64(x511) + x508)
834 x513 := ((x510 >> 58) | ((x512 << 6) & 0xffffffffffffffff))
835 x514 := (x510 & 0x3ffffffffffffff)
836 x515 := (x513 + x460)
837 x516 := p521Uint1((x515 >> 58))
838 x517 := (x515 & 0x3ffffffffffffff)
839 x518 := (uint64(x516) + x467)
840 out1[0] = x514
841 out1[1] = x517
842 out1[2] = x518
843 out1[3] = x474
844 out1[4] = x481
845 out1[5] = x488
846 out1[6] = x495
847 out1[7] = x502
848 out1[8] = x509
849 }
850
851
852
853
854
855
856
857
858
859
860 func p521CarrySquare(out1 *[9]uint64, arg1 *[9]uint64) {
861 x1 := arg1[8]
862 x2 := (x1 * 0x2)
863 x3 := (arg1[8] * 0x2)
864 x4 := arg1[7]
865 x5 := (x4 * 0x2)
866 x6 := (arg1[7] * 0x2)
867 x7 := arg1[6]
868 x8 := (x7 * 0x2)
869 x9 := (arg1[6] * 0x2)
870 x10 := arg1[5]
871 x11 := (x10 * 0x2)
872 x12 := (arg1[5] * 0x2)
873 x13 := (arg1[4] * 0x2)
874 x14 := (arg1[3] * 0x2)
875 x15 := (arg1[2] * 0x2)
876 x16 := (arg1[1] * 0x2)
877 var x17 uint64
878 var x18 uint64
879 x18, x17 = bits.Mul64(arg1[8], (x1 * 0x2))
880 var x19 uint64
881 var x20 uint64
882 x20, x19 = bits.Mul64(arg1[7], (x2 * 0x2))
883 var x21 uint64
884 var x22 uint64
885 x22, x21 = bits.Mul64(arg1[7], (x4 * 0x2))
886 var x23 uint64
887 var x24 uint64
888 x24, x23 = bits.Mul64(arg1[6], (x2 * 0x2))
889 var x25 uint64
890 var x26 uint64
891 x26, x25 = bits.Mul64(arg1[6], (x5 * 0x2))
892 var x27 uint64
893 var x28 uint64
894 x28, x27 = bits.Mul64(arg1[6], (x7 * 0x2))
895 var x29 uint64
896 var x30 uint64
897 x30, x29 = bits.Mul64(arg1[5], (x2 * 0x2))
898 var x31 uint64
899 var x32 uint64
900 x32, x31 = bits.Mul64(arg1[5], (x5 * 0x2))
901 var x33 uint64
902 var x34 uint64
903 x34, x33 = bits.Mul64(arg1[5], (x8 * 0x2))
904 var x35 uint64
905 var x36 uint64
906 x36, x35 = bits.Mul64(arg1[5], (x10 * 0x2))
907 var x37 uint64
908 var x38 uint64
909 x38, x37 = bits.Mul64(arg1[4], (x2 * 0x2))
910 var x39 uint64
911 var x40 uint64
912 x40, x39 = bits.Mul64(arg1[4], (x5 * 0x2))
913 var x41 uint64
914 var x42 uint64
915 x42, x41 = bits.Mul64(arg1[4], (x8 * 0x2))
916 var x43 uint64
917 var x44 uint64
918 x44, x43 = bits.Mul64(arg1[4], (x11 * 0x2))
919 var x45 uint64
920 var x46 uint64
921 x46, x45 = bits.Mul64(arg1[4], arg1[4])
922 var x47 uint64
923 var x48 uint64
924 x48, x47 = bits.Mul64(arg1[3], (x2 * 0x2))
925 var x49 uint64
926 var x50 uint64
927 x50, x49 = bits.Mul64(arg1[3], (x5 * 0x2))
928 var x51 uint64
929 var x52 uint64
930 x52, x51 = bits.Mul64(arg1[3], (x8 * 0x2))
931 var x53 uint64
932 var x54 uint64
933 x54, x53 = bits.Mul64(arg1[3], x12)
934 var x55 uint64
935 var x56 uint64
936 x56, x55 = bits.Mul64(arg1[3], x13)
937 var x57 uint64
938 var x58 uint64
939 x58, x57 = bits.Mul64(arg1[3], arg1[3])
940 var x59 uint64
941 var x60 uint64
942 x60, x59 = bits.Mul64(arg1[2], (x2 * 0x2))
943 var x61 uint64
944 var x62 uint64
945 x62, x61 = bits.Mul64(arg1[2], (x5 * 0x2))
946 var x63 uint64
947 var x64 uint64
948 x64, x63 = bits.Mul64(arg1[2], x9)
949 var x65 uint64
950 var x66 uint64
951 x66, x65 = bits.Mul64(arg1[2], x12)
952 var x67 uint64
953 var x68 uint64
954 x68, x67 = bits.Mul64(arg1[2], x13)
955 var x69 uint64
956 var x70 uint64
957 x70, x69 = bits.Mul64(arg1[2], x14)
958 var x71 uint64
959 var x72 uint64
960 x72, x71 = bits.Mul64(arg1[2], arg1[2])
961 var x73 uint64
962 var x74 uint64
963 x74, x73 = bits.Mul64(arg1[1], (x2 * 0x2))
964 var x75 uint64
965 var x76 uint64
966 x76, x75 = bits.Mul64(arg1[1], x6)
967 var x77 uint64
968 var x78 uint64
969 x78, x77 = bits.Mul64(arg1[1], x9)
970 var x79 uint64
971 var x80 uint64
972 x80, x79 = bits.Mul64(arg1[1], x12)
973 var x81 uint64
974 var x82 uint64
975 x82, x81 = bits.Mul64(arg1[1], x13)
976 var x83 uint64
977 var x84 uint64
978 x84, x83 = bits.Mul64(arg1[1], x14)
979 var x85 uint64
980 var x86 uint64
981 x86, x85 = bits.Mul64(arg1[1], x15)
982 var x87 uint64
983 var x88 uint64
984 x88, x87 = bits.Mul64(arg1[1], arg1[1])
985 var x89 uint64
986 var x90 uint64
987 x90, x89 = bits.Mul64(arg1[0], x3)
988 var x91 uint64
989 var x92 uint64
990 x92, x91 = bits.Mul64(arg1[0], x6)
991 var x93 uint64
992 var x94 uint64
993 x94, x93 = bits.Mul64(arg1[0], x9)
994 var x95 uint64
995 var x96 uint64
996 x96, x95 = bits.Mul64(arg1[0], x12)
997 var x97 uint64
998 var x98 uint64
999 x98, x97 = bits.Mul64(arg1[0], x13)
1000 var x99 uint64
1001 var x100 uint64
1002 x100, x99 = bits.Mul64(arg1[0], x14)
1003 var x101 uint64
1004 var x102 uint64
1005 x102, x101 = bits.Mul64(arg1[0], x15)
1006 var x103 uint64
1007 var x104 uint64
1008 x104, x103 = bits.Mul64(arg1[0], x16)
1009 var x105 uint64
1010 var x106 uint64
1011 x106, x105 = bits.Mul64(arg1[0], arg1[0])
1012 var x107 uint64
1013 var x108 p521Uint1
1014 x107, x108 = p521AddcarryxU64(x51, x43, 0x0)
1015 var x109 uint64
1016 x109, _ = p521AddcarryxU64(x52, x44, x108)
1017 var x111 uint64
1018 var x112 p521Uint1
1019 x111, x112 = p521AddcarryxU64(x61, x107, 0x0)
1020 var x113 uint64
1021 x113, _ = p521AddcarryxU64(x62, x109, x112)
1022 var x115 uint64
1023 var x116 p521Uint1
1024 x115, x116 = p521AddcarryxU64(x73, x111, 0x0)
1025 var x117 uint64
1026 x117, _ = p521AddcarryxU64(x74, x113, x116)
1027 var x119 uint64
1028 var x120 p521Uint1
1029 x119, x120 = p521AddcarryxU64(x105, x115, 0x0)
1030 var x121 uint64
1031 x121, _ = p521AddcarryxU64(x106, x117, x120)
1032 x123 := ((x119 >> 58) | ((x121 << 6) & 0xffffffffffffffff))
1033 x124 := (x121 >> 58)
1034 x125 := (x119 & 0x3ffffffffffffff)
1035 var x126 uint64
1036 var x127 p521Uint1
1037 x126, x127 = p521AddcarryxU64(x53, x45, 0x0)
1038 var x128 uint64
1039 x128, _ = p521AddcarryxU64(x54, x46, x127)
1040 var x130 uint64
1041 var x131 p521Uint1
1042 x130, x131 = p521AddcarryxU64(x63, x126, 0x0)
1043 var x132 uint64
1044 x132, _ = p521AddcarryxU64(x64, x128, x131)
1045 var x134 uint64
1046 var x135 p521Uint1
1047 x134, x135 = p521AddcarryxU64(x75, x130, 0x0)
1048 var x136 uint64
1049 x136, _ = p521AddcarryxU64(x76, x132, x135)
1050 var x138 uint64
1051 var x139 p521Uint1
1052 x138, x139 = p521AddcarryxU64(x89, x134, 0x0)
1053 var x140 uint64
1054 x140, _ = p521AddcarryxU64(x90, x136, x139)
1055 var x142 uint64
1056 var x143 p521Uint1
1057 x142, x143 = p521AddcarryxU64(x55, x17, 0x0)
1058 var x144 uint64
1059 x144, _ = p521AddcarryxU64(x56, x18, x143)
1060 var x146 uint64
1061 var x147 p521Uint1
1062 x146, x147 = p521AddcarryxU64(x65, x142, 0x0)
1063 var x148 uint64
1064 x148, _ = p521AddcarryxU64(x66, x144, x147)
1065 var x150 uint64
1066 var x151 p521Uint1
1067 x150, x151 = p521AddcarryxU64(x77, x146, 0x0)
1068 var x152 uint64
1069 x152, _ = p521AddcarryxU64(x78, x148, x151)
1070 var x154 uint64
1071 var x155 p521Uint1
1072 x154, x155 = p521AddcarryxU64(x91, x150, 0x0)
1073 var x156 uint64
1074 x156, _ = p521AddcarryxU64(x92, x152, x155)
1075 var x158 uint64
1076 var x159 p521Uint1
1077 x158, x159 = p521AddcarryxU64(x57, x19, 0x0)
1078 var x160 uint64
1079 x160, _ = p521AddcarryxU64(x58, x20, x159)
1080 var x162 uint64
1081 var x163 p521Uint1
1082 x162, x163 = p521AddcarryxU64(x67, x158, 0x0)
1083 var x164 uint64
1084 x164, _ = p521AddcarryxU64(x68, x160, x163)
1085 var x166 uint64
1086 var x167 p521Uint1
1087 x166, x167 = p521AddcarryxU64(x79, x162, 0x0)
1088 var x168 uint64
1089 x168, _ = p521AddcarryxU64(x80, x164, x167)
1090 var x170 uint64
1091 var x171 p521Uint1
1092 x170, x171 = p521AddcarryxU64(x93, x166, 0x0)
1093 var x172 uint64
1094 x172, _ = p521AddcarryxU64(x94, x168, x171)
1095 var x174 uint64
1096 var x175 p521Uint1
1097 x174, x175 = p521AddcarryxU64(x23, x21, 0x0)
1098 var x176 uint64
1099 x176, _ = p521AddcarryxU64(x24, x22, x175)
1100 var x178 uint64
1101 var x179 p521Uint1
1102 x178, x179 = p521AddcarryxU64(x69, x174, 0x0)
1103 var x180 uint64
1104 x180, _ = p521AddcarryxU64(x70, x176, x179)
1105 var x182 uint64
1106 var x183 p521Uint1
1107 x182, x183 = p521AddcarryxU64(x81, x178, 0x0)
1108 var x184 uint64
1109 x184, _ = p521AddcarryxU64(x82, x180, x183)
1110 var x186 uint64
1111 var x187 p521Uint1
1112 x186, x187 = p521AddcarryxU64(x95, x182, 0x0)
1113 var x188 uint64
1114 x188, _ = p521AddcarryxU64(x96, x184, x187)
1115 var x190 uint64
1116 var x191 p521Uint1
1117 x190, x191 = p521AddcarryxU64(x29, x25, 0x0)
1118 var x192 uint64
1119 x192, _ = p521AddcarryxU64(x30, x26, x191)
1120 var x194 uint64
1121 var x195 p521Uint1
1122 x194, x195 = p521AddcarryxU64(x71, x190, 0x0)
1123 var x196 uint64
1124 x196, _ = p521AddcarryxU64(x72, x192, x195)
1125 var x198 uint64
1126 var x199 p521Uint1
1127 x198, x199 = p521AddcarryxU64(x83, x194, 0x0)
1128 var x200 uint64
1129 x200, _ = p521AddcarryxU64(x84, x196, x199)
1130 var x202 uint64
1131 var x203 p521Uint1
1132 x202, x203 = p521AddcarryxU64(x97, x198, 0x0)
1133 var x204 uint64
1134 x204, _ = p521AddcarryxU64(x98, x200, x203)
1135 var x206 uint64
1136 var x207 p521Uint1
1137 x206, x207 = p521AddcarryxU64(x31, x27, 0x0)
1138 var x208 uint64
1139 x208, _ = p521AddcarryxU64(x32, x28, x207)
1140 var x210 uint64
1141 var x211 p521Uint1
1142 x210, x211 = p521AddcarryxU64(x37, x206, 0x0)
1143 var x212 uint64
1144 x212, _ = p521AddcarryxU64(x38, x208, x211)
1145 var x214 uint64
1146 var x215 p521Uint1
1147 x214, x215 = p521AddcarryxU64(x85, x210, 0x0)
1148 var x216 uint64
1149 x216, _ = p521AddcarryxU64(x86, x212, x215)
1150 var x218 uint64
1151 var x219 p521Uint1
1152 x218, x219 = p521AddcarryxU64(x99, x214, 0x0)
1153 var x220 uint64
1154 x220, _ = p521AddcarryxU64(x100, x216, x219)
1155 var x222 uint64
1156 var x223 p521Uint1
1157 x222, x223 = p521AddcarryxU64(x39, x33, 0x0)
1158 var x224 uint64
1159 x224, _ = p521AddcarryxU64(x40, x34, x223)
1160 var x226 uint64
1161 var x227 p521Uint1
1162 x226, x227 = p521AddcarryxU64(x47, x222, 0x0)
1163 var x228 uint64
1164 x228, _ = p521AddcarryxU64(x48, x224, x227)
1165 var x230 uint64
1166 var x231 p521Uint1
1167 x230, x231 = p521AddcarryxU64(x87, x226, 0x0)
1168 var x232 uint64
1169 x232, _ = p521AddcarryxU64(x88, x228, x231)
1170 var x234 uint64
1171 var x235 p521Uint1
1172 x234, x235 = p521AddcarryxU64(x101, x230, 0x0)
1173 var x236 uint64
1174 x236, _ = p521AddcarryxU64(x102, x232, x235)
1175 var x238 uint64
1176 var x239 p521Uint1
1177 x238, x239 = p521AddcarryxU64(x41, x35, 0x0)
1178 var x240 uint64
1179 x240, _ = p521AddcarryxU64(x42, x36, x239)
1180 var x242 uint64
1181 var x243 p521Uint1
1182 x242, x243 = p521AddcarryxU64(x49, x238, 0x0)
1183 var x244 uint64
1184 x244, _ = p521AddcarryxU64(x50, x240, x243)
1185 var x246 uint64
1186 var x247 p521Uint1
1187 x246, x247 = p521AddcarryxU64(x59, x242, 0x0)
1188 var x248 uint64
1189 x248, _ = p521AddcarryxU64(x60, x244, x247)
1190 var x250 uint64
1191 var x251 p521Uint1
1192 x250, x251 = p521AddcarryxU64(x103, x246, 0x0)
1193 var x252 uint64
1194 x252, _ = p521AddcarryxU64(x104, x248, x251)
1195 var x254 uint64
1196 var x255 p521Uint1
1197 x254, x255 = p521AddcarryxU64(x123, x250, 0x0)
1198 var x256 uint64
1199 x256, _ = p521AddcarryxU64(x124, x252, x255)
1200 x258 := ((x254 >> 58) | ((x256 << 6) & 0xffffffffffffffff))
1201 x259 := (x256 >> 58)
1202 x260 := (x254 & 0x3ffffffffffffff)
1203 var x261 uint64
1204 var x262 p521Uint1
1205 x261, x262 = p521AddcarryxU64(x258, x234, 0x0)
1206 var x263 uint64
1207 x263, _ = p521AddcarryxU64(x259, x236, x262)
1208 x265 := ((x261 >> 58) | ((x263 << 6) & 0xffffffffffffffff))
1209 x266 := (x263 >> 58)
1210 x267 := (x261 & 0x3ffffffffffffff)
1211 var x268 uint64
1212 var x269 p521Uint1
1213 x268, x269 = p521AddcarryxU64(x265, x218, 0x0)
1214 var x270 uint64
1215 x270, _ = p521AddcarryxU64(x266, x220, x269)
1216 x272 := ((x268 >> 58) | ((x270 << 6) & 0xffffffffffffffff))
1217 x273 := (x270 >> 58)
1218 x274 := (x268 & 0x3ffffffffffffff)
1219 var x275 uint64
1220 var x276 p521Uint1
1221 x275, x276 = p521AddcarryxU64(x272, x202, 0x0)
1222 var x277 uint64
1223 x277, _ = p521AddcarryxU64(x273, x204, x276)
1224 x279 := ((x275 >> 58) | ((x277 << 6) & 0xffffffffffffffff))
1225 x280 := (x277 >> 58)
1226 x281 := (x275 & 0x3ffffffffffffff)
1227 var x282 uint64
1228 var x283 p521Uint1
1229 x282, x283 = p521AddcarryxU64(x279, x186, 0x0)
1230 var x284 uint64
1231 x284, _ = p521AddcarryxU64(x280, x188, x283)
1232 x286 := ((x282 >> 58) | ((x284 << 6) & 0xffffffffffffffff))
1233 x287 := (x284 >> 58)
1234 x288 := (x282 & 0x3ffffffffffffff)
1235 var x289 uint64
1236 var x290 p521Uint1
1237 x289, x290 = p521AddcarryxU64(x286, x170, 0x0)
1238 var x291 uint64
1239 x291, _ = p521AddcarryxU64(x287, x172, x290)
1240 x293 := ((x289 >> 58) | ((x291 << 6) & 0xffffffffffffffff))
1241 x294 := (x291 >> 58)
1242 x295 := (x289 & 0x3ffffffffffffff)
1243 var x296 uint64
1244 var x297 p521Uint1
1245 x296, x297 = p521AddcarryxU64(x293, x154, 0x0)
1246 var x298 uint64
1247 x298, _ = p521AddcarryxU64(x294, x156, x297)
1248 x300 := ((x296 >> 58) | ((x298 << 6) & 0xffffffffffffffff))
1249 x301 := (x298 >> 58)
1250 x302 := (x296 & 0x3ffffffffffffff)
1251 var x303 uint64
1252 var x304 p521Uint1
1253 x303, x304 = p521AddcarryxU64(x300, x138, 0x0)
1254 var x305 uint64
1255 x305, _ = p521AddcarryxU64(x301, x140, x304)
1256 x307 := ((x303 >> 57) | ((x305 << 7) & 0xffffffffffffffff))
1257 x308 := (x305 >> 57)
1258 x309 := (x303 & 0x1ffffffffffffff)
1259 var x310 uint64
1260 var x311 p521Uint1
1261 x310, x311 = p521AddcarryxU64(x125, x307, 0x0)
1262 x312 := (uint64(x311) + x308)
1263 x313 := ((x310 >> 58) | ((x312 << 6) & 0xffffffffffffffff))
1264 x314 := (x310 & 0x3ffffffffffffff)
1265 x315 := (x313 + x260)
1266 x316 := p521Uint1((x315 >> 58))
1267 x317 := (x315 & 0x3ffffffffffffff)
1268 x318 := (uint64(x316) + x267)
1269 out1[0] = x314
1270 out1[1] = x317
1271 out1[2] = x318
1272 out1[3] = x274
1273 out1[4] = x281
1274 out1[5] = x288
1275 out1[6] = x295
1276 out1[7] = x302
1277 out1[8] = x309
1278 }
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289 func p521Carry(out1 *[9]uint64, arg1 *[9]uint64) {
1290 x1 := arg1[0]
1291 x2 := ((x1 >> 58) + arg1[1])
1292 x3 := ((x2 >> 58) + arg1[2])
1293 x4 := ((x3 >> 58) + arg1[3])
1294 x5 := ((x4 >> 58) + arg1[4])
1295 x6 := ((x5 >> 58) + arg1[5])
1296 x7 := ((x6 >> 58) + arg1[6])
1297 x8 := ((x7 >> 58) + arg1[7])
1298 x9 := ((x8 >> 58) + arg1[8])
1299 x10 := ((x1 & 0x3ffffffffffffff) + (x9 >> 57))
1300 x11 := (uint64(p521Uint1((x10 >> 58))) + (x2 & 0x3ffffffffffffff))
1301 x12 := (x10 & 0x3ffffffffffffff)
1302 x13 := (x11 & 0x3ffffffffffffff)
1303 x14 := (uint64(p521Uint1((x11 >> 58))) + (x3 & 0x3ffffffffffffff))
1304 x15 := (x4 & 0x3ffffffffffffff)
1305 x16 := (x5 & 0x3ffffffffffffff)
1306 x17 := (x6 & 0x3ffffffffffffff)
1307 x18 := (x7 & 0x3ffffffffffffff)
1308 x19 := (x8 & 0x3ffffffffffffff)
1309 x20 := (x9 & 0x1ffffffffffffff)
1310 out1[0] = x12
1311 out1[1] = x13
1312 out1[2] = x14
1313 out1[3] = x15
1314 out1[4] = x16
1315 out1[5] = x17
1316 out1[6] = x18
1317 out1[7] = x19
1318 out1[8] = x20
1319 }
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331 func p521Add(out1 *[9]uint64, arg1 *[9]uint64, arg2 *[9]uint64) {
1332 x1 := (arg1[0] + arg2[0])
1333 x2 := (arg1[1] + arg2[1])
1334 x3 := (arg1[2] + arg2[2])
1335 x4 := (arg1[3] + arg2[3])
1336 x5 := (arg1[4] + arg2[4])
1337 x6 := (arg1[5] + arg2[5])
1338 x7 := (arg1[6] + arg2[6])
1339 x8 := (arg1[7] + arg2[7])
1340 x9 := (arg1[8] + arg2[8])
1341 out1[0] = x1
1342 out1[1] = x2
1343 out1[2] = x3
1344 out1[3] = x4
1345 out1[4] = x5
1346 out1[5] = x6
1347 out1[6] = x7
1348 out1[7] = x8
1349 out1[8] = x9
1350 }
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362 func p521Sub(out1 *[9]uint64, arg1 *[9]uint64, arg2 *[9]uint64) {
1363 x1 := ((0x7fffffffffffffe + arg1[0]) - arg2[0])
1364 x2 := ((0x7fffffffffffffe + arg1[1]) - arg2[1])
1365 x3 := ((0x7fffffffffffffe + arg1[2]) - arg2[2])
1366 x4 := ((0x7fffffffffffffe + arg1[3]) - arg2[3])
1367 x5 := ((0x7fffffffffffffe + arg1[4]) - arg2[4])
1368 x6 := ((0x7fffffffffffffe + arg1[5]) - arg2[5])
1369 x7 := ((0x7fffffffffffffe + arg1[6]) - arg2[6])
1370 x8 := ((0x7fffffffffffffe + arg1[7]) - arg2[7])
1371 x9 := ((0x3fffffffffffffe + arg1[8]) - arg2[8])
1372 out1[0] = x1
1373 out1[1] = x2
1374 out1[2] = x3
1375 out1[3] = x4
1376 out1[4] = x5
1377 out1[5] = x6
1378 out1[6] = x7
1379 out1[7] = x8
1380 out1[8] = x9
1381 }
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392 func p521ToBytes(out1 *[66]uint8, arg1 *[9]uint64) {
1393 var x1 uint64
1394 var x2 p521Uint1
1395 p521SubborrowxU58(&x1, &x2, 0x0, arg1[0], 0x3ffffffffffffff)
1396 var x3 uint64
1397 var x4 p521Uint1
1398 p521SubborrowxU58(&x3, &x4, x2, arg1[1], 0x3ffffffffffffff)
1399 var x5 uint64
1400 var x6 p521Uint1
1401 p521SubborrowxU58(&x5, &x6, x4, arg1[2], 0x3ffffffffffffff)
1402 var x7 uint64
1403 var x8 p521Uint1
1404 p521SubborrowxU58(&x7, &x8, x6, arg1[3], 0x3ffffffffffffff)
1405 var x9 uint64
1406 var x10 p521Uint1
1407 p521SubborrowxU58(&x9, &x10, x8, arg1[4], 0x3ffffffffffffff)
1408 var x11 uint64
1409 var x12 p521Uint1
1410 p521SubborrowxU58(&x11, &x12, x10, arg1[5], 0x3ffffffffffffff)
1411 var x13 uint64
1412 var x14 p521Uint1
1413 p521SubborrowxU58(&x13, &x14, x12, arg1[6], 0x3ffffffffffffff)
1414 var x15 uint64
1415 var x16 p521Uint1
1416 p521SubborrowxU58(&x15, &x16, x14, arg1[7], 0x3ffffffffffffff)
1417 var x17 uint64
1418 var x18 p521Uint1
1419 p521SubborrowxU57(&x17, &x18, x16, arg1[8], 0x1ffffffffffffff)
1420 var x19 uint64
1421 p521CmovznzU64(&x19, x18, uint64(0x0), 0xffffffffffffffff)
1422 var x20 uint64
1423 var x21 p521Uint1
1424 p521AddcarryxU58(&x20, &x21, 0x0, x1, (x19 & 0x3ffffffffffffff))
1425 var x22 uint64
1426 var x23 p521Uint1
1427 p521AddcarryxU58(&x22, &x23, x21, x3, (x19 & 0x3ffffffffffffff))
1428 var x24 uint64
1429 var x25 p521Uint1
1430 p521AddcarryxU58(&x24, &x25, x23, x5, (x19 & 0x3ffffffffffffff))
1431 var x26 uint64
1432 var x27 p521Uint1
1433 p521AddcarryxU58(&x26, &x27, x25, x7, (x19 & 0x3ffffffffffffff))
1434 var x28 uint64
1435 var x29 p521Uint1
1436 p521AddcarryxU58(&x28, &x29, x27, x9, (x19 & 0x3ffffffffffffff))
1437 var x30 uint64
1438 var x31 p521Uint1
1439 p521AddcarryxU58(&x30, &x31, x29, x11, (x19 & 0x3ffffffffffffff))
1440 var x32 uint64
1441 var x33 p521Uint1
1442 p521AddcarryxU58(&x32, &x33, x31, x13, (x19 & 0x3ffffffffffffff))
1443 var x34 uint64
1444 var x35 p521Uint1
1445 p521AddcarryxU58(&x34, &x35, x33, x15, (x19 & 0x3ffffffffffffff))
1446 var x36 uint64
1447 var x37 p521Uint1
1448 p521AddcarryxU57(&x36, &x37, x35, x17, (x19 & 0x1ffffffffffffff))
1449 x38 := (x34 << 6)
1450 x39 := (x32 << 4)
1451 x40 := (x30 << 2)
1452 x41 := (x26 << 6)
1453 x42 := (x24 << 4)
1454 x43 := (x22 << 2)
1455 x44 := (uint8(x20) & 0xff)
1456 x45 := (x20 >> 8)
1457 x46 := (uint8(x45) & 0xff)
1458 x47 := (x45 >> 8)
1459 x48 := (uint8(x47) & 0xff)
1460 x49 := (x47 >> 8)
1461 x50 := (uint8(x49) & 0xff)
1462 x51 := (x49 >> 8)
1463 x52 := (uint8(x51) & 0xff)
1464 x53 := (x51 >> 8)
1465 x54 := (uint8(x53) & 0xff)
1466 x55 := (x53 >> 8)
1467 x56 := (uint8(x55) & 0xff)
1468 x57 := uint8((x55 >> 8))
1469 x58 := (x43 + uint64(x57))
1470 x59 := (uint8(x58) & 0xff)
1471 x60 := (x58 >> 8)
1472 x61 := (uint8(x60) & 0xff)
1473 x62 := (x60 >> 8)
1474 x63 := (uint8(x62) & 0xff)
1475 x64 := (x62 >> 8)
1476 x65 := (uint8(x64) & 0xff)
1477 x66 := (x64 >> 8)
1478 x67 := (uint8(x66) & 0xff)
1479 x68 := (x66 >> 8)
1480 x69 := (uint8(x68) & 0xff)
1481 x70 := (x68 >> 8)
1482 x71 := (uint8(x70) & 0xff)
1483 x72 := uint8((x70 >> 8))
1484 x73 := (x42 + uint64(x72))
1485 x74 := (uint8(x73) & 0xff)
1486 x75 := (x73 >> 8)
1487 x76 := (uint8(x75) & 0xff)
1488 x77 := (x75 >> 8)
1489 x78 := (uint8(x77) & 0xff)
1490 x79 := (x77 >> 8)
1491 x80 := (uint8(x79) & 0xff)
1492 x81 := (x79 >> 8)
1493 x82 := (uint8(x81) & 0xff)
1494 x83 := (x81 >> 8)
1495 x84 := (uint8(x83) & 0xff)
1496 x85 := (x83 >> 8)
1497 x86 := (uint8(x85) & 0xff)
1498 x87 := uint8((x85 >> 8))
1499 x88 := (x41 + uint64(x87))
1500 x89 := (uint8(x88) & 0xff)
1501 x90 := (x88 >> 8)
1502 x91 := (uint8(x90) & 0xff)
1503 x92 := (x90 >> 8)
1504 x93 := (uint8(x92) & 0xff)
1505 x94 := (x92 >> 8)
1506 x95 := (uint8(x94) & 0xff)
1507 x96 := (x94 >> 8)
1508 x97 := (uint8(x96) & 0xff)
1509 x98 := (x96 >> 8)
1510 x99 := (uint8(x98) & 0xff)
1511 x100 := (x98 >> 8)
1512 x101 := (uint8(x100) & 0xff)
1513 x102 := uint8((x100 >> 8))
1514 x103 := (uint8(x28) & 0xff)
1515 x104 := (x28 >> 8)
1516 x105 := (uint8(x104) & 0xff)
1517 x106 := (x104 >> 8)
1518 x107 := (uint8(x106) & 0xff)
1519 x108 := (x106 >> 8)
1520 x109 := (uint8(x108) & 0xff)
1521 x110 := (x108 >> 8)
1522 x111 := (uint8(x110) & 0xff)
1523 x112 := (x110 >> 8)
1524 x113 := (uint8(x112) & 0xff)
1525 x114 := (x112 >> 8)
1526 x115 := (uint8(x114) & 0xff)
1527 x116 := uint8((x114 >> 8))
1528 x117 := (x40 + uint64(x116))
1529 x118 := (uint8(x117) & 0xff)
1530 x119 := (x117 >> 8)
1531 x120 := (uint8(x119) & 0xff)
1532 x121 := (x119 >> 8)
1533 x122 := (uint8(x121) & 0xff)
1534 x123 := (x121 >> 8)
1535 x124 := (uint8(x123) & 0xff)
1536 x125 := (x123 >> 8)
1537 x126 := (uint8(x125) & 0xff)
1538 x127 := (x125 >> 8)
1539 x128 := (uint8(x127) & 0xff)
1540 x129 := (x127 >> 8)
1541 x130 := (uint8(x129) & 0xff)
1542 x131 := uint8((x129 >> 8))
1543 x132 := (x39 + uint64(x131))
1544 x133 := (uint8(x132) & 0xff)
1545 x134 := (x132 >> 8)
1546 x135 := (uint8(x134) & 0xff)
1547 x136 := (x134 >> 8)
1548 x137 := (uint8(x136) & 0xff)
1549 x138 := (x136 >> 8)
1550 x139 := (uint8(x138) & 0xff)
1551 x140 := (x138 >> 8)
1552 x141 := (uint8(x140) & 0xff)
1553 x142 := (x140 >> 8)
1554 x143 := (uint8(x142) & 0xff)
1555 x144 := (x142 >> 8)
1556 x145 := (uint8(x144) & 0xff)
1557 x146 := uint8((x144 >> 8))
1558 x147 := (x38 + uint64(x146))
1559 x148 := (uint8(x147) & 0xff)
1560 x149 := (x147 >> 8)
1561 x150 := (uint8(x149) & 0xff)
1562 x151 := (x149 >> 8)
1563 x152 := (uint8(x151) & 0xff)
1564 x153 := (x151 >> 8)
1565 x154 := (uint8(x153) & 0xff)
1566 x155 := (x153 >> 8)
1567 x156 := (uint8(x155) & 0xff)
1568 x157 := (x155 >> 8)
1569 x158 := (uint8(x157) & 0xff)
1570 x159 := (x157 >> 8)
1571 x160 := (uint8(x159) & 0xff)
1572 x161 := uint8((x159 >> 8))
1573 x162 := (uint8(x36) & 0xff)
1574 x163 := (x36 >> 8)
1575 x164 := (uint8(x163) & 0xff)
1576 x165 := (x163 >> 8)
1577 x166 := (uint8(x165) & 0xff)
1578 x167 := (x165 >> 8)
1579 x168 := (uint8(x167) & 0xff)
1580 x169 := (x167 >> 8)
1581 x170 := (uint8(x169) & 0xff)
1582 x171 := (x169 >> 8)
1583 x172 := (uint8(x171) & 0xff)
1584 x173 := (x171 >> 8)
1585 x174 := (uint8(x173) & 0xff)
1586 x175 := p521Uint1((x173 >> 8))
1587 out1[0] = x44
1588 out1[1] = x46
1589 out1[2] = x48
1590 out1[3] = x50
1591 out1[4] = x52
1592 out1[5] = x54
1593 out1[6] = x56
1594 out1[7] = x59
1595 out1[8] = x61
1596 out1[9] = x63
1597 out1[10] = x65
1598 out1[11] = x67
1599 out1[12] = x69
1600 out1[13] = x71
1601 out1[14] = x74
1602 out1[15] = x76
1603 out1[16] = x78
1604 out1[17] = x80
1605 out1[18] = x82
1606 out1[19] = x84
1607 out1[20] = x86
1608 out1[21] = x89
1609 out1[22] = x91
1610 out1[23] = x93
1611 out1[24] = x95
1612 out1[25] = x97
1613 out1[26] = x99
1614 out1[27] = x101
1615 out1[28] = x102
1616 out1[29] = x103
1617 out1[30] = x105
1618 out1[31] = x107
1619 out1[32] = x109
1620 out1[33] = x111
1621 out1[34] = x113
1622 out1[35] = x115
1623 out1[36] = x118
1624 out1[37] = x120
1625 out1[38] = x122
1626 out1[39] = x124
1627 out1[40] = x126
1628 out1[41] = x128
1629 out1[42] = x130
1630 out1[43] = x133
1631 out1[44] = x135
1632 out1[45] = x137
1633 out1[46] = x139
1634 out1[47] = x141
1635 out1[48] = x143
1636 out1[49] = x145
1637 out1[50] = x148
1638 out1[51] = x150
1639 out1[52] = x152
1640 out1[53] = x154
1641 out1[54] = x156
1642 out1[55] = x158
1643 out1[56] = x160
1644 out1[57] = x161
1645 out1[58] = x162
1646 out1[59] = x164
1647 out1[60] = x166
1648 out1[61] = x168
1649 out1[62] = x170
1650 out1[63] = x172
1651 out1[64] = x174
1652 out1[65] = uint8(x175)
1653 }
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664 func p521FromBytes(out1 *[9]uint64, arg1 *[66]uint8) {
1665 x1 := (uint64(p521Uint1(arg1[65])) << 56)
1666 x2 := (uint64(arg1[64]) << 48)
1667 x3 := (uint64(arg1[63]) << 40)
1668 x4 := (uint64(arg1[62]) << 32)
1669 x5 := (uint64(arg1[61]) << 24)
1670 x6 := (uint64(arg1[60]) << 16)
1671 x7 := (uint64(arg1[59]) << 8)
1672 x8 := arg1[58]
1673 x9 := (uint64(arg1[57]) << 50)
1674 x10 := (uint64(arg1[56]) << 42)
1675 x11 := (uint64(arg1[55]) << 34)
1676 x12 := (uint64(arg1[54]) << 26)
1677 x13 := (uint64(arg1[53]) << 18)
1678 x14 := (uint64(arg1[52]) << 10)
1679 x15 := (uint64(arg1[51]) << 2)
1680 x16 := (uint64(arg1[50]) << 52)
1681 x17 := (uint64(arg1[49]) << 44)
1682 x18 := (uint64(arg1[48]) << 36)
1683 x19 := (uint64(arg1[47]) << 28)
1684 x20 := (uint64(arg1[46]) << 20)
1685 x21 := (uint64(arg1[45]) << 12)
1686 x22 := (uint64(arg1[44]) << 4)
1687 x23 := (uint64(arg1[43]) << 54)
1688 x24 := (uint64(arg1[42]) << 46)
1689 x25 := (uint64(arg1[41]) << 38)
1690 x26 := (uint64(arg1[40]) << 30)
1691 x27 := (uint64(arg1[39]) << 22)
1692 x28 := (uint64(arg1[38]) << 14)
1693 x29 := (uint64(arg1[37]) << 6)
1694 x30 := (uint64(arg1[36]) << 56)
1695 x31 := (uint64(arg1[35]) << 48)
1696 x32 := (uint64(arg1[34]) << 40)
1697 x33 := (uint64(arg1[33]) << 32)
1698 x34 := (uint64(arg1[32]) << 24)
1699 x35 := (uint64(arg1[31]) << 16)
1700 x36 := (uint64(arg1[30]) << 8)
1701 x37 := arg1[29]
1702 x38 := (uint64(arg1[28]) << 50)
1703 x39 := (uint64(arg1[27]) << 42)
1704 x40 := (uint64(arg1[26]) << 34)
1705 x41 := (uint64(arg1[25]) << 26)
1706 x42 := (uint64(arg1[24]) << 18)
1707 x43 := (uint64(arg1[23]) << 10)
1708 x44 := (uint64(arg1[22]) << 2)
1709 x45 := (uint64(arg1[21]) << 52)
1710 x46 := (uint64(arg1[20]) << 44)
1711 x47 := (uint64(arg1[19]) << 36)
1712 x48 := (uint64(arg1[18]) << 28)
1713 x49 := (uint64(arg1[17]) << 20)
1714 x50 := (uint64(arg1[16]) << 12)
1715 x51 := (uint64(arg1[15]) << 4)
1716 x52 := (uint64(arg1[14]) << 54)
1717 x53 := (uint64(arg1[13]) << 46)
1718 x54 := (uint64(arg1[12]) << 38)
1719 x55 := (uint64(arg1[11]) << 30)
1720 x56 := (uint64(arg1[10]) << 22)
1721 x57 := (uint64(arg1[9]) << 14)
1722 x58 := (uint64(arg1[8]) << 6)
1723 x59 := (uint64(arg1[7]) << 56)
1724 x60 := (uint64(arg1[6]) << 48)
1725 x61 := (uint64(arg1[5]) << 40)
1726 x62 := (uint64(arg1[4]) << 32)
1727 x63 := (uint64(arg1[3]) << 24)
1728 x64 := (uint64(arg1[2]) << 16)
1729 x65 := (uint64(arg1[1]) << 8)
1730 x66 := arg1[0]
1731 x67 := (x65 + uint64(x66))
1732 x68 := (x64 + x67)
1733 x69 := (x63 + x68)
1734 x70 := (x62 + x69)
1735 x71 := (x61 + x70)
1736 x72 := (x60 + x71)
1737 x73 := (x59 + x72)
1738 x74 := (x73 & 0x3ffffffffffffff)
1739 x75 := uint8((x73 >> 58))
1740 x76 := (x58 + uint64(x75))
1741 x77 := (x57 + x76)
1742 x78 := (x56 + x77)
1743 x79 := (x55 + x78)
1744 x80 := (x54 + x79)
1745 x81 := (x53 + x80)
1746 x82 := (x52 + x81)
1747 x83 := (x82 & 0x3ffffffffffffff)
1748 x84 := uint8((x82 >> 58))
1749 x85 := (x51 + uint64(x84))
1750 x86 := (x50 + x85)
1751 x87 := (x49 + x86)
1752 x88 := (x48 + x87)
1753 x89 := (x47 + x88)
1754 x90 := (x46 + x89)
1755 x91 := (x45 + x90)
1756 x92 := (x91 & 0x3ffffffffffffff)
1757 x93 := uint8((x91 >> 58))
1758 x94 := (x44 + uint64(x93))
1759 x95 := (x43 + x94)
1760 x96 := (x42 + x95)
1761 x97 := (x41 + x96)
1762 x98 := (x40 + x97)
1763 x99 := (x39 + x98)
1764 x100 := (x38 + x99)
1765 x101 := (x36 + uint64(x37))
1766 x102 := (x35 + x101)
1767 x103 := (x34 + x102)
1768 x104 := (x33 + x103)
1769 x105 := (x32 + x104)
1770 x106 := (x31 + x105)
1771 x107 := (x30 + x106)
1772 x108 := (x107 & 0x3ffffffffffffff)
1773 x109 := uint8((x107 >> 58))
1774 x110 := (x29 + uint64(x109))
1775 x111 := (x28 + x110)
1776 x112 := (x27 + x111)
1777 x113 := (x26 + x112)
1778 x114 := (x25 + x113)
1779 x115 := (x24 + x114)
1780 x116 := (x23 + x115)
1781 x117 := (x116 & 0x3ffffffffffffff)
1782 x118 := uint8((x116 >> 58))
1783 x119 := (x22 + uint64(x118))
1784 x120 := (x21 + x119)
1785 x121 := (x20 + x120)
1786 x122 := (x19 + x121)
1787 x123 := (x18 + x122)
1788 x124 := (x17 + x123)
1789 x125 := (x16 + x124)
1790 x126 := (x125 & 0x3ffffffffffffff)
1791 x127 := uint8((x125 >> 58))
1792 x128 := (x15 + uint64(x127))
1793 x129 := (x14 + x128)
1794 x130 := (x13 + x129)
1795 x131 := (x12 + x130)
1796 x132 := (x11 + x131)
1797 x133 := (x10 + x132)
1798 x134 := (x9 + x133)
1799 x135 := (x7 + uint64(x8))
1800 x136 := (x6 + x135)
1801 x137 := (x5 + x136)
1802 x138 := (x4 + x137)
1803 x139 := (x3 + x138)
1804 x140 := (x2 + x139)
1805 x141 := (x1 + x140)
1806 out1[0] = x74
1807 out1[1] = x83
1808 out1[2] = x92
1809 out1[3] = x100
1810 out1[4] = x108
1811 out1[5] = x117
1812 out1[6] = x126
1813 out1[7] = x134
1814 out1[8] = x141
1815 }
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828 func p521Selectznz(out1 *[9]uint64, arg1 p521Uint1, arg2 *[9]uint64, arg3 *[9]uint64) {
1829 var x1 uint64
1830 p521CmovznzU64(&x1, arg1, arg2[0], arg3[0])
1831 var x2 uint64
1832 p521CmovznzU64(&x2, arg1, arg2[1], arg3[1])
1833 var x3 uint64
1834 p521CmovznzU64(&x3, arg1, arg2[2], arg3[2])
1835 var x4 uint64
1836 p521CmovznzU64(&x4, arg1, arg2[3], arg3[3])
1837 var x5 uint64
1838 p521CmovznzU64(&x5, arg1, arg2[4], arg3[4])
1839 var x6 uint64
1840 p521CmovznzU64(&x6, arg1, arg2[5], arg3[5])
1841 var x7 uint64
1842 p521CmovznzU64(&x7, arg1, arg2[6], arg3[6])
1843 var x8 uint64
1844 p521CmovznzU64(&x8, arg1, arg2[7], arg3[7])
1845 var x9 uint64
1846 p521CmovznzU64(&x9, arg1, arg2[8], arg3[8])
1847 out1[0] = x1
1848 out1[1] = x2
1849 out1[2] = x3
1850 out1[3] = x4
1851 out1[4] = x5
1852 out1[5] = x6
1853 out1[6] = x7
1854 out1[7] = x8
1855 out1[8] = x9
1856 }
1857
View as plain text