| ... | @@ -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^256 | 18 | // if x1 & (2^256-1) < 2^255 then x1 & (2^256-1) else (x1 & (2^256-1)) - 2^256 |
| 19 | | 19 | |
| 20 | const std = @import("std"); | 20 | const std = @import("std"); |
| 21 | const cast = std.meta.cast; | | |
| 22 | const mode = std.builtin.mode; // Checked arithmetic is disabled in non-debug modes to avoid side channels | 21 | const mode = std.builtin.mode; // Checked arithmetic is disabled in non-debug modes to avoid side channels |
| 23 | | 22 | |
| 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 |
| 806 | | 805 | |
| 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 { |
| 1430 | pub fn fromBytes(out1: *[4]u64, arg1: [32]u8) void { | 1429 | pub fn fromBytes(out1: *[4]u64, arg1: [32]u8) void { |
| 1431 | @setRuntimeSafety(mode == .Debug); | 1430 | @setRuntimeSafety(mode == .Debug); |
| 1432 | | 1431 | |
| 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 { |
| 1505 | pub fn setOne(out1: *MontgomeryDomainFieldElement) void { | 1504 | pub fn setOne(out1: *MontgomeryDomainFieldElement) void { |
| 1506 | @setRuntimeSafety(mode == .Debug); | 1505 | @setRuntimeSafety(mode == .Debug); |
| 1507 | | 1506 | |
| 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 { |
| 1524 | | 1523 | |
| 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 | } |
| 1531 | | 1530 | |
| 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: *[ |
| 1562 | | 1561 | |
| 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)); |