authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2021-06-12 23:35:30+03:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2021-06-15 12:14:04+02:00
logd892d3bbe782c7e5c5a5907c0afd37c3a3efa97f
tree7fc2dadb81b28a9a52de4e12b20e249f40e07efd
parentc54af9774d4d395a6dabbe8580a93a04c355c0bc

replace usage of meta.cast with builtins

You weren't supposed to use these >:(

2 files changed, 302 insertions(+), 304 deletions(-)

lib/std/crypto/pcurves/p256/p256_64.zig+158-159
...@@ -18,7 +18,6 @@...@@ -18,7 +18,6 @@
18// if x1 & (2^256-1) < 2^255 then x1 & (2^256-1) else (x1 & (2^256-1)) - 2^25618// if x1 & (2^256-1) < 2^255 then x1 & (2^256-1) else (x1 & (2^256-1)) - 2^256
1919
20const std = @import("std");20const std = @import("std");
21const cast = std.meta.cast;
22const mode = std.builtin.mode; // Checked arithmetic is disabled in non-debug modes to avoid side channels21const mode = std.builtin.mode; // Checked arithmetic is disabled in non-debug modes to avoid side channels
2322
24// The type MontgomeryDomainFieldElement is a field element in the Montgomery domain.23// The type MontgomeryDomainFieldElement is a field element in the Montgomery domain.
...@@ -148,7 +147,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -148,7 +147,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
148 var x17: u64 = undefined;147 var x17: u64 = undefined;
149 var x18: u1 = undefined;148 var x18: u1 = undefined;
150 addcarryxU64(&x17, &x18, x16, x8, x5);149 addcarryxU64(&x17, &x18, x16, x8, x5);
151 const x19 = (cast(u64, x18) + x6);150 const x19 = (@as(u64, x18) + x6);
152 var x20: u64 = undefined;151 var x20: u64 = undefined;
153 var x21: u64 = undefined;152 var x21: u64 = undefined;
154 mulxU64(&x20, &x21, x11, 0xffffffff00000001);153 mulxU64(&x20, &x21, x11, 0xffffffff00000001);
...@@ -161,7 +160,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -161,7 +160,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
161 var x26: u64 = undefined;160 var x26: u64 = undefined;
162 var x27: u1 = undefined;161 var x27: u1 = undefined;
163 addcarryxU64(&x26, &x27, 0x0, x25, x22);162 addcarryxU64(&x26, &x27, 0x0, x25, x22);
164 const x28 = (cast(u64, x27) + x23);163 const x28 = (@as(u64, x27) + x23);
165 var x29: u64 = undefined;164 var x29: u64 = undefined;
166 var x30: u1 = undefined;165 var x30: u1 = undefined;
167 addcarryxU64(&x29, &x30, 0x0, x11, x24);166 addcarryxU64(&x29, &x30, 0x0, x11, x24);
...@@ -198,7 +197,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -198,7 +197,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
198 var x51: u64 = undefined;197 var x51: u64 = undefined;
199 var x52: u1 = undefined;198 var x52: u1 = undefined;
200 addcarryxU64(&x51, &x52, x50, x42, x39);199 addcarryxU64(&x51, &x52, x50, x42, x39);
201 const x53 = (cast(u64, x52) + x40);200 const x53 = (@as(u64, x52) + x40);
202 var x54: u64 = undefined;201 var x54: u64 = undefined;
203 var x55: u1 = undefined;202 var x55: u1 = undefined;
204 addcarryxU64(&x54, &x55, 0x0, x31, x45);203 addcarryxU64(&x54, &x55, 0x0, x31, x45);
...@@ -213,7 +212,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -213,7 +212,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
213 addcarryxU64(&x60, &x61, x59, x37, x51);212 addcarryxU64(&x60, &x61, x59, x37, x51);
214 var x62: u64 = undefined;213 var x62: u64 = undefined;
215 var x63: u1 = undefined;214 var x63: u1 = undefined;
216 addcarryxU64(&x62, &x63, x61, cast(u64, x38), x53);215 addcarryxU64(&x62, &x63, x61, @as(u64, x38), x53);
217 var x64: u64 = undefined;216 var x64: u64 = undefined;
218 var x65: u64 = undefined;217 var x65: u64 = undefined;
219 mulxU64(&x64, &x65, x54, 0xffffffff00000001);218 mulxU64(&x64, &x65, x54, 0xffffffff00000001);
...@@ -226,7 +225,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -226,7 +225,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
226 var x70: u64 = undefined;225 var x70: u64 = undefined;
227 var x71: u1 = undefined;226 var x71: u1 = undefined;
228 addcarryxU64(&x70, &x71, 0x0, x69, x66);227 addcarryxU64(&x70, &x71, 0x0, x69, x66);
229 const x72 = (cast(u64, x71) + x67);228 const x72 = (@as(u64, x71) + x67);
230 var x73: u64 = undefined;229 var x73: u64 = undefined;
231 var x74: u1 = undefined;230 var x74: u1 = undefined;
232 addcarryxU64(&x73, &x74, 0x0, x54, x68);231 addcarryxU64(&x73, &x74, 0x0, x54, x68);
...@@ -242,7 +241,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -242,7 +241,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
242 var x81: u64 = undefined;241 var x81: u64 = undefined;
243 var x82: u1 = undefined;242 var x82: u1 = undefined;
244 addcarryxU64(&x81, &x82, x80, x62, x65);243 addcarryxU64(&x81, &x82, x80, x62, x65);
245 const x83 = (cast(u64, x82) + cast(u64, x63));244 const x83 = (@as(u64, x82) + @as(u64, x63));
246 var x84: u64 = undefined;245 var x84: u64 = undefined;
247 var x85: u64 = undefined;246 var x85: u64 = undefined;
248 mulxU64(&x84, &x85, x2, (arg2[3]));247 mulxU64(&x84, &x85, x2, (arg2[3]));
...@@ -264,7 +263,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -264,7 +263,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
264 var x96: u64 = undefined;263 var x96: u64 = undefined;
265 var x97: u1 = undefined;264 var x97: u1 = undefined;
266 addcarryxU64(&x96, &x97, x95, x87, x84);265 addcarryxU64(&x96, &x97, x95, x87, x84);
267 const x98 = (cast(u64, x97) + x85);266 const x98 = (@as(u64, x97) + x85);
268 var x99: u64 = undefined;267 var x99: u64 = undefined;
269 var x100: u1 = undefined;268 var x100: u1 = undefined;
270 addcarryxU64(&x99, &x100, 0x0, x75, x90);269 addcarryxU64(&x99, &x100, 0x0, x75, x90);
...@@ -292,7 +291,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -292,7 +291,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
292 var x115: u64 = undefined;291 var x115: u64 = undefined;
293 var x116: u1 = undefined;292 var x116: u1 = undefined;
294 addcarryxU64(&x115, &x116, 0x0, x114, x111);293 addcarryxU64(&x115, &x116, 0x0, x114, x111);
295 const x117 = (cast(u64, x116) + x112);294 const x117 = (@as(u64, x116) + x112);
296 var x118: u64 = undefined;295 var x118: u64 = undefined;
297 var x119: u1 = undefined;296 var x119: u1 = undefined;
298 addcarryxU64(&x118, &x119, 0x0, x99, x113);297 addcarryxU64(&x118, &x119, 0x0, x99, x113);
...@@ -308,7 +307,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -308,7 +307,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
308 var x126: u64 = undefined;307 var x126: u64 = undefined;
309 var x127: u1 = undefined;308 var x127: u1 = undefined;
310 addcarryxU64(&x126, &x127, x125, x107, x110);309 addcarryxU64(&x126, &x127, x125, x107, x110);
311 const x128 = (cast(u64, x127) + cast(u64, x108));310 const x128 = (@as(u64, x127) + @as(u64, x108));
312 var x129: u64 = undefined;311 var x129: u64 = undefined;
313 var x130: u64 = undefined;312 var x130: u64 = undefined;
314 mulxU64(&x129, &x130, x3, (arg2[3]));313 mulxU64(&x129, &x130, x3, (arg2[3]));
...@@ -330,7 +329,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -330,7 +329,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
330 var x141: u64 = undefined;329 var x141: u64 = undefined;
331 var x142: u1 = undefined;330 var x142: u1 = undefined;
332 addcarryxU64(&x141, &x142, x140, x132, x129);331 addcarryxU64(&x141, &x142, x140, x132, x129);
333 const x143 = (cast(u64, x142) + x130);332 const x143 = (@as(u64, x142) + x130);
334 var x144: u64 = undefined;333 var x144: u64 = undefined;
335 var x145: u1 = undefined;334 var x145: u1 = undefined;
336 addcarryxU64(&x144, &x145, 0x0, x120, x135);335 addcarryxU64(&x144, &x145, 0x0, x120, x135);
...@@ -358,7 +357,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -358,7 +357,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
358 var x160: u64 = undefined;357 var x160: u64 = undefined;
359 var x161: u1 = undefined;358 var x161: u1 = undefined;
360 addcarryxU64(&x160, &x161, 0x0, x159, x156);359 addcarryxU64(&x160, &x161, 0x0, x159, x156);
361 const x162 = (cast(u64, x161) + x157);360 const x162 = (@as(u64, x161) + x157);
362 var x163: u64 = undefined;361 var x163: u64 = undefined;
363 var x164: u1 = undefined;362 var x164: u1 = undefined;
364 addcarryxU64(&x163, &x164, 0x0, x144, x158);363 addcarryxU64(&x163, &x164, 0x0, x144, x158);
...@@ -374,7 +373,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -374,7 +373,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
374 var x171: u64 = undefined;373 var x171: u64 = undefined;
375 var x172: u1 = undefined;374 var x172: u1 = undefined;
376 addcarryxU64(&x171, &x172, x170, x152, x155);375 addcarryxU64(&x171, &x172, x170, x152, x155);
377 const x173 = (cast(u64, x172) + cast(u64, x153));376 const x173 = (@as(u64, x172) + @as(u64, x153));
378 var x174: u64 = undefined;377 var x174: u64 = undefined;
379 var x175: u1 = undefined;378 var x175: u1 = undefined;
380 subborrowxU64(&x174, &x175, 0x0, x165, 0xffffffffffffffff);379 subborrowxU64(&x174, &x175, 0x0, x165, 0xffffffffffffffff);
...@@ -383,13 +382,13 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -383,13 +382,13 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
383 subborrowxU64(&x176, &x177, x175, x167, 0xffffffff);382 subborrowxU64(&x176, &x177, x175, x167, 0xffffffff);
384 var x178: u64 = undefined;383 var x178: u64 = undefined;
385 var x179: u1 = undefined;384 var x179: u1 = undefined;
386 subborrowxU64(&x178, &x179, x177, x169, cast(u64, 0x0));385 subborrowxU64(&x178, &x179, x177, x169, @as(u64, 0x0));
387 var x180: u64 = undefined;386 var x180: u64 = undefined;
388 var x181: u1 = undefined;387 var x181: u1 = undefined;
389 subborrowxU64(&x180, &x181, x179, x171, 0xffffffff00000001);388 subborrowxU64(&x180, &x181, x179, x171, 0xffffffff00000001);
390 var x182: u64 = undefined;389 var x182: u64 = undefined;
391 var x183: u1 = undefined;390 var x183: u1 = undefined;
392 subborrowxU64(&x182, &x183, x181, x173, cast(u64, 0x0));391 subborrowxU64(&x182, &x183, x181, x173, @as(u64, 0x0));
393 var x184: u64 = undefined;392 var x184: u64 = undefined;
394 cmovznzU64(&x184, x183, x174, x165);393 cmovznzU64(&x184, x183, x174, x165);
395 var x185: u64 = undefined;394 var x185: u64 = undefined;
...@@ -440,7 +439,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -440,7 +439,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
440 var x17: u64 = undefined;439 var x17: u64 = undefined;
441 var x18: u1 = undefined;440 var x18: u1 = undefined;
442 addcarryxU64(&x17, &x18, x16, x8, x5);441 addcarryxU64(&x17, &x18, x16, x8, x5);
443 const x19 = (cast(u64, x18) + x6);442 const x19 = (@as(u64, x18) + x6);
444 var x20: u64 = undefined;443 var x20: u64 = undefined;
445 var x21: u64 = undefined;444 var x21: u64 = undefined;
446 mulxU64(&x20, &x21, x11, 0xffffffff00000001);445 mulxU64(&x20, &x21, x11, 0xffffffff00000001);
...@@ -453,7 +452,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -453,7 +452,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
453 var x26: u64 = undefined;452 var x26: u64 = undefined;
454 var x27: u1 = undefined;453 var x27: u1 = undefined;
455 addcarryxU64(&x26, &x27, 0x0, x25, x22);454 addcarryxU64(&x26, &x27, 0x0, x25, x22);
456 const x28 = (cast(u64, x27) + x23);455 const x28 = (@as(u64, x27) + x23);
457 var x29: u64 = undefined;456 var x29: u64 = undefined;
458 var x30: u1 = undefined;457 var x30: u1 = undefined;
459 addcarryxU64(&x29, &x30, 0x0, x11, x24);458 addcarryxU64(&x29, &x30, 0x0, x11, x24);
...@@ -490,7 +489,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -490,7 +489,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
490 var x51: u64 = undefined;489 var x51: u64 = undefined;
491 var x52: u1 = undefined;490 var x52: u1 = undefined;
492 addcarryxU64(&x51, &x52, x50, x42, x39);491 addcarryxU64(&x51, &x52, x50, x42, x39);
493 const x53 = (cast(u64, x52) + x40);492 const x53 = (@as(u64, x52) + x40);
494 var x54: u64 = undefined;493 var x54: u64 = undefined;
495 var x55: u1 = undefined;494 var x55: u1 = undefined;
496 addcarryxU64(&x54, &x55, 0x0, x31, x45);495 addcarryxU64(&x54, &x55, 0x0, x31, x45);
...@@ -505,7 +504,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -505,7 +504,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
505 addcarryxU64(&x60, &x61, x59, x37, x51);504 addcarryxU64(&x60, &x61, x59, x37, x51);
506 var x62: u64 = undefined;505 var x62: u64 = undefined;
507 var x63: u1 = undefined;506 var x63: u1 = undefined;
508 addcarryxU64(&x62, &x63, x61, cast(u64, x38), x53);507 addcarryxU64(&x62, &x63, x61, @as(u64, x38), x53);
509 var x64: u64 = undefined;508 var x64: u64 = undefined;
510 var x65: u64 = undefined;509 var x65: u64 = undefined;
511 mulxU64(&x64, &x65, x54, 0xffffffff00000001);510 mulxU64(&x64, &x65, x54, 0xffffffff00000001);
...@@ -518,7 +517,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -518,7 +517,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
518 var x70: u64 = undefined;517 var x70: u64 = undefined;
519 var x71: u1 = undefined;518 var x71: u1 = undefined;
520 addcarryxU64(&x70, &x71, 0x0, x69, x66);519 addcarryxU64(&x70, &x71, 0x0, x69, x66);
521 const x72 = (cast(u64, x71) + x67);520 const x72 = (@as(u64, x71) + x67);
522 var x73: u64 = undefined;521 var x73: u64 = undefined;
523 var x74: u1 = undefined;522 var x74: u1 = undefined;
524 addcarryxU64(&x73, &x74, 0x0, x54, x68);523 addcarryxU64(&x73, &x74, 0x0, x54, x68);
...@@ -534,7 +533,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -534,7 +533,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
534 var x81: u64 = undefined;533 var x81: u64 = undefined;
535 var x82: u1 = undefined;534 var x82: u1 = undefined;
536 addcarryxU64(&x81, &x82, x80, x62, x65);535 addcarryxU64(&x81, &x82, x80, x62, x65);
537 const x83 = (cast(u64, x82) + cast(u64, x63));536 const x83 = (@as(u64, x82) + @as(u64, x63));
538 var x84: u64 = undefined;537 var x84: u64 = undefined;
539 var x85: u64 = undefined;538 var x85: u64 = undefined;
540 mulxU64(&x84, &x85, x2, (arg1[3]));539 mulxU64(&x84, &x85, x2, (arg1[3]));
...@@ -556,7 +555,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -556,7 +555,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
556 var x96: u64 = undefined;555 var x96: u64 = undefined;
557 var x97: u1 = undefined;556 var x97: u1 = undefined;
558 addcarryxU64(&x96, &x97, x95, x87, x84);557 addcarryxU64(&x96, &x97, x95, x87, x84);
559 const x98 = (cast(u64, x97) + x85);558 const x98 = (@as(u64, x97) + x85);
560 var x99: u64 = undefined;559 var x99: u64 = undefined;
561 var x100: u1 = undefined;560 var x100: u1 = undefined;
562 addcarryxU64(&x99, &x100, 0x0, x75, x90);561 addcarryxU64(&x99, &x100, 0x0, x75, x90);
...@@ -584,7 +583,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -584,7 +583,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
584 var x115: u64 = undefined;583 var x115: u64 = undefined;
585 var x116: u1 = undefined;584 var x116: u1 = undefined;
586 addcarryxU64(&x115, &x116, 0x0, x114, x111);585 addcarryxU64(&x115, &x116, 0x0, x114, x111);
587 const x117 = (cast(u64, x116) + x112);586 const x117 = (@as(u64, x116) + x112);
588 var x118: u64 = undefined;587 var x118: u64 = undefined;
589 var x119: u1 = undefined;588 var x119: u1 = undefined;
590 addcarryxU64(&x118, &x119, 0x0, x99, x113);589 addcarryxU64(&x118, &x119, 0x0, x99, x113);
...@@ -600,7 +599,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -600,7 +599,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
600 var x126: u64 = undefined;599 var x126: u64 = undefined;
601 var x127: u1 = undefined;600 var x127: u1 = undefined;
602 addcarryxU64(&x126, &x127, x125, x107, x110);601 addcarryxU64(&x126, &x127, x125, x107, x110);
603 const x128 = (cast(u64, x127) + cast(u64, x108));602 const x128 = (@as(u64, x127) + @as(u64, x108));
604 var x129: u64 = undefined;603 var x129: u64 = undefined;
605 var x130: u64 = undefined;604 var x130: u64 = undefined;
606 mulxU64(&x129, &x130, x3, (arg1[3]));605 mulxU64(&x129, &x130, x3, (arg1[3]));
...@@ -622,7 +621,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -622,7 +621,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
622 var x141: u64 = undefined;621 var x141: u64 = undefined;
623 var x142: u1 = undefined;622 var x142: u1 = undefined;
624 addcarryxU64(&x141, &x142, x140, x132, x129);623 addcarryxU64(&x141, &x142, x140, x132, x129);
625 const x143 = (cast(u64, x142) + x130);624 const x143 = (@as(u64, x142) + x130);
626 var x144: u64 = undefined;625 var x144: u64 = undefined;
627 var x145: u1 = undefined;626 var x145: u1 = undefined;
628 addcarryxU64(&x144, &x145, 0x0, x120, x135);627 addcarryxU64(&x144, &x145, 0x0, x120, x135);
...@@ -650,7 +649,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -650,7 +649,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
650 var x160: u64 = undefined;649 var x160: u64 = undefined;
651 var x161: u1 = undefined;650 var x161: u1 = undefined;
652 addcarryxU64(&x160, &x161, 0x0, x159, x156);651 addcarryxU64(&x160, &x161, 0x0, x159, x156);
653 const x162 = (cast(u64, x161) + x157);652 const x162 = (@as(u64, x161) + x157);
654 var x163: u64 = undefined;653 var x163: u64 = undefined;
655 var x164: u1 = undefined;654 var x164: u1 = undefined;
656 addcarryxU64(&x163, &x164, 0x0, x144, x158);655 addcarryxU64(&x163, &x164, 0x0, x144, x158);
...@@ -666,7 +665,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -666,7 +665,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
666 var x171: u64 = undefined;665 var x171: u64 = undefined;
667 var x172: u1 = undefined;666 var x172: u1 = undefined;
668 addcarryxU64(&x171, &x172, x170, x152, x155);667 addcarryxU64(&x171, &x172, x170, x152, x155);
669 const x173 = (cast(u64, x172) + cast(u64, x153));668 const x173 = (@as(u64, x172) + @as(u64, x153));
670 var x174: u64 = undefined;669 var x174: u64 = undefined;
671 var x175: u1 = undefined;670 var x175: u1 = undefined;
672 subborrowxU64(&x174, &x175, 0x0, x165, 0xffffffffffffffff);671 subborrowxU64(&x174, &x175, 0x0, x165, 0xffffffffffffffff);
...@@ -675,13 +674,13 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -675,13 +674,13 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
675 subborrowxU64(&x176, &x177, x175, x167, 0xffffffff);674 subborrowxU64(&x176, &x177, x175, x167, 0xffffffff);
676 var x178: u64 = undefined;675 var x178: u64 = undefined;
677 var x179: u1 = undefined;676 var x179: u1 = undefined;
678 subborrowxU64(&x178, &x179, x177, x169, cast(u64, 0x0));677 subborrowxU64(&x178, &x179, x177, x169, @as(u64, 0x0));
679 var x180: u64 = undefined;678 var x180: u64 = undefined;
680 var x181: u1 = undefined;679 var x181: u1 = undefined;
681 subborrowxU64(&x180, &x181, x179, x171, 0xffffffff00000001);680 subborrowxU64(&x180, &x181, x179, x171, 0xffffffff00000001);
682 var x182: u64 = undefined;681 var x182: u64 = undefined;
683 var x183: u1 = undefined;682 var x183: u1 = undefined;
684 subborrowxU64(&x182, &x183, x181, x173, cast(u64, 0x0));683 subborrowxU64(&x182, &x183, x181, x173, @as(u64, 0x0));
685 var x184: u64 = undefined;684 var x184: u64 = undefined;
686 cmovznzU64(&x184, x183, x174, x165);685 cmovznzU64(&x184, x183, x174, x165);
687 var x185: u64 = undefined;686 var x185: u64 = undefined;
...@@ -728,13 +727,13 @@ pub fn add(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -728,13 +727,13 @@ pub fn add(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
728 subborrowxU64(&x11, &x12, x10, x3, 0xffffffff);727 subborrowxU64(&x11, &x12, x10, x3, 0xffffffff);
729 var x13: u64 = undefined;728 var x13: u64 = undefined;
730 var x14: u1 = undefined;729 var x14: u1 = undefined;
731 subborrowxU64(&x13, &x14, x12, x5, cast(u64, 0x0));730 subborrowxU64(&x13, &x14, x12, x5, @as(u64, 0x0));
732 var x15: u64 = undefined;731 var x15: u64 = undefined;
733 var x16: u1 = undefined;732 var x16: u1 = undefined;
734 subborrowxU64(&x15, &x16, x14, x7, 0xffffffff00000001);733 subborrowxU64(&x15, &x16, x14, x7, 0xffffffff00000001);
735 var x17: u64 = undefined;734 var x17: u64 = undefined;
736 var x18: u1 = undefined;735 var x18: u1 = undefined;
737 subborrowxU64(&x17, &x18, x16, cast(u64, x8), cast(u64, 0x0));736 subborrowxU64(&x17, &x18, x16, @as(u64, x8), @as(u64, 0x0));
738 var x19: u64 = undefined;737 var x19: u64 = undefined;
739 cmovznzU64(&x19, x18, x9, x1);738 cmovznzU64(&x19, x18, x9, x1);
740 var x20: u64 = undefined;739 var x20: u64 = undefined;
...@@ -774,7 +773,7 @@ pub fn sub(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -774,7 +773,7 @@ pub fn sub(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
774 var x8: u1 = undefined;773 var x8: u1 = undefined;
775 subborrowxU64(&x7, &x8, x6, (arg1[3]), (arg2[3]));774 subborrowxU64(&x7, &x8, x6, (arg1[3]), (arg2[3]));
776 var x9: u64 = undefined;775 var x9: u64 = undefined;
777 cmovznzU64(&x9, x8, cast(u64, 0x0), 0xffffffffffffffff);776 cmovznzU64(&x9, x8, @as(u64, 0x0), 0xffffffffffffffff);
778 var x10: u64 = undefined;777 var x10: u64 = undefined;
779 var x11: u1 = undefined;778 var x11: u1 = undefined;
780 addcarryxU64(&x10, &x11, 0x0, x1, x9);779 addcarryxU64(&x10, &x11, 0x0, x1, x9);
...@@ -783,7 +782,7 @@ pub fn sub(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -783,7 +782,7 @@ pub fn sub(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
783 addcarryxU64(&x12, &x13, x11, x3, (x9 & 0xffffffff));782 addcarryxU64(&x12, &x13, x11, x3, (x9 & 0xffffffff));
784 var x14: u64 = undefined;783 var x14: u64 = undefined;
785 var x15: u1 = undefined;784 var x15: u1 = undefined;
786 addcarryxU64(&x14, &x15, x13, x5, cast(u64, 0x0));785 addcarryxU64(&x14, &x15, x13, x5, @as(u64, 0x0));
787 var x16: u64 = undefined;786 var x16: u64 = undefined;
788 var x17: u1 = undefined;787 var x17: u1 = undefined;
789 addcarryxU64(&x16, &x17, x15, x7, (x9 & 0xffffffff00000001));788 addcarryxU64(&x16, &x17, x15, x7, (x9 & 0xffffffff00000001));
...@@ -806,18 +805,18 @@ pub fn opp(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -806,18 +805,18 @@ pub fn opp(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
806805
807 var x1: u64 = undefined;806 var x1: u64 = undefined;
808 var x2: u1 = undefined;807 var x2: u1 = undefined;
809 subborrowxU64(&x1, &x2, 0x0, cast(u64, 0x0), (arg1[0]));808 subborrowxU64(&x1, &x2, 0x0, @as(u64, 0x0), (arg1[0]));
810 var x3: u64 = undefined;809 var x3: u64 = undefined;
811 var x4: u1 = undefined;810 var x4: u1 = undefined;
812 subborrowxU64(&x3, &x4, x2, cast(u64, 0x0), (arg1[1]));811 subborrowxU64(&x3, &x4, x2, @as(u64, 0x0), (arg1[1]));
813 var x5: u64 = undefined;812 var x5: u64 = undefined;
814 var x6: u1 = undefined;813 var x6: u1 = undefined;
815 subborrowxU64(&x5, &x6, x4, cast(u64, 0x0), (arg1[2]));814 subborrowxU64(&x5, &x6, x4, @as(u64, 0x0), (arg1[2]));
816 var x7: u64 = undefined;815 var x7: u64 = undefined;
817 var x8: u1 = undefined;816 var x8: u1 = undefined;
818 subborrowxU64(&x7, &x8, x6, cast(u64, 0x0), (arg1[3]));817 subborrowxU64(&x7, &x8, x6, @as(u64, 0x0), (arg1[3]));
819 var x9: u64 = undefined;818 var x9: u64 = undefined;
820 cmovznzU64(&x9, x8, cast(u64, 0x0), 0xffffffffffffffff);819 cmovznzU64(&x9, x8, @as(u64, 0x0), 0xffffffffffffffff);
821 var x10: u64 = undefined;820 var x10: u64 = undefined;
822 var x11: u1 = undefined;821 var x11: u1 = undefined;
823 addcarryxU64(&x10, &x11, 0x0, x1, x9);822 addcarryxU64(&x10, &x11, 0x0, x1, x9);
...@@ -826,7 +825,7 @@ pub fn opp(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -826,7 +825,7 @@ pub fn opp(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
826 addcarryxU64(&x12, &x13, x11, x3, (x9 & 0xffffffff));825 addcarryxU64(&x12, &x13, x11, x3, (x9 & 0xffffffff));
827 var x14: u64 = undefined;826 var x14: u64 = undefined;
828 var x15: u1 = undefined;827 var x15: u1 = undefined;
829 addcarryxU64(&x14, &x15, x13, x5, cast(u64, 0x0));828 addcarryxU64(&x14, &x15, x13, x5, @as(u64, 0x0));
830 var x16: u64 = undefined;829 var x16: u64 = undefined;
831 var x17: u1 = undefined;830 var x17: u1 = undefined;
832 addcarryxU64(&x16, &x17, x15, x7, (x9 & 0xffffffff00000001));831 addcarryxU64(&x16, &x17, x15, x7, (x9 & 0xffffffff00000001));
...@@ -865,7 +864,7 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo...@@ -865,7 +864,7 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo
865 addcarryxU64(&x10, &x11, 0x0, x1, x6);864 addcarryxU64(&x10, &x11, 0x0, x1, x6);
866 var x12: u64 = undefined;865 var x12: u64 = undefined;
867 var x13: u1 = undefined;866 var x13: u1 = undefined;
868 addcarryxU64(&x12, &x13, x11, cast(u64, 0x0), x8);867 addcarryxU64(&x12, &x13, x11, @as(u64, 0x0), x8);
869 var x14: u64 = undefined;868 var x14: u64 = undefined;
870 var x15: u1 = undefined;869 var x15: u1 = undefined;
871 addcarryxU64(&x14, &x15, 0x0, x12, (arg1[1]));870 addcarryxU64(&x14, &x15, 0x0, x12, (arg1[1]));
...@@ -886,10 +885,10 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo...@@ -886,10 +885,10 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo
886 addcarryxU64(&x24, &x25, 0x0, x14, x20);885 addcarryxU64(&x24, &x25, 0x0, x14, x20);
887 var x26: u64 = undefined;886 var x26: u64 = undefined;
888 var x27: u1 = undefined;887 var x27: u1 = undefined;
889 addcarryxU64(&x26, &x27, x25, (cast(u64, x15) + (cast(u64, x13) + (cast(u64, x9) + x5))), x22);888 addcarryxU64(&x26, &x27, x25, (@as(u64, x15) + (@as(u64, x13) + (@as(u64, x9) + x5))), x22);
890 var x28: u64 = undefined;889 var x28: u64 = undefined;
891 var x29: u1 = undefined;890 var x29: u1 = undefined;
892 addcarryxU64(&x28, &x29, x27, x2, (cast(u64, x23) + x19));891 addcarryxU64(&x28, &x29, x27, x2, (@as(u64, x23) + x19));
893 var x30: u64 = undefined;892 var x30: u64 = undefined;
894 var x31: u1 = undefined;893 var x31: u1 = undefined;
895 addcarryxU64(&x30, &x31, x29, x3, x16);894 addcarryxU64(&x30, &x31, x29, x3, x16);
...@@ -898,10 +897,10 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo...@@ -898,10 +897,10 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo
898 addcarryxU64(&x32, &x33, 0x0, x26, (arg1[2]));897 addcarryxU64(&x32, &x33, 0x0, x26, (arg1[2]));
899 var x34: u64 = undefined;898 var x34: u64 = undefined;
900 var x35: u1 = undefined;899 var x35: u1 = undefined;
901 addcarryxU64(&x34, &x35, x33, x28, cast(u64, 0x0));900 addcarryxU64(&x34, &x35, x33, x28, @as(u64, 0x0));
902 var x36: u64 = undefined;901 var x36: u64 = undefined;
903 var x37: u1 = undefined;902 var x37: u1 = undefined;
904 addcarryxU64(&x36, &x37, x35, x30, cast(u64, 0x0));903 addcarryxU64(&x36, &x37, x35, x30, @as(u64, 0x0));
905 var x38: u64 = undefined;904 var x38: u64 = undefined;
906 var x39: u64 = undefined;905 var x39: u64 = undefined;
907 mulxU64(&x38, &x39, x32, 0xffffffff00000001);906 mulxU64(&x38, &x39, x32, 0xffffffff00000001);
...@@ -922,19 +921,19 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo...@@ -922,19 +921,19 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo
922 addcarryxU64(&x48, &x49, x47, x34, x44);921 addcarryxU64(&x48, &x49, x47, x34, x44);
923 var x50: u64 = undefined;922 var x50: u64 = undefined;
924 var x51: u1 = undefined;923 var x51: u1 = undefined;
925 addcarryxU64(&x50, &x51, x49, x36, (cast(u64, x45) + x41));924 addcarryxU64(&x50, &x51, x49, x36, (@as(u64, x45) + x41));
926 var x52: u64 = undefined;925 var x52: u64 = undefined;
927 var x53: u1 = undefined;926 var x53: u1 = undefined;
928 addcarryxU64(&x52, &x53, x51, (cast(u64, x37) + (cast(u64, x31) + x17)), x38);927 addcarryxU64(&x52, &x53, x51, (@as(u64, x37) + (@as(u64, x31) + x17)), x38);
929 var x54: u64 = undefined;928 var x54: u64 = undefined;
930 var x55: u1 = undefined;929 var x55: u1 = undefined;
931 addcarryxU64(&x54, &x55, 0x0, x48, (arg1[3]));930 addcarryxU64(&x54, &x55, 0x0, x48, (arg1[3]));
932 var x56: u64 = undefined;931 var x56: u64 = undefined;
933 var x57: u1 = undefined;932 var x57: u1 = undefined;
934 addcarryxU64(&x56, &x57, x55, x50, cast(u64, 0x0));933 addcarryxU64(&x56, &x57, x55, x50, @as(u64, 0x0));
935 var x58: u64 = undefined;934 var x58: u64 = undefined;
936 var x59: u1 = undefined;935 var x59: u1 = undefined;
937 addcarryxU64(&x58, &x59, x57, x52, cast(u64, 0x0));936 addcarryxU64(&x58, &x59, x57, x52, @as(u64, 0x0));
938 var x60: u64 = undefined;937 var x60: u64 = undefined;
939 var x61: u64 = undefined;938 var x61: u64 = undefined;
940 mulxU64(&x60, &x61, x54, 0xffffffff00000001);939 mulxU64(&x60, &x61, x54, 0xffffffff00000001);
...@@ -955,11 +954,11 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo...@@ -955,11 +954,11 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo
955 addcarryxU64(&x70, &x71, x69, x56, x66);954 addcarryxU64(&x70, &x71, x69, x56, x66);
956 var x72: u64 = undefined;955 var x72: u64 = undefined;
957 var x73: u1 = undefined;956 var x73: u1 = undefined;
958 addcarryxU64(&x72, &x73, x71, x58, (cast(u64, x67) + x63));957 addcarryxU64(&x72, &x73, x71, x58, (@as(u64, x67) + x63));
959 var x74: u64 = undefined;958 var x74: u64 = undefined;
960 var x75: u1 = undefined;959 var x75: u1 = undefined;
961 addcarryxU64(&x74, &x75, x73, (cast(u64, x59) + (cast(u64, x53) + x39)), x60);960 addcarryxU64(&x74, &x75, x73, (@as(u64, x59) + (@as(u64, x53) + x39)), x60);
962 const x76 = (cast(u64, x75) + x61);961 const x76 = (@as(u64, x75) + x61);
963 var x77: u64 = undefined;962 var x77: u64 = undefined;
964 var x78: u1 = undefined;963 var x78: u1 = undefined;
965 subborrowxU64(&x77, &x78, 0x0, x70, 0xffffffffffffffff);964 subborrowxU64(&x77, &x78, 0x0, x70, 0xffffffffffffffff);
...@@ -968,13 +967,13 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo...@@ -968,13 +967,13 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo
968 subborrowxU64(&x79, &x80, x78, x72, 0xffffffff);967 subborrowxU64(&x79, &x80, x78, x72, 0xffffffff);
969 var x81: u64 = undefined;968 var x81: u64 = undefined;
970 var x82: u1 = undefined;969 var x82: u1 = undefined;
971 subborrowxU64(&x81, &x82, x80, x74, cast(u64, 0x0));970 subborrowxU64(&x81, &x82, x80, x74, @as(u64, 0x0));
972 var x83: u64 = undefined;971 var x83: u64 = undefined;
973 var x84: u1 = undefined;972 var x84: u1 = undefined;
974 subborrowxU64(&x83, &x84, x82, x76, 0xffffffff00000001);973 subborrowxU64(&x83, &x84, x82, x76, 0xffffffff00000001);
975 var x85: u64 = undefined;974 var x85: u64 = undefined;
976 var x86: u1 = undefined;975 var x86: u1 = undefined;
977 subborrowxU64(&x85, &x86, x84, cast(u64, 0x0), cast(u64, 0x0));976 subborrowxU64(&x85, &x86, x84, @as(u64, 0x0), @as(u64, 0x0));
978 var x87: u64 = undefined;977 var x87: u64 = undefined;
979 cmovznzU64(&x87, x86, x77, x70);978 cmovznzU64(&x87, x86, x77, x70);
980 var x88: u64 = undefined;979 var x88: u64 = undefined;
...@@ -1045,13 +1044,13 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma...@@ -1045,13 +1044,13 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma
1045 addcarryxU64(&x29, &x30, x28, x13, x25);1044 addcarryxU64(&x29, &x30, x28, x13, x25);
1046 var x31: u64 = undefined;1045 var x31: u64 = undefined;
1047 var x32: u1 = undefined;1046 var x32: u1 = undefined;
1048 addcarryxU64(&x31, &x32, x30, x15, (cast(u64, x26) + x22));1047 addcarryxU64(&x31, &x32, x30, x15, (@as(u64, x26) + x22));
1049 var x33: u64 = undefined;1048 var x33: u64 = undefined;
1050 var x34: u1 = undefined;1049 var x34: u1 = undefined;
1051 addcarryxU64(&x33, &x34, x32, x17, x19);1050 addcarryxU64(&x33, &x34, x32, x17, x19);
1052 var x35: u64 = undefined;1051 var x35: u64 = undefined;
1053 var x36: u1 = undefined;1052 var x36: u1 = undefined;
1054 addcarryxU64(&x35, &x36, x34, (cast(u64, x18) + x6), x20);1053 addcarryxU64(&x35, &x36, x34, (@as(u64, x18) + x6), x20);
1055 var x37: u64 = undefined;1054 var x37: u64 = undefined;
1056 var x38: u64 = undefined;1055 var x38: u64 = undefined;
1057 mulxU64(&x37, &x38, x1, 0x4fffffffd);1056 mulxU64(&x37, &x38, x1, 0x4fffffffd);
...@@ -1105,13 +1104,13 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma...@@ -1105,13 +1104,13 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma
1105 addcarryxU64(&x69, &x70, x68, x53, x65);1104 addcarryxU64(&x69, &x70, x68, x53, x65);
1106 var x71: u64 = undefined;1105 var x71: u64 = undefined;
1107 var x72: u1 = undefined;1106 var x72: u1 = undefined;
1108 addcarryxU64(&x71, &x72, x70, x55, (cast(u64, x66) + x62));1107 addcarryxU64(&x71, &x72, x70, x55, (@as(u64, x66) + x62));
1109 var x73: u64 = undefined;1108 var x73: u64 = undefined;
1110 var x74: u1 = undefined;1109 var x74: u1 = undefined;
1111 addcarryxU64(&x73, &x74, x72, x57, x59);1110 addcarryxU64(&x73, &x74, x72, x57, x59);
1112 var x75: u64 = undefined;1111 var x75: u64 = undefined;
1113 var x76: u1 = undefined;1112 var x76: u1 = undefined;
1114 addcarryxU64(&x75, &x76, x74, ((cast(u64, x58) + cast(u64, x36)) + (cast(u64, x50) + x38)), x60);1113 addcarryxU64(&x75, &x76, x74, ((@as(u64, x58) + @as(u64, x36)) + (@as(u64, x50) + x38)), x60);
1115 var x77: u64 = undefined;1114 var x77: u64 = undefined;
1116 var x78: u64 = undefined;1115 var x78: u64 = undefined;
1117 mulxU64(&x77, &x78, x2, 0x4fffffffd);1116 mulxU64(&x77, &x78, x2, 0x4fffffffd);
...@@ -1165,13 +1164,13 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma...@@ -1165,13 +1164,13 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma
1165 addcarryxU64(&x109, &x110, x108, x93, x105);1164 addcarryxU64(&x109, &x110, x108, x93, x105);
1166 var x111: u64 = undefined;1165 var x111: u64 = undefined;
1167 var x112: u1 = undefined;1166 var x112: u1 = undefined;
1168 addcarryxU64(&x111, &x112, x110, x95, (cast(u64, x106) + x102));1167 addcarryxU64(&x111, &x112, x110, x95, (@as(u64, x106) + x102));
1169 var x113: u64 = undefined;1168 var x113: u64 = undefined;
1170 var x114: u1 = undefined;1169 var x114: u1 = undefined;
1171 addcarryxU64(&x113, &x114, x112, x97, x99);1170 addcarryxU64(&x113, &x114, x112, x97, x99);
1172 var x115: u64 = undefined;1171 var x115: u64 = undefined;
1173 var x116: u1 = undefined;1172 var x116: u1 = undefined;
1174 addcarryxU64(&x115, &x116, x114, ((cast(u64, x98) + cast(u64, x76)) + (cast(u64, x90) + x78)), x100);1173 addcarryxU64(&x115, &x116, x114, ((@as(u64, x98) + @as(u64, x76)) + (@as(u64, x90) + x78)), x100);
1175 var x117: u64 = undefined;1174 var x117: u64 = undefined;
1176 var x118: u64 = undefined;1175 var x118: u64 = undefined;
1177 mulxU64(&x117, &x118, x3, 0x4fffffffd);1176 mulxU64(&x117, &x118, x3, 0x4fffffffd);
...@@ -1225,13 +1224,13 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma...@@ -1225,13 +1224,13 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma
1225 addcarryxU64(&x149, &x150, x148, x133, x145);1224 addcarryxU64(&x149, &x150, x148, x133, x145);
1226 var x151: u64 = undefined;1225 var x151: u64 = undefined;
1227 var x152: u1 = undefined;1226 var x152: u1 = undefined;
1228 addcarryxU64(&x151, &x152, x150, x135, (cast(u64, x146) + x142));1227 addcarryxU64(&x151, &x152, x150, x135, (@as(u64, x146) + x142));
1229 var x153: u64 = undefined;1228 var x153: u64 = undefined;
1230 var x154: u1 = undefined;1229 var x154: u1 = undefined;
1231 addcarryxU64(&x153, &x154, x152, x137, x139);1230 addcarryxU64(&x153, &x154, x152, x137, x139);
1232 var x155: u64 = undefined;1231 var x155: u64 = undefined;
1233 var x156: u1 = undefined;1232 var x156: u1 = undefined;
1234 addcarryxU64(&x155, &x156, x154, ((cast(u64, x138) + cast(u64, x116)) + (cast(u64, x130) + x118)), x140);1233 addcarryxU64(&x155, &x156, x154, ((@as(u64, x138) + @as(u64, x116)) + (@as(u64, x130) + x118)), x140);
1235 var x157: u64 = undefined;1234 var x157: u64 = undefined;
1236 var x158: u1 = undefined;1235 var x158: u1 = undefined;
1237 subborrowxU64(&x157, &x158, 0x0, x149, 0xffffffffffffffff);1236 subborrowxU64(&x157, &x158, 0x0, x149, 0xffffffffffffffff);
...@@ -1240,13 +1239,13 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma...@@ -1240,13 +1239,13 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma
1240 subborrowxU64(&x159, &x160, x158, x151, 0xffffffff);1239 subborrowxU64(&x159, &x160, x158, x151, 0xffffffff);
1241 var x161: u64 = undefined;1240 var x161: u64 = undefined;
1242 var x162: u1 = undefined;1241 var x162: u1 = undefined;
1243 subborrowxU64(&x161, &x162, x160, x153, cast(u64, 0x0));1242 subborrowxU64(&x161, &x162, x160, x153, @as(u64, 0x0));
1244 var x163: u64 = undefined;1243 var x163: u64 = undefined;
1245 var x164: u1 = undefined;1244 var x164: u1 = undefined;
1246 subborrowxU64(&x163, &x164, x162, x155, 0xffffffff00000001);1245 subborrowxU64(&x163, &x164, x162, x155, 0xffffffff00000001);
1247 var x165: u64 = undefined;1246 var x165: u64 = undefined;
1248 var x166: u1 = undefined;1247 var x166: u1 = undefined;
1249 subborrowxU64(&x165, &x166, x164, cast(u64, x156), cast(u64, 0x0));1248 subborrowxU64(&x165, &x166, x164, @as(u64, x156), @as(u64, 0x0));
1250 var x167: u64 = undefined;1249 var x167: u64 = undefined;
1251 cmovznzU64(&x167, x166, x157, x149);1250 cmovznzU64(&x167, x166, x157, x149);
1252 var x168: u64 = undefined;1251 var x168: u64 = undefined;
...@@ -1325,62 +1324,62 @@ pub fn toBytes(out1: *[32]u8, arg1: [4]u64) void {...@@ -1325,62 +1324,62 @@ pub fn toBytes(out1: *[32]u8, arg1: [4]u64) void {
1325 const x2 = (arg1[2]);1324 const x2 = (arg1[2]);
1326 const x3 = (arg1[1]);1325 const x3 = (arg1[1]);
1327 const x4 = (arg1[0]);1326 const x4 = (arg1[0]);
1328 const x5 = cast(u8, (x4 & cast(u64, 0xff)));1327 const x5 = @truncate(u8, (x4 & @as(u64, 0xff)));
1329 const x6 = (x4 >> 8);1328 const x6 = (x4 >> 8);
1330 const x7 = cast(u8, (x6 & cast(u64, 0xff)));1329 const x7 = @truncate(u8, (x6 & @as(u64, 0xff)));
1331 const x8 = (x6 >> 8);1330 const x8 = (x6 >> 8);
1332 const x9 = cast(u8, (x8 & cast(u64, 0xff)));1331 const x9 = @truncate(u8, (x8 & @as(u64, 0xff)));
1333 const x10 = (x8 >> 8);1332 const x10 = (x8 >> 8);
1334 const x11 = cast(u8, (x10 & cast(u64, 0xff)));1333 const x11 = @truncate(u8, (x10 & @as(u64, 0xff)));
1335 const x12 = (x10 >> 8);1334 const x12 = (x10 >> 8);
1336 const x13 = cast(u8, (x12 & cast(u64, 0xff)));1335 const x13 = @truncate(u8, (x12 & @as(u64, 0xff)));
1337 const x14 = (x12 >> 8);1336 const x14 = (x12 >> 8);
1338 const x15 = cast(u8, (x14 & cast(u64, 0xff)));1337 const x15 = @truncate(u8, (x14 & @as(u64, 0xff)));
1339 const x16 = (x14 >> 8);1338 const x16 = (x14 >> 8);
1340 const x17 = cast(u8, (x16 & cast(u64, 0xff)));1339 const x17 = @truncate(u8, (x16 & @as(u64, 0xff)));
1341 const x18 = cast(u8, (x16 >> 8));1340 const x18 = @truncate(u8, (x16 >> 8));
1342 const x19 = cast(u8, (x3 & cast(u64, 0xff)));1341 const x19 = @truncate(u8, (x3 & @as(u64, 0xff)));
1343 const x20 = (x3 >> 8);1342 const x20 = (x3 >> 8);
1344 const x21 = cast(u8, (x20 & cast(u64, 0xff)));1343 const x21 = @truncate(u8, (x20 & @as(u64, 0xff)));
1345 const x22 = (x20 >> 8);1344 const x22 = (x20 >> 8);
1346 const x23 = cast(u8, (x22 & cast(u64, 0xff)));1345 const x23 = @truncate(u8, (x22 & @as(u64, 0xff)));
1347 const x24 = (x22 >> 8);1346 const x24 = (x22 >> 8);
1348 const x25 = cast(u8, (x24 & cast(u64, 0xff)));1347 const x25 = @truncate(u8, (x24 & @as(u64, 0xff)));
1349 const x26 = (x24 >> 8);1348 const x26 = (x24 >> 8);
1350 const x27 = cast(u8, (x26 & cast(u64, 0xff)));1349 const x27 = @truncate(u8, (x26 & @as(u64, 0xff)));
1351 const x28 = (x26 >> 8);1350 const x28 = (x26 >> 8);
1352 const x29 = cast(u8, (x28 & cast(u64, 0xff)));1351 const x29 = @truncate(u8, (x28 & @as(u64, 0xff)));
1353 const x30 = (x28 >> 8);1352 const x30 = (x28 >> 8);
1354 const x31 = cast(u8, (x30 & cast(u64, 0xff)));1353 const x31 = @truncate(u8, (x30 & @as(u64, 0xff)));
1355 const x32 = cast(u8, (x30 >> 8));1354 const x32 = @truncate(u8, (x30 >> 8));
1356 const x33 = cast(u8, (x2 & cast(u64, 0xff)));1355 const x33 = @truncate(u8, (x2 & @as(u64, 0xff)));
1357 const x34 = (x2 >> 8);1356 const x34 = (x2 >> 8);
1358 const x35 = cast(u8, (x34 & cast(u64, 0xff)));1357 const x35 = @truncate(u8, (x34 & @as(u64, 0xff)));
1359 const x36 = (x34 >> 8);1358 const x36 = (x34 >> 8);
1360 const x37 = cast(u8, (x36 & cast(u64, 0xff)));1359 const x37 = @truncate(u8, (x36 & @as(u64, 0xff)));
1361 const x38 = (x36 >> 8);1360 const x38 = (x36 >> 8);
1362 const x39 = cast(u8, (x38 & cast(u64, 0xff)));1361 const x39 = @truncate(u8, (x38 & @as(u64, 0xff)));
1363 const x40 = (x38 >> 8);1362 const x40 = (x38 >> 8);
1364 const x41 = cast(u8, (x40 & cast(u64, 0xff)));1363 const x41 = @truncate(u8, (x40 & @as(u64, 0xff)));
1365 const x42 = (x40 >> 8);1364 const x42 = (x40 >> 8);
1366 const x43 = cast(u8, (x42 & cast(u64, 0xff)));1365 const x43 = @truncate(u8, (x42 & @as(u64, 0xff)));
1367 const x44 = (x42 >> 8);1366 const x44 = (x42 >> 8);
1368 const x45 = cast(u8, (x44 & cast(u64, 0xff)));1367 const x45 = @truncate(u8, (x44 & @as(u64, 0xff)));
1369 const x46 = cast(u8, (x44 >> 8));1368 const x46 = @truncate(u8, (x44 >> 8));
1370 const x47 = cast(u8, (x1 & cast(u64, 0xff)));1369 const x47 = @truncate(u8, (x1 & @as(u64, 0xff)));
1371 const x48 = (x1 >> 8);1370 const x48 = (x1 >> 8);
1372 const x49 = cast(u8, (x48 & cast(u64, 0xff)));1371 const x49 = @truncate(u8, (x48 & @as(u64, 0xff)));
1373 const x50 = (x48 >> 8);1372 const x50 = (x48 >> 8);
1374 const x51 = cast(u8, (x50 & cast(u64, 0xff)));1373 const x51 = @truncate(u8, (x50 & @as(u64, 0xff)));
1375 const x52 = (x50 >> 8);1374 const x52 = (x50 >> 8);
1376 const x53 = cast(u8, (x52 & cast(u64, 0xff)));1375 const x53 = @truncate(u8, (x52 & @as(u64, 0xff)));
1377 const x54 = (x52 >> 8);1376 const x54 = (x52 >> 8);
1378 const x55 = cast(u8, (x54 & cast(u64, 0xff)));1377 const x55 = @truncate(u8, (x54 & @as(u64, 0xff)));
1379 const x56 = (x54 >> 8);1378 const x56 = (x54 >> 8);
1380 const x57 = cast(u8, (x56 & cast(u64, 0xff)));1379 const x57 = @truncate(u8, (x56 & @as(u64, 0xff)));
1381 const x58 = (x56 >> 8);1380 const x58 = (x56 >> 8);
1382 const x59 = cast(u8, (x58 & cast(u64, 0xff)));1381 const x59 = @truncate(u8, (x58 & @as(u64, 0xff)));
1383 const x60 = cast(u8, (x58 >> 8));1382 const x60 = @truncate(u8, (x58 >> 8));
1384 out1[0] = x5;1383 out1[0] = x5;
1385 out1[1] = x7;1384 out1[1] = x7;
1386 out1[2] = x9;1385 out1[2] = x9;
...@@ -1430,60 +1429,60 @@ pub fn toBytes(out1: *[32]u8, arg1: [4]u64) void {...@@ -1430,60 +1429,60 @@ pub fn toBytes(out1: *[32]u8, arg1: [4]u64) void {
1430pub fn fromBytes(out1: *[4]u64, arg1: [32]u8) void {1429pub fn fromBytes(out1: *[4]u64, arg1: [32]u8) void {
1431 @setRuntimeSafety(mode == .Debug);1430 @setRuntimeSafety(mode == .Debug);
14321431
1433 const x1 = (cast(u64, (arg1[31])) << 56);1432 const x1 = (@as(u64, (arg1[31])) << 56);
1434 const x2 = (cast(u64, (arg1[30])) << 48);1433 const x2 = (@as(u64, (arg1[30])) << 48);
1435 const x3 = (cast(u64, (arg1[29])) << 40);1434 const x3 = (@as(u64, (arg1[29])) << 40);
1436 const x4 = (cast(u64, (arg1[28])) << 32);1435 const x4 = (@as(u64, (arg1[28])) << 32);
1437 const x5 = (cast(u64, (arg1[27])) << 24);1436 const x5 = (@as(u64, (arg1[27])) << 24);
1438 const x6 = (cast(u64, (arg1[26])) << 16);1437 const x6 = (@as(u64, (arg1[26])) << 16);
1439 const x7 = (cast(u64, (arg1[25])) << 8);1438 const x7 = (@as(u64, (arg1[25])) << 8);
1440 const x8 = (arg1[24]);1439 const x8 = (arg1[24]);
1441 const x9 = (cast(u64, (arg1[23])) << 56);1440 const x9 = (@as(u64, (arg1[23])) << 56);
1442 const x10 = (cast(u64, (arg1[22])) << 48);1441 const x10 = (@as(u64, (arg1[22])) << 48);
1443 const x11 = (cast(u64, (arg1[21])) << 40);1442 const x11 = (@as(u64, (arg1[21])) << 40);
1444 const x12 = (cast(u64, (arg1[20])) << 32);1443 const x12 = (@as(u64, (arg1[20])) << 32);
1445 const x13 = (cast(u64, (arg1[19])) << 24);1444 const x13 = (@as(u64, (arg1[19])) << 24);
1446 const x14 = (cast(u64, (arg1[18])) << 16);1445 const x14 = (@as(u64, (arg1[18])) << 16);
1447 const x15 = (cast(u64, (arg1[17])) << 8);1446 const x15 = (@as(u64, (arg1[17])) << 8);
1448 const x16 = (arg1[16]);1447 const x16 = (arg1[16]);
1449 const x17 = (cast(u64, (arg1[15])) << 56);1448 const x17 = (@as(u64, (arg1[15])) << 56);
1450 const x18 = (cast(u64, (arg1[14])) << 48);1449 const x18 = (@as(u64, (arg1[14])) << 48);
1451 const x19 = (cast(u64, (arg1[13])) << 40);1450 const x19 = (@as(u64, (arg1[13])) << 40);
1452 const x20 = (cast(u64, (arg1[12])) << 32);1451 const x20 = (@as(u64, (arg1[12])) << 32);
1453 const x21 = (cast(u64, (arg1[11])) << 24);1452 const x21 = (@as(u64, (arg1[11])) << 24);
1454 const x22 = (cast(u64, (arg1[10])) << 16);1453 const x22 = (@as(u64, (arg1[10])) << 16);
1455 const x23 = (cast(u64, (arg1[9])) << 8);1454 const x23 = (@as(u64, (arg1[9])) << 8);
1456 const x24 = (arg1[8]);1455 const x24 = (arg1[8]);
1457 const x25 = (cast(u64, (arg1[7])) << 56);1456 const x25 = (@as(u64, (arg1[7])) << 56);
1458 const x26 = (cast(u64, (arg1[6])) << 48);1457 const x26 = (@as(u64, (arg1[6])) << 48);
1459 const x27 = (cast(u64, (arg1[5])) << 40);1458 const x27 = (@as(u64, (arg1[5])) << 40);
1460 const x28 = (cast(u64, (arg1[4])) << 32);1459 const x28 = (@as(u64, (arg1[4])) << 32);
1461 const x29 = (cast(u64, (arg1[3])) << 24);1460 const x29 = (@as(u64, (arg1[3])) << 24);
1462 const x30 = (cast(u64, (arg1[2])) << 16);1461 const x30 = (@as(u64, (arg1[2])) << 16);
1463 const x31 = (cast(u64, (arg1[1])) << 8);1462 const x31 = (@as(u64, (arg1[1])) << 8);
1464 const x32 = (arg1[0]);1463 const x32 = (arg1[0]);
1465 const x33 = (x31 + cast(u64, x32));1464 const x33 = (x31 + @as(u64, x32));
1466 const x34 = (x30 + x33);1465 const x34 = (x30 + x33);
1467 const x35 = (x29 + x34);1466 const x35 = (x29 + x34);
1468 const x36 = (x28 + x35);1467 const x36 = (x28 + x35);
1469 const x37 = (x27 + x36);1468 const x37 = (x27 + x36);
1470 const x38 = (x26 + x37);1469 const x38 = (x26 + x37);
1471 const x39 = (x25 + x38);1470 const x39 = (x25 + x38);
1472 const x40 = (x23 + cast(u64, x24));1471 const x40 = (x23 + @as(u64, x24));
1473 const x41 = (x22 + x40);1472 const x41 = (x22 + x40);
1474 const x42 = (x21 + x41);1473 const x42 = (x21 + x41);
1475 const x43 = (x20 + x42);1474 const x43 = (x20 + x42);
1476 const x44 = (x19 + x43);1475 const x44 = (x19 + x43);
1477 const x45 = (x18 + x44);1476 const x45 = (x18 + x44);
1478 const x46 = (x17 + x45);1477 const x46 = (x17 + x45);
1479 const x47 = (x15 + cast(u64, x16));1478 const x47 = (x15 + @as(u64, x16));
1480 const x48 = (x14 + x47);1479 const x48 = (x14 + x47);
1481 const x49 = (x13 + x48);1480 const x49 = (x13 + x48);
1482 const x50 = (x12 + x49);1481 const x50 = (x12 + x49);
1483 const x51 = (x11 + x50);1482 const x51 = (x11 + x50);
1484 const x52 = (x10 + x51);1483 const x52 = (x10 + x51);
1485 const x53 = (x9 + x52);1484 const x53 = (x9 + x52);
1486 const x54 = (x7 + cast(u64, x8));1485 const x54 = (x7 + @as(u64, x8));
1487 const x55 = (x6 + x54);1486 const x55 = (x6 + x54);
1488 const x56 = (x5 + x55);1487 const x56 = (x5 + x55);
1489 const x57 = (x4 + x56);1488 const x57 = (x4 + x56);
...@@ -1505,7 +1504,7 @@ pub fn fromBytes(out1: *[4]u64, arg1: [32]u8) void {...@@ -1505,7 +1504,7 @@ pub fn fromBytes(out1: *[4]u64, arg1: [32]u8) void {
1505pub fn setOne(out1: *MontgomeryDomainFieldElement) void {1504pub fn setOne(out1: *MontgomeryDomainFieldElement) void {
1506 @setRuntimeSafety(mode == .Debug);1505 @setRuntimeSafety(mode == .Debug);
15071506
1508 out1[0] = cast(u64, 0x1);1507 out1[0] = @as(u64, 0x1);
1509 out1[1] = 0xffffffff00000000;1508 out1[1] = 0xffffffff00000000;
1510 out1[2] = 0xffffffffffffffff;1509 out1[2] = 0xffffffffffffffff;
1511 out1[3] = 0xfffffffe;1510 out1[3] = 0xfffffffe;
...@@ -1524,9 +1523,9 @@ pub fn msat(out1: *[5]u64) void {...@@ -1524,9 +1523,9 @@ pub fn msat(out1: *[5]u64) void {
15241523
1525 out1[0] = 0xffffffffffffffff;1524 out1[0] = 0xffffffffffffffff;
1526 out1[1] = 0xffffffff;1525 out1[1] = 0xffffffff;
1527 out1[2] = cast(u64, 0x0);1526 out1[2] = @as(u64, 0x0);
1528 out1[3] = 0xffffffff00000001;1527 out1[3] = 0xffffffff00000001;
1529 out1[4] = cast(u64, 0x0);1528 out1[4] = @as(u64, 0x0);
1530}1529}
15311530
1532/// The function divstep computes a divstep.1531/// The function divstep computes a divstep.
...@@ -1562,11 +1561,11 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[...@@ -1562,11 +1561,11 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[
15621561
1563 var x1: u64 = undefined;1562 var x1: u64 = undefined;
1564 var x2: u1 = undefined;1563 var x2: u1 = undefined;
1565 addcarryxU64(&x1, &x2, 0x0, (~arg1), cast(u64, 0x1));1564 addcarryxU64(&x1, &x2, 0x0, (~arg1), @as(u64, 0x1));
1566 const x3 = (cast(u1, (x1 >> 63)) & cast(u1, ((arg3[0]) & cast(u64, 0x1))));1565 const x3 = (@truncate(u1, (x1 >> 63)) & @truncate(u1, ((arg3[0]) & @as(u64, 0x1))));
1567 var x4: u64 = undefined;1566 var x4: u64 = undefined;
1568 var x5: u1 = undefined;1567 var x5: u1 = undefined;
1569 addcarryxU64(&x4, &x5, 0x0, (~arg1), cast(u64, 0x1));1568 addcarryxU64(&x4, &x5, 0x0, (~arg1), @as(u64, 0x1));
1570 var x6: u64 = undefined;1569 var x6: u64 = undefined;
1571 cmovznzU64(&x6, x3, arg1, x4);1570 cmovznzU64(&x6, x3, arg1, x4);
1572 var x7: u64 = undefined;1571 var x7: u64 = undefined;
...@@ -1581,19 +1580,19 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[...@@ -1581,19 +1580,19 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[
1581 cmovznzU64(&x11, x3, (arg2[4]), (arg3[4]));1580 cmovznzU64(&x11, x3, (arg2[4]), (arg3[4]));
1582 var x12: u64 = undefined;1581 var x12: u64 = undefined;
1583 var x13: u1 = undefined;1582 var x13: u1 = undefined;
1584 addcarryxU64(&x12, &x13, 0x0, cast(u64, 0x1), (~(arg2[0])));1583 addcarryxU64(&x12, &x13, 0x0, @as(u64, 0x1), (~(arg2[0])));
1585 var x14: u64 = undefined;1584 var x14: u64 = undefined;
1586 var x15: u1 = undefined;1585 var x15: u1 = undefined;
1587 addcarryxU64(&x14, &x15, x13, cast(u64, 0x0), (~(arg2[1])));1586 addcarryxU64(&x14, &x15, x13, @as(u64, 0x0), (~(arg2[1])));
1588 var x16: u64 = undefined;1587 var x16: u64 = undefined;
1589 var x17: u1 = undefined;1588 var x17: u1 = undefined;
1590 addcarryxU64(&x16, &x17, x15, cast(u64, 0x0), (~(arg2[2])));1589 addcarryxU64(&x16, &x17, x15, @as(u64, 0x0), (~(arg2[2])));
1591 var x18: u64 = undefined;1590 var x18: u64 = undefined;
1592 var x19: u1 = undefined;1591 var x19: u1 = undefined;
1593 addcarryxU64(&x18, &x19, x17, cast(u64, 0x0), (~(arg2[3])));1592 addcarryxU64(&x18, &x19, x17, @as(u64, 0x0), (~(arg2[3])));
1594 var x20: u64 = undefined;1593 var x20: u64 = undefined;
1595 var x21: u1 = undefined;1594 var x21: u1 = undefined;
1596 addcarryxU64(&x20, &x21, x19, cast(u64, 0x0), (~(arg2[4])));1595 addcarryxU64(&x20, &x21, x19, @as(u64, 0x0), (~(arg2[4])));
1597 var x22: u64 = undefined;1596 var x22: u64 = undefined;
1598 cmovznzU64(&x22, x3, (arg3[0]), x12);1597 cmovznzU64(&x22, x3, (arg3[0]), x12);
1599 var x23: u64 = undefined;1598 var x23: u64 = undefined;
...@@ -1632,31 +1631,31 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[...@@ -1632,31 +1631,31 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[
1632 subborrowxU64(&x41, &x42, x40, x33, 0xffffffff);1631 subborrowxU64(&x41, &x42, x40, x33, 0xffffffff);
1633 var x43: u64 = undefined;1632 var x43: u64 = undefined;
1634 var x44: u1 = undefined;1633 var x44: u1 = undefined;
1635 subborrowxU64(&x43, &x44, x42, x35, cast(u64, 0x0));1634 subborrowxU64(&x43, &x44, x42, x35, @as(u64, 0x0));
1636 var x45: u64 = undefined;1635 var x45: u64 = undefined;
1637 var x46: u1 = undefined;1636 var x46: u1 = undefined;
1638 subborrowxU64(&x45, &x46, x44, x37, 0xffffffff00000001);1637 subborrowxU64(&x45, &x46, x44, x37, 0xffffffff00000001);
1639 var x47: u64 = undefined;1638 var x47: u64 = undefined;
1640 var x48: u1 = undefined;1639 var x48: u1 = undefined;
1641 subborrowxU64(&x47, &x48, x46, cast(u64, x38), cast(u64, 0x0));1640 subborrowxU64(&x47, &x48, x46, @as(u64, x38), @as(u64, 0x0));
1642 const x49 = (arg4[3]);1641 const x49 = (arg4[3]);
1643 const x50 = (arg4[2]);1642 const x50 = (arg4[2]);
1644 const x51 = (arg4[1]);1643 const x51 = (arg4[1]);
1645 const x52 = (arg4[0]);1644 const x52 = (arg4[0]);
1646 var x53: u64 = undefined;1645 var x53: u64 = undefined;
1647 var x54: u1 = undefined;1646 var x54: u1 = undefined;
1648 subborrowxU64(&x53, &x54, 0x0, cast(u64, 0x0), x52);1647 subborrowxU64(&x53, &x54, 0x0, @as(u64, 0x0), x52);
1649 var x55: u64 = undefined;1648 var x55: u64 = undefined;
1650 var x56: u1 = undefined;1649 var x56: u1 = undefined;
1651 subborrowxU64(&x55, &x56, x54, cast(u64, 0x0), x51);1650 subborrowxU64(&x55, &x56, x54, @as(u64, 0x0), x51);
1652 var x57: u64 = undefined;1651 var x57: u64 = undefined;
1653 var x58: u1 = undefined;1652 var x58: u1 = undefined;
1654 subborrowxU64(&x57, &x58, x56, cast(u64, 0x0), x50);1653 subborrowxU64(&x57, &x58, x56, @as(u64, 0x0), x50);
1655 var x59: u64 = undefined;1654 var x59: u64 = undefined;
1656 var x60: u1 = undefined;1655 var x60: u1 = undefined;
1657 subborrowxU64(&x59, &x60, x58, cast(u64, 0x0), x49);1656 subborrowxU64(&x59, &x60, x58, @as(u64, 0x0), x49);
1658 var x61: u64 = undefined;1657 var x61: u64 = undefined;
1659 cmovznzU64(&x61, x60, cast(u64, 0x0), 0xffffffffffffffff);1658 cmovznzU64(&x61, x60, @as(u64, 0x0), 0xffffffffffffffff);
1660 var x62: u64 = undefined;1659 var x62: u64 = undefined;
1661 var x63: u1 = undefined;1660 var x63: u1 = undefined;
1662 addcarryxU64(&x62, &x63, 0x0, x53, x61);1661 addcarryxU64(&x62, &x63, 0x0, x53, x61);
...@@ -1665,7 +1664,7 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[...@@ -1665,7 +1664,7 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[
1665 addcarryxU64(&x64, &x65, x63, x55, (x61 & 0xffffffff));1664 addcarryxU64(&x64, &x65, x63, x55, (x61 & 0xffffffff));
1666 var x66: u64 = undefined;1665 var x66: u64 = undefined;
1667 var x67: u1 = undefined;1666 var x67: u1 = undefined;
1668 addcarryxU64(&x66, &x67, x65, x57, cast(u64, 0x0));1667 addcarryxU64(&x66, &x67, x65, x57, @as(u64, 0x0));
1669 var x68: u64 = undefined;1668 var x68: u64 = undefined;
1670 var x69: u1 = undefined;1669 var x69: u1 = undefined;
1671 addcarryxU64(&x68, &x69, x67, x59, (x61 & 0xffffffff00000001));1670 addcarryxU64(&x68, &x69, x67, x59, (x61 & 0xffffffff00000001));
...@@ -1677,17 +1676,17 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[...@@ -1677,17 +1676,17 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[
1677 cmovznzU64(&x72, x3, (arg5[2]), x66);1676 cmovznzU64(&x72, x3, (arg5[2]), x66);
1678 var x73: u64 = undefined;1677 var x73: u64 = undefined;
1679 cmovznzU64(&x73, x3, (arg5[3]), x68);1678 cmovznzU64(&x73, x3, (arg5[3]), x68);
1680 const x74 = cast(u1, (x22 & cast(u64, 0x1)));1679 const x74 = @truncate(u1, (x22 & @as(u64, 0x1)));
1681 var x75: u64 = undefined;1680 var x75: u64 = undefined;
1682 cmovznzU64(&x75, x74, cast(u64, 0x0), x7);1681 cmovznzU64(&x75, x74, @as(u64, 0x0), x7);
1683 var x76: u64 = undefined;1682 var x76: u64 = undefined;
1684 cmovznzU64(&x76, x74, cast(u64, 0x0), x8);1683 cmovznzU64(&x76, x74, @as(u64, 0x0), x8);
1685 var x77: u64 = undefined;1684 var x77: u64 = undefined;
1686 cmovznzU64(&x77, x74, cast(u64, 0x0), x9);1685 cmovznzU64(&x77, x74, @as(u64, 0x0), x9);
1687 var x78: u64 = undefined;1686 var x78: u64 = undefined;
1688 cmovznzU64(&x78, x74, cast(u64, 0x0), x10);1687 cmovznzU64(&x78, x74, @as(u64, 0x0), x10);
1689 var x79: u64 = undefined;1688 var x79: u64 = undefined;
1690 cmovznzU64(&x79, x74, cast(u64, 0x0), x11);1689 cmovznzU64(&x79, x74, @as(u64, 0x0), x11);
1691 var x80: u64 = undefined;1690 var x80: u64 = undefined;
1692 var x81: u1 = undefined;1691 var x81: u1 = undefined;
1693 addcarryxU64(&x80, &x81, 0x0, x22, x75);1692 addcarryxU64(&x80, &x81, 0x0, x22, x75);
...@@ -1704,13 +1703,13 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[...@@ -1704,13 +1703,13 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[
1704 var x89: u1 = undefined;1703 var x89: u1 = undefined;
1705 addcarryxU64(&x88, &x89, x87, x26, x79);1704 addcarryxU64(&x88, &x89, x87, x26, x79);
1706 var x90: u64 = undefined;1705 var x90: u64 = undefined;
1707 cmovznzU64(&x90, x74, cast(u64, 0x0), x27);1706 cmovznzU64(&x90, x74, @as(u64, 0x0), x27);
1708 var x91: u64 = undefined;1707 var x91: u64 = undefined;
1709 cmovznzU64(&x91, x74, cast(u64, 0x0), x28);1708 cmovznzU64(&x91, x74, @as(u64, 0x0), x28);
1710 var x92: u64 = undefined;1709 var x92: u64 = undefined;
1711 cmovznzU64(&x92, x74, cast(u64, 0x0), x29);1710 cmovznzU64(&x92, x74, @as(u64, 0x0), x29);
1712 var x93: u64 = undefined;1711 var x93: u64 = undefined;
1713 cmovznzU64(&x93, x74, cast(u64, 0x0), x30);1712 cmovznzU64(&x93, x74, @as(u64, 0x0), x30);
1714 var x94: u64 = undefined;1713 var x94: u64 = undefined;
1715 var x95: u1 = undefined;1714 var x95: u1 = undefined;
1716 addcarryxU64(&x94, &x95, 0x0, x70, x90);1715 addcarryxU64(&x94, &x95, 0x0, x70, x90);
...@@ -1731,16 +1730,16 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[...@@ -1731,16 +1730,16 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[
1731 subborrowxU64(&x104, &x105, x103, x96, 0xffffffff);1730 subborrowxU64(&x104, &x105, x103, x96, 0xffffffff);
1732 var x106: u64 = undefined;1731 var x106: u64 = undefined;
1733 var x107: u1 = undefined;1732 var x107: u1 = undefined;
1734 subborrowxU64(&x106, &x107, x105, x98, cast(u64, 0x0));1733 subborrowxU64(&x106, &x107, x105, x98, @as(u64, 0x0));
1735 var x108: u64 = undefined;1734 var x108: u64 = undefined;
1736 var x109: u1 = undefined;1735 var x109: u1 = undefined;
1737 subborrowxU64(&x108, &x109, x107, x100, 0xffffffff00000001);1736 subborrowxU64(&x108, &x109, x107, x100, 0xffffffff00000001);
1738 var x110: u64 = undefined;1737 var x110: u64 = undefined;
1739 var x111: u1 = undefined;1738 var x111: u1 = undefined;
1740 subborrowxU64(&x110, &x111, x109, cast(u64, x101), cast(u64, 0x0));1739 subborrowxU64(&x110, &x111, x109, @as(u64, x101), @as(u64, 0x0));
1741 var x112: u64 = undefined;1740 var x112: u64 = undefined;
1742 var x113: u1 = undefined;1741 var x113: u1 = undefined;
1743 addcarryxU64(&x112, &x113, 0x0, x6, cast(u64, 0x1));1742 addcarryxU64(&x112, &x113, 0x0, x6, @as(u64, 0x1));
1744 const x114 = ((x80 >> 1) | ((x82 << 63) & 0xffffffffffffffff));1743 const x114 = ((x80 >> 1) | ((x82 << 63) & 0xffffffffffffffff));
1745 const x115 = ((x82 >> 1) | ((x84 << 63) & 0xffffffffffffffff));1744 const x115 = ((x82 >> 1) | ((x84 << 63) & 0xffffffffffffffff));
1746 const x116 = ((x84 >> 1) | ((x86 << 63) & 0xffffffffffffffff));1745 const x116 = ((x84 >> 1) | ((x86 << 63) & 0xffffffffffffffff));
lib/std/crypto/pcurves/p256/p256_scalar_64.zig+144-145
...@@ -18,7 +18,6 @@...@@ -18,7 +18,6 @@
18// if x1 & (2^256-1) < 2^255 then x1 & (2^256-1) else (x1 & (2^256-1)) - 2^25618// if x1 & (2^256-1) < 2^255 then x1 & (2^256-1) else (x1 & (2^256-1)) - 2^256
1919
20const std = @import("std");20const std = @import("std");
21const cast = std.meta.cast;
22const mode = std.builtin.mode; // Checked arithmetic is disabled in non-debug modes to avoid side channels21const mode = std.builtin.mode; // Checked arithmetic is disabled in non-debug modes to avoid side channels
2322
24// The type MontgomeryDomainFieldElement is a field element in the Montgomery domain.23// The type MontgomeryDomainFieldElement is a field element in the Montgomery domain.
...@@ -148,7 +147,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -148,7 +147,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
148 var x17: u64 = undefined;147 var x17: u64 = undefined;
149 var x18: u1 = undefined;148 var x18: u1 = undefined;
150 addcarryxU64(&x17, &x18, x16, x8, x5);149 addcarryxU64(&x17, &x18, x16, x8, x5);
151 const x19 = (cast(u64, x18) + x6);150 const x19 = (@as(u64, x18) + x6);
152 var x20: u64 = undefined;151 var x20: u64 = undefined;
153 var x21: u64 = undefined;152 var x21: u64 = undefined;
154 mulxU64(&x20, &x21, x11, 0xccd1c8aaee00bc4f);153 mulxU64(&x20, &x21, x11, 0xccd1c8aaee00bc4f);
...@@ -173,7 +172,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -173,7 +172,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
173 var x34: u64 = undefined;172 var x34: u64 = undefined;
174 var x35: u1 = undefined;173 var x35: u1 = undefined;
175 addcarryxU64(&x34, &x35, x33, x25, x22);174 addcarryxU64(&x34, &x35, x33, x25, x22);
176 const x36 = (cast(u64, x35) + x23);175 const x36 = (@as(u64, x35) + x23);
177 var x37: u64 = undefined;176 var x37: u64 = undefined;
178 var x38: u1 = undefined;177 var x38: u1 = undefined;
179 addcarryxU64(&x37, &x38, 0x0, x11, x28);178 addcarryxU64(&x37, &x38, 0x0, x11, x28);
...@@ -210,7 +209,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -210,7 +209,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
210 var x59: u64 = undefined;209 var x59: u64 = undefined;
211 var x60: u1 = undefined;210 var x60: u1 = undefined;
212 addcarryxU64(&x59, &x60, x58, x50, x47);211 addcarryxU64(&x59, &x60, x58, x50, x47);
213 const x61 = (cast(u64, x60) + x48);212 const x61 = (@as(u64, x60) + x48);
214 var x62: u64 = undefined;213 var x62: u64 = undefined;
215 var x63: u1 = undefined;214 var x63: u1 = undefined;
216 addcarryxU64(&x62, &x63, 0x0, x39, x53);215 addcarryxU64(&x62, &x63, 0x0, x39, x53);
...@@ -225,7 +224,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -225,7 +224,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
225 addcarryxU64(&x68, &x69, x67, x45, x59);224 addcarryxU64(&x68, &x69, x67, x45, x59);
226 var x70: u64 = undefined;225 var x70: u64 = undefined;
227 var x71: u1 = undefined;226 var x71: u1 = undefined;
228 addcarryxU64(&x70, &x71, x69, cast(u64, x46), x61);227 addcarryxU64(&x70, &x71, x69, @as(u64, x46), x61);
229 var x72: u64 = undefined;228 var x72: u64 = undefined;
230 var x73: u64 = undefined;229 var x73: u64 = undefined;
231 mulxU64(&x72, &x73, x62, 0xccd1c8aaee00bc4f);230 mulxU64(&x72, &x73, x62, 0xccd1c8aaee00bc4f);
...@@ -250,7 +249,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -250,7 +249,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
250 var x86: u64 = undefined;249 var x86: u64 = undefined;
251 var x87: u1 = undefined;250 var x87: u1 = undefined;
252 addcarryxU64(&x86, &x87, x85, x77, x74);251 addcarryxU64(&x86, &x87, x85, x77, x74);
253 const x88 = (cast(u64, x87) + x75);252 const x88 = (@as(u64, x87) + x75);
254 var x89: u64 = undefined;253 var x89: u64 = undefined;
255 var x90: u1 = undefined;254 var x90: u1 = undefined;
256 addcarryxU64(&x89, &x90, 0x0, x62, x80);255 addcarryxU64(&x89, &x90, 0x0, x62, x80);
...@@ -266,7 +265,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -266,7 +265,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
266 var x97: u64 = undefined;265 var x97: u64 = undefined;
267 var x98: u1 = undefined;266 var x98: u1 = undefined;
268 addcarryxU64(&x97, &x98, x96, x70, x88);267 addcarryxU64(&x97, &x98, x96, x70, x88);
269 const x99 = (cast(u64, x98) + cast(u64, x71));268 const x99 = (@as(u64, x98) + @as(u64, x71));
270 var x100: u64 = undefined;269 var x100: u64 = undefined;
271 var x101: u64 = undefined;270 var x101: u64 = undefined;
272 mulxU64(&x100, &x101, x2, (arg2[3]));271 mulxU64(&x100, &x101, x2, (arg2[3]));
...@@ -288,7 +287,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -288,7 +287,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
288 var x112: u64 = undefined;287 var x112: u64 = undefined;
289 var x113: u1 = undefined;288 var x113: u1 = undefined;
290 addcarryxU64(&x112, &x113, x111, x103, x100);289 addcarryxU64(&x112, &x113, x111, x103, x100);
291 const x114 = (cast(u64, x113) + x101);290 const x114 = (@as(u64, x113) + x101);
292 var x115: u64 = undefined;291 var x115: u64 = undefined;
293 var x116: u1 = undefined;292 var x116: u1 = undefined;
294 addcarryxU64(&x115, &x116, 0x0, x91, x106);293 addcarryxU64(&x115, &x116, 0x0, x91, x106);
...@@ -328,7 +327,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -328,7 +327,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
328 var x139: u64 = undefined;327 var x139: u64 = undefined;
329 var x140: u1 = undefined;328 var x140: u1 = undefined;
330 addcarryxU64(&x139, &x140, x138, x130, x127);329 addcarryxU64(&x139, &x140, x138, x130, x127);
331 const x141 = (cast(u64, x140) + x128);330 const x141 = (@as(u64, x140) + x128);
332 var x142: u64 = undefined;331 var x142: u64 = undefined;
333 var x143: u1 = undefined;332 var x143: u1 = undefined;
334 addcarryxU64(&x142, &x143, 0x0, x115, x133);333 addcarryxU64(&x142, &x143, 0x0, x115, x133);
...@@ -344,7 +343,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -344,7 +343,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
344 var x150: u64 = undefined;343 var x150: u64 = undefined;
345 var x151: u1 = undefined;344 var x151: u1 = undefined;
346 addcarryxU64(&x150, &x151, x149, x123, x141);345 addcarryxU64(&x150, &x151, x149, x123, x141);
347 const x152 = (cast(u64, x151) + cast(u64, x124));346 const x152 = (@as(u64, x151) + @as(u64, x124));
348 var x153: u64 = undefined;347 var x153: u64 = undefined;
349 var x154: u64 = undefined;348 var x154: u64 = undefined;
350 mulxU64(&x153, &x154, x3, (arg2[3]));349 mulxU64(&x153, &x154, x3, (arg2[3]));
...@@ -366,7 +365,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -366,7 +365,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
366 var x165: u64 = undefined;365 var x165: u64 = undefined;
367 var x166: u1 = undefined;366 var x166: u1 = undefined;
368 addcarryxU64(&x165, &x166, x164, x156, x153);367 addcarryxU64(&x165, &x166, x164, x156, x153);
369 const x167 = (cast(u64, x166) + x154);368 const x167 = (@as(u64, x166) + x154);
370 var x168: u64 = undefined;369 var x168: u64 = undefined;
371 var x169: u1 = undefined;370 var x169: u1 = undefined;
372 addcarryxU64(&x168, &x169, 0x0, x144, x159);371 addcarryxU64(&x168, &x169, 0x0, x144, x159);
...@@ -406,7 +405,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -406,7 +405,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
406 var x192: u64 = undefined;405 var x192: u64 = undefined;
407 var x193: u1 = undefined;406 var x193: u1 = undefined;
408 addcarryxU64(&x192, &x193, x191, x183, x180);407 addcarryxU64(&x192, &x193, x191, x183, x180);
409 const x194 = (cast(u64, x193) + x181);408 const x194 = (@as(u64, x193) + x181);
410 var x195: u64 = undefined;409 var x195: u64 = undefined;
411 var x196: u1 = undefined;410 var x196: u1 = undefined;
412 addcarryxU64(&x195, &x196, 0x0, x168, x186);411 addcarryxU64(&x195, &x196, 0x0, x168, x186);
...@@ -422,7 +421,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -422,7 +421,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
422 var x203: u64 = undefined;421 var x203: u64 = undefined;
423 var x204: u1 = undefined;422 var x204: u1 = undefined;
424 addcarryxU64(&x203, &x204, x202, x176, x194);423 addcarryxU64(&x203, &x204, x202, x176, x194);
425 const x205 = (cast(u64, x204) + cast(u64, x177));424 const x205 = (@as(u64, x204) + @as(u64, x177));
426 var x206: u64 = undefined;425 var x206: u64 = undefined;
427 var x207: u1 = undefined;426 var x207: u1 = undefined;
428 subborrowxU64(&x206, &x207, 0x0, x197, 0xf3b9cac2fc632551);427 subborrowxU64(&x206, &x207, 0x0, x197, 0xf3b9cac2fc632551);
...@@ -437,7 +436,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -437,7 +436,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
437 subborrowxU64(&x212, &x213, x211, x203, 0xffffffff00000000);436 subborrowxU64(&x212, &x213, x211, x203, 0xffffffff00000000);
438 var x214: u64 = undefined;437 var x214: u64 = undefined;
439 var x215: u1 = undefined;438 var x215: u1 = undefined;
440 subborrowxU64(&x214, &x215, x213, x205, cast(u64, 0x0));439 subborrowxU64(&x214, &x215, x213, x205, @as(u64, 0x0));
441 var x216: u64 = undefined;440 var x216: u64 = undefined;
442 cmovznzU64(&x216, x215, x206, x197);441 cmovznzU64(&x216, x215, x206, x197);
443 var x217: u64 = undefined;442 var x217: u64 = undefined;
...@@ -488,7 +487,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -488,7 +487,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
488 var x17: u64 = undefined;487 var x17: u64 = undefined;
489 var x18: u1 = undefined;488 var x18: u1 = undefined;
490 addcarryxU64(&x17, &x18, x16, x8, x5);489 addcarryxU64(&x17, &x18, x16, x8, x5);
491 const x19 = (cast(u64, x18) + x6);490 const x19 = (@as(u64, x18) + x6);
492 var x20: u64 = undefined;491 var x20: u64 = undefined;
493 var x21: u64 = undefined;492 var x21: u64 = undefined;
494 mulxU64(&x20, &x21, x11, 0xccd1c8aaee00bc4f);493 mulxU64(&x20, &x21, x11, 0xccd1c8aaee00bc4f);
...@@ -513,7 +512,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -513,7 +512,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
513 var x34: u64 = undefined;512 var x34: u64 = undefined;
514 var x35: u1 = undefined;513 var x35: u1 = undefined;
515 addcarryxU64(&x34, &x35, x33, x25, x22);514 addcarryxU64(&x34, &x35, x33, x25, x22);
516 const x36 = (cast(u64, x35) + x23);515 const x36 = (@as(u64, x35) + x23);
517 var x37: u64 = undefined;516 var x37: u64 = undefined;
518 var x38: u1 = undefined;517 var x38: u1 = undefined;
519 addcarryxU64(&x37, &x38, 0x0, x11, x28);518 addcarryxU64(&x37, &x38, 0x0, x11, x28);
...@@ -550,7 +549,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -550,7 +549,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
550 var x59: u64 = undefined;549 var x59: u64 = undefined;
551 var x60: u1 = undefined;550 var x60: u1 = undefined;
552 addcarryxU64(&x59, &x60, x58, x50, x47);551 addcarryxU64(&x59, &x60, x58, x50, x47);
553 const x61 = (cast(u64, x60) + x48);552 const x61 = (@as(u64, x60) + x48);
554 var x62: u64 = undefined;553 var x62: u64 = undefined;
555 var x63: u1 = undefined;554 var x63: u1 = undefined;
556 addcarryxU64(&x62, &x63, 0x0, x39, x53);555 addcarryxU64(&x62, &x63, 0x0, x39, x53);
...@@ -565,7 +564,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -565,7 +564,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
565 addcarryxU64(&x68, &x69, x67, x45, x59);564 addcarryxU64(&x68, &x69, x67, x45, x59);
566 var x70: u64 = undefined;565 var x70: u64 = undefined;
567 var x71: u1 = undefined;566 var x71: u1 = undefined;
568 addcarryxU64(&x70, &x71, x69, cast(u64, x46), x61);567 addcarryxU64(&x70, &x71, x69, @as(u64, x46), x61);
569 var x72: u64 = undefined;568 var x72: u64 = undefined;
570 var x73: u64 = undefined;569 var x73: u64 = undefined;
571 mulxU64(&x72, &x73, x62, 0xccd1c8aaee00bc4f);570 mulxU64(&x72, &x73, x62, 0xccd1c8aaee00bc4f);
...@@ -590,7 +589,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -590,7 +589,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
590 var x86: u64 = undefined;589 var x86: u64 = undefined;
591 var x87: u1 = undefined;590 var x87: u1 = undefined;
592 addcarryxU64(&x86, &x87, x85, x77, x74);591 addcarryxU64(&x86, &x87, x85, x77, x74);
593 const x88 = (cast(u64, x87) + x75);592 const x88 = (@as(u64, x87) + x75);
594 var x89: u64 = undefined;593 var x89: u64 = undefined;
595 var x90: u1 = undefined;594 var x90: u1 = undefined;
596 addcarryxU64(&x89, &x90, 0x0, x62, x80);595 addcarryxU64(&x89, &x90, 0x0, x62, x80);
...@@ -606,7 +605,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -606,7 +605,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
606 var x97: u64 = undefined;605 var x97: u64 = undefined;
607 var x98: u1 = undefined;606 var x98: u1 = undefined;
608 addcarryxU64(&x97, &x98, x96, x70, x88);607 addcarryxU64(&x97, &x98, x96, x70, x88);
609 const x99 = (cast(u64, x98) + cast(u64, x71));608 const x99 = (@as(u64, x98) + @as(u64, x71));
610 var x100: u64 = undefined;609 var x100: u64 = undefined;
611 var x101: u64 = undefined;610 var x101: u64 = undefined;
612 mulxU64(&x100, &x101, x2, (arg1[3]));611 mulxU64(&x100, &x101, x2, (arg1[3]));
...@@ -628,7 +627,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -628,7 +627,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
628 var x112: u64 = undefined;627 var x112: u64 = undefined;
629 var x113: u1 = undefined;628 var x113: u1 = undefined;
630 addcarryxU64(&x112, &x113, x111, x103, x100);629 addcarryxU64(&x112, &x113, x111, x103, x100);
631 const x114 = (cast(u64, x113) + x101);630 const x114 = (@as(u64, x113) + x101);
632 var x115: u64 = undefined;631 var x115: u64 = undefined;
633 var x116: u1 = undefined;632 var x116: u1 = undefined;
634 addcarryxU64(&x115, &x116, 0x0, x91, x106);633 addcarryxU64(&x115, &x116, 0x0, x91, x106);
...@@ -668,7 +667,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -668,7 +667,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
668 var x139: u64 = undefined;667 var x139: u64 = undefined;
669 var x140: u1 = undefined;668 var x140: u1 = undefined;
670 addcarryxU64(&x139, &x140, x138, x130, x127);669 addcarryxU64(&x139, &x140, x138, x130, x127);
671 const x141 = (cast(u64, x140) + x128);670 const x141 = (@as(u64, x140) + x128);
672 var x142: u64 = undefined;671 var x142: u64 = undefined;
673 var x143: u1 = undefined;672 var x143: u1 = undefined;
674 addcarryxU64(&x142, &x143, 0x0, x115, x133);673 addcarryxU64(&x142, &x143, 0x0, x115, x133);
...@@ -684,7 +683,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -684,7 +683,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
684 var x150: u64 = undefined;683 var x150: u64 = undefined;
685 var x151: u1 = undefined;684 var x151: u1 = undefined;
686 addcarryxU64(&x150, &x151, x149, x123, x141);685 addcarryxU64(&x150, &x151, x149, x123, x141);
687 const x152 = (cast(u64, x151) + cast(u64, x124));686 const x152 = (@as(u64, x151) + @as(u64, x124));
688 var x153: u64 = undefined;687 var x153: u64 = undefined;
689 var x154: u64 = undefined;688 var x154: u64 = undefined;
690 mulxU64(&x153, &x154, x3, (arg1[3]));689 mulxU64(&x153, &x154, x3, (arg1[3]));
...@@ -706,7 +705,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -706,7 +705,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
706 var x165: u64 = undefined;705 var x165: u64 = undefined;
707 var x166: u1 = undefined;706 var x166: u1 = undefined;
708 addcarryxU64(&x165, &x166, x164, x156, x153);707 addcarryxU64(&x165, &x166, x164, x156, x153);
709 const x167 = (cast(u64, x166) + x154);708 const x167 = (@as(u64, x166) + x154);
710 var x168: u64 = undefined;709 var x168: u64 = undefined;
711 var x169: u1 = undefined;710 var x169: u1 = undefined;
712 addcarryxU64(&x168, &x169, 0x0, x144, x159);711 addcarryxU64(&x168, &x169, 0x0, x144, x159);
...@@ -746,7 +745,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -746,7 +745,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
746 var x192: u64 = undefined;745 var x192: u64 = undefined;
747 var x193: u1 = undefined;746 var x193: u1 = undefined;
748 addcarryxU64(&x192, &x193, x191, x183, x180);747 addcarryxU64(&x192, &x193, x191, x183, x180);
749 const x194 = (cast(u64, x193) + x181);748 const x194 = (@as(u64, x193) + x181);
750 var x195: u64 = undefined;749 var x195: u64 = undefined;
751 var x196: u1 = undefined;750 var x196: u1 = undefined;
752 addcarryxU64(&x195, &x196, 0x0, x168, x186);751 addcarryxU64(&x195, &x196, 0x0, x168, x186);
...@@ -762,7 +761,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -762,7 +761,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
762 var x203: u64 = undefined;761 var x203: u64 = undefined;
763 var x204: u1 = undefined;762 var x204: u1 = undefined;
764 addcarryxU64(&x203, &x204, x202, x176, x194);763 addcarryxU64(&x203, &x204, x202, x176, x194);
765 const x205 = (cast(u64, x204) + cast(u64, x177));764 const x205 = (@as(u64, x204) + @as(u64, x177));
766 var x206: u64 = undefined;765 var x206: u64 = undefined;
767 var x207: u1 = undefined;766 var x207: u1 = undefined;
768 subborrowxU64(&x206, &x207, 0x0, x197, 0xf3b9cac2fc632551);767 subborrowxU64(&x206, &x207, 0x0, x197, 0xf3b9cac2fc632551);
...@@ -777,7 +776,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl...@@ -777,7 +776,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
777 subborrowxU64(&x212, &x213, x211, x203, 0xffffffff00000000);776 subborrowxU64(&x212, &x213, x211, x203, 0xffffffff00000000);
778 var x214: u64 = undefined;777 var x214: u64 = undefined;
779 var x215: u1 = undefined;778 var x215: u1 = undefined;
780 subborrowxU64(&x214, &x215, x213, x205, cast(u64, 0x0));779 subborrowxU64(&x214, &x215, x213, x205, @as(u64, 0x0));
781 var x216: u64 = undefined;780 var x216: u64 = undefined;
782 cmovznzU64(&x216, x215, x206, x197);781 cmovznzU64(&x216, x215, x206, x197);
783 var x217: u64 = undefined;782 var x217: u64 = undefined;
...@@ -830,7 +829,7 @@ pub fn add(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -830,7 +829,7 @@ pub fn add(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
830 subborrowxU64(&x15, &x16, x14, x7, 0xffffffff00000000);829 subborrowxU64(&x15, &x16, x14, x7, 0xffffffff00000000);
831 var x17: u64 = undefined;830 var x17: u64 = undefined;
832 var x18: u1 = undefined;831 var x18: u1 = undefined;
833 subborrowxU64(&x17, &x18, x16, cast(u64, x8), cast(u64, 0x0));832 subborrowxU64(&x17, &x18, x16, @as(u64, x8), @as(u64, 0x0));
834 var x19: u64 = undefined;833 var x19: u64 = undefined;
835 cmovznzU64(&x19, x18, x9, x1);834 cmovznzU64(&x19, x18, x9, x1);
836 var x20: u64 = undefined;835 var x20: u64 = undefined;
...@@ -870,7 +869,7 @@ pub fn sub(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -870,7 +869,7 @@ pub fn sub(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
870 var x8: u1 = undefined;869 var x8: u1 = undefined;
871 subborrowxU64(&x7, &x8, x6, (arg1[3]), (arg2[3]));870 subborrowxU64(&x7, &x8, x6, (arg1[3]), (arg2[3]));
872 var x9: u64 = undefined;871 var x9: u64 = undefined;
873 cmovznzU64(&x9, x8, cast(u64, 0x0), 0xffffffffffffffff);872 cmovznzU64(&x9, x8, @as(u64, 0x0), 0xffffffffffffffff);
874 var x10: u64 = undefined;873 var x10: u64 = undefined;
875 var x11: u1 = undefined;874 var x11: u1 = undefined;
876 addcarryxU64(&x10, &x11, 0x0, x1, (x9 & 0xf3b9cac2fc632551));875 addcarryxU64(&x10, &x11, 0x0, x1, (x9 & 0xf3b9cac2fc632551));
...@@ -902,18 +901,18 @@ pub fn opp(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme...@@ -902,18 +901,18 @@ pub fn opp(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
902901
903 var x1: u64 = undefined;902 var x1: u64 = undefined;
904 var x2: u1 = undefined;903 var x2: u1 = undefined;
905 subborrowxU64(&x1, &x2, 0x0, cast(u64, 0x0), (arg1[0]));904 subborrowxU64(&x1, &x2, 0x0, @as(u64, 0x0), (arg1[0]));
906 var x3: u64 = undefined;905 var x3: u64 = undefined;
907 var x4: u1 = undefined;906 var x4: u1 = undefined;
908 subborrowxU64(&x3, &x4, x2, cast(u64, 0x0), (arg1[1]));907 subborrowxU64(&x3, &x4, x2, @as(u64, 0x0), (arg1[1]));
909 var x5: u64 = undefined;908 var x5: u64 = undefined;
910 var x6: u1 = undefined;909 var x6: u1 = undefined;
911 subborrowxU64(&x5, &x6, x4, cast(u64, 0x0), (arg1[2]));910 subborrowxU64(&x5, &x6, x4, @as(u64, 0x0), (arg1[2]));
912 var x7: u64 = undefined;911 var x7: u64 = undefined;
913 var x8: u1 = undefined;912 var x8: u1 = undefined;
914 subborrowxU64(&x7, &x8, x6, cast(u64, 0x0), (arg1[3]));913 subborrowxU64(&x7, &x8, x6, @as(u64, 0x0), (arg1[3]));
915 var x9: u64 = undefined;914 var x9: u64 = undefined;
916 cmovznzU64(&x9, x8, cast(u64, 0x0), 0xffffffffffffffff);915 cmovznzU64(&x9, x8, @as(u64, 0x0), 0xffffffffffffffff);
917 var x10: u64 = undefined;916 var x10: u64 = undefined;
918 var x11: u1 = undefined;917 var x11: u1 = undefined;
919 addcarryxU64(&x10, &x11, 0x0, x1, (x9 & 0xf3b9cac2fc632551));918 addcarryxU64(&x10, &x11, 0x0, x1, (x9 & 0xf3b9cac2fc632551));
...@@ -973,22 +972,22 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo...@@ -973,22 +972,22 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo
973 addcarryxU64(&x18, &x19, 0x0, x1, x10);972 addcarryxU64(&x18, &x19, 0x0, x1, x10);
974 var x20: u64 = undefined;973 var x20: u64 = undefined;
975 var x21: u1 = undefined;974 var x21: u1 = undefined;
976 addcarryxU64(&x20, &x21, x19, cast(u64, 0x0), x12);975 addcarryxU64(&x20, &x21, x19, @as(u64, 0x0), x12);
977 var x22: u64 = undefined;976 var x22: u64 = undefined;
978 var x23: u1 = undefined;977 var x23: u1 = undefined;
979 addcarryxU64(&x22, &x23, x21, cast(u64, 0x0), x14);978 addcarryxU64(&x22, &x23, x21, @as(u64, 0x0), x14);
980 var x24: u64 = undefined;979 var x24: u64 = undefined;
981 var x25: u1 = undefined;980 var x25: u1 = undefined;
982 addcarryxU64(&x24, &x25, x23, cast(u64, 0x0), x16);981 addcarryxU64(&x24, &x25, x23, @as(u64, 0x0), x16);
983 var x26: u64 = undefined;982 var x26: u64 = undefined;
984 var x27: u1 = undefined;983 var x27: u1 = undefined;
985 addcarryxU64(&x26, &x27, 0x0, x20, (arg1[1]));984 addcarryxU64(&x26, &x27, 0x0, x20, (arg1[1]));
986 var x28: u64 = undefined;985 var x28: u64 = undefined;
987 var x29: u1 = undefined;986 var x29: u1 = undefined;
988 addcarryxU64(&x28, &x29, x27, x22, cast(u64, 0x0));987 addcarryxU64(&x28, &x29, x27, x22, @as(u64, 0x0));
989 var x30: u64 = undefined;988 var x30: u64 = undefined;
990 var x31: u1 = undefined;989 var x31: u1 = undefined;
991 addcarryxU64(&x30, &x31, x29, x24, cast(u64, 0x0));990 addcarryxU64(&x30, &x31, x29, x24, @as(u64, 0x0));
992 var x32: u64 = undefined;991 var x32: u64 = undefined;
993 var x33: u64 = undefined;992 var x33: u64 = undefined;
994 mulxU64(&x32, &x33, x26, 0xccd1c8aaee00bc4f);993 mulxU64(&x32, &x33, x26, 0xccd1c8aaee00bc4f);
...@@ -1024,16 +1023,16 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo...@@ -1024,16 +1023,16 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo
1024 addcarryxU64(&x52, &x53, x51, x30, x44);1023 addcarryxU64(&x52, &x53, x51, x30, x44);
1025 var x54: u64 = undefined;1024 var x54: u64 = undefined;
1026 var x55: u1 = undefined;1025 var x55: u1 = undefined;
1027 addcarryxU64(&x54, &x55, x53, (cast(u64, x31) + (cast(u64, x25) + (cast(u64, x17) + x5))), x46);1026 addcarryxU64(&x54, &x55, x53, (@as(u64, x31) + (@as(u64, x25) + (@as(u64, x17) + x5))), x46);
1028 var x56: u64 = undefined;1027 var x56: u64 = undefined;
1029 var x57: u1 = undefined;1028 var x57: u1 = undefined;
1030 addcarryxU64(&x56, &x57, 0x0, x50, (arg1[2]));1029 addcarryxU64(&x56, &x57, 0x0, x50, (arg1[2]));
1031 var x58: u64 = undefined;1030 var x58: u64 = undefined;
1032 var x59: u1 = undefined;1031 var x59: u1 = undefined;
1033 addcarryxU64(&x58, &x59, x57, x52, cast(u64, 0x0));1032 addcarryxU64(&x58, &x59, x57, x52, @as(u64, 0x0));
1034 var x60: u64 = undefined;1033 var x60: u64 = undefined;
1035 var x61: u1 = undefined;1034 var x61: u1 = undefined;
1036 addcarryxU64(&x60, &x61, x59, x54, cast(u64, 0x0));1035 addcarryxU64(&x60, &x61, x59, x54, @as(u64, 0x0));
1037 var x62: u64 = undefined;1036 var x62: u64 = undefined;
1038 var x63: u64 = undefined;1037 var x63: u64 = undefined;
1039 mulxU64(&x62, &x63, x56, 0xccd1c8aaee00bc4f);1038 mulxU64(&x62, &x63, x56, 0xccd1c8aaee00bc4f);
...@@ -1069,16 +1068,16 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo...@@ -1069,16 +1068,16 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo
1069 addcarryxU64(&x82, &x83, x81, x60, x74);1068 addcarryxU64(&x82, &x83, x81, x60, x74);
1070 var x84: u64 = undefined;1069 var x84: u64 = undefined;
1071 var x85: u1 = undefined;1070 var x85: u1 = undefined;
1072 addcarryxU64(&x84, &x85, x83, (cast(u64, x61) + (cast(u64, x55) + (cast(u64, x47) + x35))), x76);1071 addcarryxU64(&x84, &x85, x83, (@as(u64, x61) + (@as(u64, x55) + (@as(u64, x47) + x35))), x76);
1073 var x86: u64 = undefined;1072 var x86: u64 = undefined;
1074 var x87: u1 = undefined;1073 var x87: u1 = undefined;
1075 addcarryxU64(&x86, &x87, 0x0, x80, (arg1[3]));1074 addcarryxU64(&x86, &x87, 0x0, x80, (arg1[3]));
1076 var x88: u64 = undefined;1075 var x88: u64 = undefined;
1077 var x89: u1 = undefined;1076 var x89: u1 = undefined;
1078 addcarryxU64(&x88, &x89, x87, x82, cast(u64, 0x0));1077 addcarryxU64(&x88, &x89, x87, x82, @as(u64, 0x0));
1079 var x90: u64 = undefined;1078 var x90: u64 = undefined;
1080 var x91: u1 = undefined;1079 var x91: u1 = undefined;
1081 addcarryxU64(&x90, &x91, x89, x84, cast(u64, 0x0));1080 addcarryxU64(&x90, &x91, x89, x84, @as(u64, 0x0));
1082 var x92: u64 = undefined;1081 var x92: u64 = undefined;
1083 var x93: u64 = undefined;1082 var x93: u64 = undefined;
1084 mulxU64(&x92, &x93, x86, 0xccd1c8aaee00bc4f);1083 mulxU64(&x92, &x93, x86, 0xccd1c8aaee00bc4f);
...@@ -1114,8 +1113,8 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo...@@ -1114,8 +1113,8 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo
1114 addcarryxU64(&x112, &x113, x111, x90, x104);1113 addcarryxU64(&x112, &x113, x111, x90, x104);
1115 var x114: u64 = undefined;1114 var x114: u64 = undefined;
1116 var x115: u1 = undefined;1115 var x115: u1 = undefined;
1117 addcarryxU64(&x114, &x115, x113, (cast(u64, x91) + (cast(u64, x85) + (cast(u64, x77) + x65))), x106);1116 addcarryxU64(&x114, &x115, x113, (@as(u64, x91) + (@as(u64, x85) + (@as(u64, x77) + x65))), x106);
1118 const x116 = (cast(u64, x115) + (cast(u64, x107) + x95));1117 const x116 = (@as(u64, x115) + (@as(u64, x107) + x95));
1119 var x117: u64 = undefined;1118 var x117: u64 = undefined;
1120 var x118: u1 = undefined;1119 var x118: u1 = undefined;
1121 subborrowxU64(&x117, &x118, 0x0, x110, 0xf3b9cac2fc632551);1120 subborrowxU64(&x117, &x118, 0x0, x110, 0xf3b9cac2fc632551);
...@@ -1130,7 +1129,7 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo...@@ -1130,7 +1129,7 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo
1130 subborrowxU64(&x123, &x124, x122, x116, 0xffffffff00000000);1129 subborrowxU64(&x123, &x124, x122, x116, 0xffffffff00000000);
1131 var x125: u64 = undefined;1130 var x125: u64 = undefined;
1132 var x126: u1 = undefined;1131 var x126: u1 = undefined;
1133 subborrowxU64(&x125, &x126, x124, cast(u64, 0x0), cast(u64, 0x0));1132 subborrowxU64(&x125, &x126, x124, @as(u64, 0x0), @as(u64, 0x0));
1134 var x127: u64 = undefined;1133 var x127: u64 = undefined;
1135 cmovznzU64(&x127, x126, x117, x110);1134 cmovznzU64(&x127, x126, x117, x110);
1136 var x128: u64 = undefined;1135 var x128: u64 = undefined;
...@@ -1219,7 +1218,7 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma...@@ -1219,7 +1218,7 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma
1219 addcarryxU64(&x41, &x42, x40, x17, x33);1218 addcarryxU64(&x41, &x42, x40, x17, x33);
1220 var x43: u64 = undefined;1219 var x43: u64 = undefined;
1221 var x44: u1 = undefined;1220 var x44: u1 = undefined;
1222 addcarryxU64(&x43, &x44, x42, (cast(u64, x18) + x6), (cast(u64, x34) + x22));1221 addcarryxU64(&x43, &x44, x42, (@as(u64, x18) + x6), (@as(u64, x34) + x22));
1223 var x45: u64 = undefined;1222 var x45: u64 = undefined;
1224 var x46: u64 = undefined;1223 var x46: u64 = undefined;
1225 mulxU64(&x45, &x46, x1, 0x66e12d94f3d95620);1224 mulxU64(&x45, &x46, x1, 0x66e12d94f3d95620);
...@@ -1291,7 +1290,7 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma...@@ -1291,7 +1290,7 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma
1291 addcarryxU64(&x89, &x90, x88, x65, x81);1290 addcarryxU64(&x89, &x90, x88, x65, x81);
1292 var x91: u64 = undefined;1291 var x91: u64 = undefined;
1293 var x92: u1 = undefined;1292 var x92: u1 = undefined;
1294 addcarryxU64(&x91, &x92, x90, ((cast(u64, x66) + cast(u64, x44)) + (cast(u64, x58) + x46)), (cast(u64, x82) + x70));1293 addcarryxU64(&x91, &x92, x90, ((@as(u64, x66) + @as(u64, x44)) + (@as(u64, x58) + x46)), (@as(u64, x82) + x70));
1295 var x93: u64 = undefined;1294 var x93: u64 = undefined;
1296 var x94: u64 = undefined;1295 var x94: u64 = undefined;
1297 mulxU64(&x93, &x94, x2, 0x66e12d94f3d95620);1296 mulxU64(&x93, &x94, x2, 0x66e12d94f3d95620);
...@@ -1363,7 +1362,7 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma...@@ -1363,7 +1362,7 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma
1363 addcarryxU64(&x137, &x138, x136, x113, x129);1362 addcarryxU64(&x137, &x138, x136, x113, x129);
1364 var x139: u64 = undefined;1363 var x139: u64 = undefined;
1365 var x140: u1 = undefined;1364 var x140: u1 = undefined;
1366 addcarryxU64(&x139, &x140, x138, ((cast(u64, x114) + cast(u64, x92)) + (cast(u64, x106) + x94)), (cast(u64, x130) + x118));1365 addcarryxU64(&x139, &x140, x138, ((@as(u64, x114) + @as(u64, x92)) + (@as(u64, x106) + x94)), (@as(u64, x130) + x118));
1367 var x141: u64 = undefined;1366 var x141: u64 = undefined;
1368 var x142: u64 = undefined;1367 var x142: u64 = undefined;
1369 mulxU64(&x141, &x142, x3, 0x66e12d94f3d95620);1368 mulxU64(&x141, &x142, x3, 0x66e12d94f3d95620);
...@@ -1435,7 +1434,7 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma...@@ -1435,7 +1434,7 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma
1435 addcarryxU64(&x185, &x186, x184, x161, x177);1434 addcarryxU64(&x185, &x186, x184, x161, x177);
1436 var x187: u64 = undefined;1435 var x187: u64 = undefined;
1437 var x188: u1 = undefined;1436 var x188: u1 = undefined;
1438 addcarryxU64(&x187, &x188, x186, ((cast(u64, x162) + cast(u64, x140)) + (cast(u64, x154) + x142)), (cast(u64, x178) + x166));1437 addcarryxU64(&x187, &x188, x186, ((@as(u64, x162) + @as(u64, x140)) + (@as(u64, x154) + x142)), (@as(u64, x178) + x166));
1439 var x189: u64 = undefined;1438 var x189: u64 = undefined;
1440 var x190: u1 = undefined;1439 var x190: u1 = undefined;
1441 subborrowxU64(&x189, &x190, 0x0, x181, 0xf3b9cac2fc632551);1440 subborrowxU64(&x189, &x190, 0x0, x181, 0xf3b9cac2fc632551);
...@@ -1450,7 +1449,7 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma...@@ -1450,7 +1449,7 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma
1450 subborrowxU64(&x195, &x196, x194, x187, 0xffffffff00000000);1449 subborrowxU64(&x195, &x196, x194, x187, 0xffffffff00000000);
1451 var x197: u64 = undefined;1450 var x197: u64 = undefined;
1452 var x198: u1 = undefined;1451 var x198: u1 = undefined;
1453 subborrowxU64(&x197, &x198, x196, cast(u64, x188), cast(u64, 0x0));1452 subborrowxU64(&x197, &x198, x196, @as(u64, x188), @as(u64, 0x0));
1454 var x199: u64 = undefined;1453 var x199: u64 = undefined;
1455 cmovznzU64(&x199, x198, x189, x181);1454 cmovznzU64(&x199, x198, x189, x181);
1456 var x200: u64 = undefined;1455 var x200: u64 = undefined;
...@@ -1529,62 +1528,62 @@ pub fn toBytes(out1: *[32]u8, arg1: [4]u64) void {...@@ -1529,62 +1528,62 @@ pub fn toBytes(out1: *[32]u8, arg1: [4]u64) void {
1529 const x2 = (arg1[2]);1528 const x2 = (arg1[2]);
1530 const x3 = (arg1[1]);1529 const x3 = (arg1[1]);
1531 const x4 = (arg1[0]);1530 const x4 = (arg1[0]);
1532 const x5 = cast(u8, (x4 & cast(u64, 0xff)));1531 const x5 = @truncate(u8, (x4 & @as(u64, 0xff)));
1533 const x6 = (x4 >> 8);1532 const x6 = (x4 >> 8);
1534 const x7 = cast(u8, (x6 & cast(u64, 0xff)));1533 const x7 = @truncate(u8, (x6 & @as(u64, 0xff)));
1535 const x8 = (x6 >> 8);1534 const x8 = (x6 >> 8);
1536 const x9 = cast(u8, (x8 & cast(u64, 0xff)));1535 const x9 = @truncate(u8, (x8 & @as(u64, 0xff)));
1537 const x10 = (x8 >> 8);1536 const x10 = (x8 >> 8);
1538 const x11 = cast(u8, (x10 & cast(u64, 0xff)));1537 const x11 = @truncate(u8, (x10 & @as(u64, 0xff)));
1539 const x12 = (x10 >> 8);1538 const x12 = (x10 >> 8);
1540 const x13 = cast(u8, (x12 & cast(u64, 0xff)));1539 const x13 = @truncate(u8, (x12 & @as(u64, 0xff)));
1541 const x14 = (x12 >> 8);1540 const x14 = (x12 >> 8);
1542 const x15 = cast(u8, (x14 & cast(u64, 0xff)));1541 const x15 = @truncate(u8, (x14 & @as(u64, 0xff)));
1543 const x16 = (x14 >> 8);1542 const x16 = (x14 >> 8);
1544 const x17 = cast(u8, (x16 & cast(u64, 0xff)));1543 const x17 = @truncate(u8, (x16 & @as(u64, 0xff)));
1545 const x18 = cast(u8, (x16 >> 8));1544 const x18 = @truncate(u8, (x16 >> 8));
1546 const x19 = cast(u8, (x3 & cast(u64, 0xff)));1545 const x19 = @truncate(u8, (x3 & @as(u64, 0xff)));
1547 const x20 = (x3 >> 8);1546 const x20 = (x3 >> 8);
1548 const x21 = cast(u8, (x20 & cast(u64, 0xff)));1547 const x21 = @truncate(u8, (x20 & @as(u64, 0xff)));
1549 const x22 = (x20 >> 8);1548 const x22 = (x20 >> 8);
1550 const x23 = cast(u8, (x22 & cast(u64, 0xff)));1549 const x23 = @truncate(u8, (x22 & @as(u64, 0xff)));
1551 const x24 = (x22 >> 8);1550 const x24 = (x22 >> 8);
1552 const x25 = cast(u8, (x24 & cast(u64, 0xff)));1551 const x25 = @truncate(u8, (x24 & @as(u64, 0xff)));
1553 const x26 = (x24 >> 8);1552 const x26 = (x24 >> 8);
1554 const x27 = cast(u8, (x26 & cast(u64, 0xff)));1553 const x27 = @truncate(u8, (x26 & @as(u64, 0xff)));
1555 const x28 = (x26 >> 8);1554 const x28 = (x26 >> 8);
1556 const x29 = cast(u8, (x28 & cast(u64, 0xff)));1555 const x29 = @truncate(u8, (x28 & @as(u64, 0xff)));
1557 const x30 = (x28 >> 8);1556 const x30 = (x28 >> 8);
1558 const x31 = cast(u8, (x30 & cast(u64, 0xff)));1557 const x31 = @truncate(u8, (x30 & @as(u64, 0xff)));
1559 const x32 = cast(u8, (x30 >> 8));1558 const x32 = @truncate(u8, (x30 >> 8));
1560 const x33 = cast(u8, (x2 & cast(u64, 0xff)));1559 const x33 = @truncate(u8, (x2 & @as(u64, 0xff)));
1561 const x34 = (x2 >> 8);1560 const x34 = (x2 >> 8);
1562 const x35 = cast(u8, (x34 & cast(u64, 0xff)));1561 const x35 = @truncate(u8, (x34 & @as(u64, 0xff)));
1563 const x36 = (x34 >> 8);1562 const x36 = (x34 >> 8);
1564 const x37 = cast(u8, (x36 & cast(u64, 0xff)));1563 const x37 = @truncate(u8, (x36 & @as(u64, 0xff)));
1565 const x38 = (x36 >> 8);1564 const x38 = (x36 >> 8);
1566 const x39 = cast(u8, (x38 & cast(u64, 0xff)));1565 const x39 = @truncate(u8, (x38 & @as(u64, 0xff)));
1567 const x40 = (x38 >> 8);1566 const x40 = (x38 >> 8);
1568 const x41 = cast(u8, (x40 & cast(u64, 0xff)));1567 const x41 = @truncate(u8, (x40 & @as(u64, 0xff)));
1569 const x42 = (x40 >> 8);1568 const x42 = (x40 >> 8);
1570 const x43 = cast(u8, (x42 & cast(u64, 0xff)));1569 const x43 = @truncate(u8, (x42 & @as(u64, 0xff)));
1571 const x44 = (x42 >> 8);1570 const x44 = (x42 >> 8);
1572 const x45 = cast(u8, (x44 & cast(u64, 0xff)));1571 const x45 = @truncate(u8, (x44 & @as(u64, 0xff)));
1573 const x46 = cast(u8, (x44 >> 8));1572 const x46 = @truncate(u8, (x44 >> 8));
1574 const x47 = cast(u8, (x1 & cast(u64, 0xff)));1573 const x47 = @truncate(u8, (x1 & @as(u64, 0xff)));
1575 const x48 = (x1 >> 8);1574 const x48 = (x1 >> 8);
1576 const x49 = cast(u8, (x48 & cast(u64, 0xff)));1575 const x49 = @truncate(u8, (x48 & @as(u64, 0xff)));
1577 const x50 = (x48 >> 8);1576 const x50 = (x48 >> 8);
1578 const x51 = cast(u8, (x50 & cast(u64, 0xff)));1577 const x51 = @truncate(u8, (x50 & @as(u64, 0xff)));
1579 const x52 = (x50 >> 8);1578 const x52 = (x50 >> 8);
1580 const x53 = cast(u8, (x52 & cast(u64, 0xff)));1579 const x53 = @truncate(u8, (x52 & @as(u64, 0xff)));
1581 const x54 = (x52 >> 8);1580 const x54 = (x52 >> 8);
1582 const x55 = cast(u8, (x54 & cast(u64, 0xff)));1581 const x55 = @truncate(u8, (x54 & @as(u64, 0xff)));
1583 const x56 = (x54 >> 8);1582 const x56 = (x54 >> 8);
1584 const x57 = cast(u8, (x56 & cast(u64, 0xff)));1583 const x57 = @truncate(u8, (x56 & @as(u64, 0xff)));
1585 const x58 = (x56 >> 8);1584 const x58 = (x56 >> 8);
1586 const x59 = cast(u8, (x58 & cast(u64, 0xff)));1585 const x59 = @truncate(u8, (x58 & @as(u64, 0xff)));
1587 const x60 = cast(u8, (x58 >> 8));1586 const x60 = @truncate(u8, (x58 >> 8));
1588 out1[0] = x5;1587 out1[0] = x5;
1589 out1[1] = x7;1588 out1[1] = x7;
1590 out1[2] = x9;1589 out1[2] = x9;
...@@ -1634,60 +1633,60 @@ pub fn toBytes(out1: *[32]u8, arg1: [4]u64) void {...@@ -1634,60 +1633,60 @@ pub fn toBytes(out1: *[32]u8, arg1: [4]u64) void {
1634pub fn fromBytes(out1: *[4]u64, arg1: [32]u8) void {1633pub fn fromBytes(out1: *[4]u64, arg1: [32]u8) void {
1635 @setRuntimeSafety(mode == .Debug);1634 @setRuntimeSafety(mode == .Debug);
16361635
1637 const x1 = (cast(u64, (arg1[31])) << 56);1636 const x1 = (@as(u64, (arg1[31])) << 56);
1638 const x2 = (cast(u64, (arg1[30])) << 48);1637 const x2 = (@as(u64, (arg1[30])) << 48);
1639 const x3 = (cast(u64, (arg1[29])) << 40);1638 const x3 = (@as(u64, (arg1[29])) << 40);
1640 const x4 = (cast(u64, (arg1[28])) << 32);1639 const x4 = (@as(u64, (arg1[28])) << 32);
1641 const x5 = (cast(u64, (arg1[27])) << 24);1640 const x5 = (@as(u64, (arg1[27])) << 24);
1642 const x6 = (cast(u64, (arg1[26])) << 16);1641 const x6 = (@as(u64, (arg1[26])) << 16);
1643 const x7 = (cast(u64, (arg1[25])) << 8);1642 const x7 = (@as(u64, (arg1[25])) << 8);
1644 const x8 = (arg1[24]);1643 const x8 = (arg1[24]);
1645 const x9 = (cast(u64, (arg1[23])) << 56);1644 const x9 = (@as(u64, (arg1[23])) << 56);
1646 const x10 = (cast(u64, (arg1[22])) << 48);1645 const x10 = (@as(u64, (arg1[22])) << 48);
1647 const x11 = (cast(u64, (arg1[21])) << 40);1646 const x11 = (@as(u64, (arg1[21])) << 40);
1648 const x12 = (cast(u64, (arg1[20])) << 32);1647 const x12 = (@as(u64, (arg1[20])) << 32);
1649 const x13 = (cast(u64, (arg1[19])) << 24);1648 const x13 = (@as(u64, (arg1[19])) << 24);
1650 const x14 = (cast(u64, (arg1[18])) << 16);1649 const x14 = (@as(u64, (arg1[18])) << 16);
1651 const x15 = (cast(u64, (arg1[17])) << 8);1650 const x15 = (@as(u64, (arg1[17])) << 8);
1652 const x16 = (arg1[16]);1651 const x16 = (arg1[16]);
1653 const x17 = (cast(u64, (arg1[15])) << 56);1652 const x17 = (@as(u64, (arg1[15])) << 56);
1654 const x18 = (cast(u64, (arg1[14])) << 48);1653 const x18 = (@as(u64, (arg1[14])) << 48);
1655 const x19 = (cast(u64, (arg1[13])) << 40);1654 const x19 = (@as(u64, (arg1[13])) << 40);
1656 const x20 = (cast(u64, (arg1[12])) << 32);1655 const x20 = (@as(u64, (arg1[12])) << 32);
1657 const x21 = (cast(u64, (arg1[11])) << 24);1656 const x21 = (@as(u64, (arg1[11])) << 24);
1658 const x22 = (cast(u64, (arg1[10])) << 16);1657 const x22 = (@as(u64, (arg1[10])) << 16);
1659 const x23 = (cast(u64, (arg1[9])) << 8);1658 const x23 = (@as(u64, (arg1[9])) << 8);
1660 const x24 = (arg1[8]);1659 const x24 = (arg1[8]);
1661 const x25 = (cast(u64, (arg1[7])) << 56);1660 const x25 = (@as(u64, (arg1[7])) << 56);
1662 const x26 = (cast(u64, (arg1[6])) << 48);1661 const x26 = (@as(u64, (arg1[6])) << 48);
1663 const x27 = (cast(u64, (arg1[5])) << 40);1662 const x27 = (@as(u64, (arg1[5])) << 40);
1664 const x28 = (cast(u64, (arg1[4])) << 32);1663 const x28 = (@as(u64, (arg1[4])) << 32);
1665 const x29 = (cast(u64, (arg1[3])) << 24);1664 const x29 = (@as(u64, (arg1[3])) << 24);
1666 const x30 = (cast(u64, (arg1[2])) << 16);1665 const x30 = (@as(u64, (arg1[2])) << 16);
1667 const x31 = (cast(u64, (arg1[1])) << 8);1666 const x31 = (@as(u64, (arg1[1])) << 8);
1668 const x32 = (arg1[0]);1667 const x32 = (arg1[0]);
1669 const x33 = (x31 + cast(u64, x32));1668 const x33 = (x31 + @as(u64, x32));
1670 const x34 = (x30 + x33);1669 const x34 = (x30 + x33);
1671 const x35 = (x29 + x34);1670 const x35 = (x29 + x34);
1672 const x36 = (x28 + x35);1671 const x36 = (x28 + x35);
1673 const x37 = (x27 + x36);1672 const x37 = (x27 + x36);
1674 const x38 = (x26 + x37);1673 const x38 = (x26 + x37);
1675 const x39 = (x25 + x38);1674 const x39 = (x25 + x38);
1676 const x40 = (x23 + cast(u64, x24));1675 const x40 = (x23 + @as(u64, x24));
1677 const x41 = (x22 + x40);1676 const x41 = (x22 + x40);
1678 const x42 = (x21 + x41);1677 const x42 = (x21 + x41);
1679 const x43 = (x20 + x42);1678 const x43 = (x20 + x42);
1680 const x44 = (x19 + x43);1679 const x44 = (x19 + x43);
1681 const x45 = (x18 + x44);1680 const x45 = (x18 + x44);
1682 const x46 = (x17 + x45);1681 const x46 = (x17 + x45);
1683 const x47 = (x15 + cast(u64, x16));1682 const x47 = (x15 + @as(u64, x16));
1684 const x48 = (x14 + x47);1683 const x48 = (x14 + x47);
1685 const x49 = (x13 + x48);1684 const x49 = (x13 + x48);
1686 const x50 = (x12 + x49);1685 const x50 = (x12 + x49);
1687 const x51 = (x11 + x50);1686 const x51 = (x11 + x50);
1688 const x52 = (x10 + x51);1687 const x52 = (x10 + x51);
1689 const x53 = (x9 + x52);1688 const x53 = (x9 + x52);
1690 const x54 = (x7 + cast(u64, x8));1689 const x54 = (x7 + @as(u64, x8));
1691 const x55 = (x6 + x54);1690 const x55 = (x6 + x54);
1692 const x56 = (x5 + x55);1691 const x56 = (x5 + x55);
1693 const x57 = (x4 + x56);1692 const x57 = (x4 + x56);
...@@ -1711,7 +1710,7 @@ pub fn setOne(out1: *MontgomeryDomainFieldElement) void {...@@ -1711,7 +1710,7 @@ pub fn setOne(out1: *MontgomeryDomainFieldElement) void {
17111710
1712 out1[0] = 0xc46353d039cdaaf;1711 out1[0] = 0xc46353d039cdaaf;
1713 out1[1] = 0x4319055258e8617b;1712 out1[1] = 0x4319055258e8617b;
1714 out1[2] = cast(u64, 0x0);1713 out1[2] = @as(u64, 0x0);
1715 out1[3] = 0xffffffff;1714 out1[3] = 0xffffffff;
1716}1715}
17171716
...@@ -1730,7 +1729,7 @@ pub fn msat(out1: *[5]u64) void {...@@ -1730,7 +1729,7 @@ pub fn msat(out1: *[5]u64) void {
1730 out1[1] = 0xbce6faada7179e84;1729 out1[1] = 0xbce6faada7179e84;
1731 out1[2] = 0xffffffffffffffff;1730 out1[2] = 0xffffffffffffffff;
1732 out1[3] = 0xffffffff00000000;1731 out1[3] = 0xffffffff00000000;
1733 out1[4] = cast(u64, 0x0);1732 out1[4] = @as(u64, 0x0);
1734}1733}
17351734
1736/// The function divstep computes a divstep.1735/// The function divstep computes a divstep.
...@@ -1766,11 +1765,11 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[...@@ -1766,11 +1765,11 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[
17661765
1767 var x1: u64 = undefined;1766 var x1: u64 = undefined;
1768 var x2: u1 = undefined;1767 var x2: u1 = undefined;
1769 addcarryxU64(&x1, &x2, 0x0, (~arg1), cast(u64, 0x1));1768 addcarryxU64(&x1, &x2, 0x0, (~arg1), @as(u64, 0x1));
1770 const x3 = (cast(u1, (x1 >> 63)) & cast(u1, ((arg3[0]) & cast(u64, 0x1))));1769 const x3 = (@as(u1, (x1 >> 63)) & @as(u1, ((arg3[0]) & @as(u64, 0x1))));
1771 var x4: u64 = undefined;1770 var x4: u64 = undefined;
1772 var x5: u1 = undefined;1771 var x5: u1 = undefined;
1773 addcarryxU64(&x4, &x5, 0x0, (~arg1), cast(u64, 0x1));1772 addcarryxU64(&x4, &x5, 0x0, (~arg1), @as(u64, 0x1));
1774 var x6: u64 = undefined;1773 var x6: u64 = undefined;
1775 cmovznzU64(&x6, x3, arg1, x4);1774 cmovznzU64(&x6, x3, arg1, x4);
1776 var x7: u64 = undefined;1775 var x7: u64 = undefined;
...@@ -1785,19 +1784,19 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[...@@ -1785,19 +1784,19 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[
1785 cmovznzU64(&x11, x3, (arg2[4]), (arg3[4]));1784 cmovznzU64(&x11, x3, (arg2[4]), (arg3[4]));
1786 var x12: u64 = undefined;1785 var x12: u64 = undefined;
1787 var x13: u1 = undefined;1786 var x13: u1 = undefined;
1788 addcarryxU64(&x12, &x13, 0x0, cast(u64, 0x1), (~(arg2[0])));1787 addcarryxU64(&x12, &x13, 0x0, @as(u64, 0x1), (~(arg2[0])));
1789 var x14: u64 = undefined;1788 var x14: u64 = undefined;
1790 var x15: u1 = undefined;1789 var x15: u1 = undefined;
1791 addcarryxU64(&x14, &x15, x13, cast(u64, 0x0), (~(arg2[1])));1790 addcarryxU64(&x14, &x15, x13, @as(u64, 0x0), (~(arg2[1])));
1792 var x16: u64 = undefined;1791 var x16: u64 = undefined;
1793 var x17: u1 = undefined;1792 var x17: u1 = undefined;
1794 addcarryxU64(&x16, &x17, x15, cast(u64, 0x0), (~(arg2[2])));1793 addcarryxU64(&x16, &x17, x15, @as(u64, 0x0), (~(arg2[2])));
1795 var x18: u64 = undefined;1794 var x18: u64 = undefined;
1796 var x19: u1 = undefined;1795 var x19: u1 = undefined;
1797 addcarryxU64(&x18, &x19, x17, cast(u64, 0x0), (~(arg2[3])));1796 addcarryxU64(&x18, &x19, x17, @as(u64, 0x0), (~(arg2[3])));
1798 var x20: u64 = undefined;1797 var x20: u64 = undefined;
1799 var x21: u1 = undefined;1798 var x21: u1 = undefined;
1800 addcarryxU64(&x20, &x21, x19, cast(u64, 0x0), (~(arg2[4])));1799 addcarryxU64(&x20, &x21, x19, @as(u64, 0x0), (~(arg2[4])));
1801 var x22: u64 = undefined;1800 var x22: u64 = undefined;
1802 cmovznzU64(&x22, x3, (arg3[0]), x12);1801 cmovznzU64(&x22, x3, (arg3[0]), x12);
1803 var x23: u64 = undefined;1802 var x23: u64 = undefined;
...@@ -1842,25 +1841,25 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[...@@ -1842,25 +1841,25 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[
1842 subborrowxU64(&x45, &x46, x44, x37, 0xffffffff00000000);1841 subborrowxU64(&x45, &x46, x44, x37, 0xffffffff00000000);
1843 var x47: u64 = undefined;1842 var x47: u64 = undefined;
1844 var x48: u1 = undefined;1843 var x48: u1 = undefined;
1845 subborrowxU64(&x47, &x48, x46, cast(u64, x38), cast(u64, 0x0));1844 subborrowxU64(&x47, &x48, x46, @as(u64, x38), @as(u64, 0x0));
1846 const x49 = (arg4[3]);1845 const x49 = (arg4[3]);
1847 const x50 = (arg4[2]);1846 const x50 = (arg4[2]);
1848 const x51 = (arg4[1]);1847 const x51 = (arg4[1]);
1849 const x52 = (arg4[0]);1848 const x52 = (arg4[0]);
1850 var x53: u64 = undefined;1849 var x53: u64 = undefined;
1851 var x54: u1 = undefined;1850 var x54: u1 = undefined;
1852 subborrowxU64(&x53, &x54, 0x0, cast(u64, 0x0), x52);1851 subborrowxU64(&x53, &x54, 0x0, @as(u64, 0x0), x52);
1853 var x55: u64 = undefined;1852 var x55: u64 = undefined;
1854 var x56: u1 = undefined;1853 var x56: u1 = undefined;
1855 subborrowxU64(&x55, &x56, x54, cast(u64, 0x0), x51);1854 subborrowxU64(&x55, &x56, x54, @as(u64, 0x0), x51);
1856 var x57: u64 = undefined;1855 var x57: u64 = undefined;
1857 var x58: u1 = undefined;1856 var x58: u1 = undefined;
1858 subborrowxU64(&x57, &x58, x56, cast(u64, 0x0), x50);1857 subborrowxU64(&x57, &x58, x56, @as(u64, 0x0), x50);
1859 var x59: u64 = undefined;1858 var x59: u64 = undefined;
1860 var x60: u1 = undefined;1859 var x60: u1 = undefined;
1861 subborrowxU64(&x59, &x60, x58, cast(u64, 0x0), x49);1860 subborrowxU64(&x59, &x60, x58, @as(u64, 0x0), x49);
1862 var x61: u64 = undefined;1861 var x61: u64 = undefined;
1863 cmovznzU64(&x61, x60, cast(u64, 0x0), 0xffffffffffffffff);1862 cmovznzU64(&x61, x60, @as(u64, 0x0), 0xffffffffffffffff);
1864 var x62: u64 = undefined;1863 var x62: u64 = undefined;
1865 var x63: u1 = undefined;1864 var x63: u1 = undefined;
1866 addcarryxU64(&x62, &x63, 0x0, x53, (x61 & 0xf3b9cac2fc632551));1865 addcarryxU64(&x62, &x63, 0x0, x53, (x61 & 0xf3b9cac2fc632551));
...@@ -1881,17 +1880,17 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[...@@ -1881,17 +1880,17 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[
1881 cmovznzU64(&x72, x3, (arg5[2]), x66);1880 cmovznzU64(&x72, x3, (arg5[2]), x66);
1882 var x73: u64 = undefined;1881 var x73: u64 = undefined;
1883 cmovznzU64(&x73, x3, (arg5[3]), x68);1882 cmovznzU64(&x73, x3, (arg5[3]), x68);
1884 const x74 = cast(u1, (x22 & cast(u64, 0x1)));1883 const x74 = @as(u1, (x22 & @as(u64, 0x1)));
1885 var x75: u64 = undefined;1884 var x75: u64 = undefined;
1886 cmovznzU64(&x75, x74, cast(u64, 0x0), x7);1885 cmovznzU64(&x75, x74, @as(u64, 0x0), x7);
1887 var x76: u64 = undefined;1886 var x76: u64 = undefined;
1888 cmovznzU64(&x76, x74, cast(u64, 0x0), x8);1887 cmovznzU64(&x76, x74, @as(u64, 0x0), x8);
1889 var x77: u64 = undefined;1888 var x77: u64 = undefined;
1890 cmovznzU64(&x77, x74, cast(u64, 0x0), x9);1889 cmovznzU64(&x77, x74, @as(u64, 0x0), x9);
1891 var x78: u64 = undefined;1890 var x78: u64 = undefined;
1892 cmovznzU64(&x78, x74, cast(u64, 0x0), x10);1891 cmovznzU64(&x78, x74, @as(u64, 0x0), x10);
1893 var x79: u64 = undefined;1892 var x79: u64 = undefined;
1894 cmovznzU64(&x79, x74, cast(u64, 0x0), x11);1893 cmovznzU64(&x79, x74, @as(u64, 0x0), x11);
1895 var x80: u64 = undefined;1894 var x80: u64 = undefined;
1896 var x81: u1 = undefined;1895 var x81: u1 = undefined;
1897 addcarryxU64(&x80, &x81, 0x0, x22, x75);1896 addcarryxU64(&x80, &x81, 0x0, x22, x75);
...@@ -1908,13 +1907,13 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[...@@ -1908,13 +1907,13 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[
1908 var x89: u1 = undefined;1907 var x89: u1 = undefined;
1909 addcarryxU64(&x88, &x89, x87, x26, x79);1908 addcarryxU64(&x88, &x89, x87, x26, x79);
1910 var x90: u64 = undefined;1909 var x90: u64 = undefined;
1911 cmovznzU64(&x90, x74, cast(u64, 0x0), x27);1910 cmovznzU64(&x90, x74, @as(u64, 0x0), x27);
1912 var x91: u64 = undefined;1911 var x91: u64 = undefined;
1913 cmovznzU64(&x91, x74, cast(u64, 0x0), x28);1912 cmovznzU64(&x91, x74, @as(u64, 0x0), x28);
1914 var x92: u64 = undefined;1913 var x92: u64 = undefined;
1915 cmovznzU64(&x92, x74, cast(u64, 0x0), x29);1914 cmovznzU64(&x92, x74, @as(u64, 0x0), x29);
1916 var x93: u64 = undefined;1915 var x93: u64 = undefined;
1917 cmovznzU64(&x93, x74, cast(u64, 0x0), x30);1916 cmovznzU64(&x93, x74, @as(u64, 0x0), x30);
1918 var x94: u64 = undefined;1917 var x94: u64 = undefined;
1919 var x95: u1 = undefined;1918 var x95: u1 = undefined;
1920 addcarryxU64(&x94, &x95, 0x0, x70, x90);1919 addcarryxU64(&x94, &x95, 0x0, x70, x90);
...@@ -1941,10 +1940,10 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[...@@ -1941,10 +1940,10 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[
1941 subborrowxU64(&x108, &x109, x107, x100, 0xffffffff00000000);1940 subborrowxU64(&x108, &x109, x107, x100, 0xffffffff00000000);
1942 var x110: u64 = undefined;1941 var x110: u64 = undefined;
1943 var x111: u1 = undefined;1942 var x111: u1 = undefined;
1944 subborrowxU64(&x110, &x111, x109, cast(u64, x101), cast(u64, 0x0));1943 subborrowxU64(&x110, &x111, x109, @as(u64, x101), @as(u64, 0x0));
1945 var x112: u64 = undefined;1944 var x112: u64 = undefined;
1946 var x113: u1 = undefined;1945 var x113: u1 = undefined;
1947 addcarryxU64(&x112, &x113, 0x0, x6, cast(u64, 0x1));1946 addcarryxU64(&x112, &x113, 0x0, x6, @as(u64, 0x1));
1948 const x114 = ((x80 >> 1) | ((x82 << 63) & 0xffffffffffffffff));1947 const x114 = ((x80 >> 1) | ((x82 << 63) & 0xffffffffffffffff));
1949 const x115 = ((x82 >> 1) | ((x84 << 63) & 0xffffffffffffffff));1948 const x115 = ((x82 >> 1) | ((x84 << 63) & 0xffffffffffffffff));
1950 const x116 = ((x84 >> 1) | ((x86 << 63) & 0xffffffffffffffff));1949 const x116 = ((x84 >> 1) | ((x86 << 63) & 0xffffffffffffffff));