From 60bade02ccd577550bfcd5974d3c62a3d40e751a Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Tue, 15 Jan 2019 15:53:34 -0500 Subject: Add a rewrite rule to collapse constant casts If, e.g., we know from bounds analysis that the result of an operation fits in the range r[0~>0], we now just replace it with the literal constant. Fixes #493 After | File Name | Before || Change | % Change -------------------------------------------------------------------------------------------- 21m22.14s | Total | 21m22.79s || -0m00.65s | -0.05% -------------------------------------------------------------------------------------------- 4m09.97s | PushButtonSynthesis.vo | 4m10.56s || -0m00.59s | -0.23% 3m09.12s | p384_32.c | 3m08.91s || +0m00.21s | +0.11% 2m05.94s | Rewriter.vo | 2m06.30s || -0m00.35s | -0.28% 1m56.58s | RewriterWf2.vo | 1m56.09s || +0m00.48s | +0.42% 1m52.39s | RewriterRulesGood.vo | 1m52.04s || +0m00.35s | +0.31% 1m46.01s | RewriterRulesInterpGood.vo | 1m45.79s || +0m00.21s | +0.20% 0m46.44s | RewriterInterpProofs1.vo | 0m46.47s || -0m00.03s | -0.06% 0m44.96s | ExtractionHaskell/word_by_word_montgomery | 0m45.59s || -0m00.63s | -1.38% 0m39.18s | p521_32.c | 0m39.33s || -0m00.14s | -0.38% 0m32.41s | p521_64.c | 0m32.54s || -0m00.13s | -0.39% 0m30.87s | ExtractionHaskell/unsaturated_solinas | 0m30.67s || +0m00.19s | +0.65% 0m24.32s | ExtractionHaskell/saturated_solinas | 0m24.44s || -0m00.12s | -0.49% 0m23.59s | RewriterWf1.vo | 0m24.10s || -0m00.51s | -2.11% 0m17.01s | ExtractionOCaml/word_by_word_montgomery | 0m17.14s || -0m00.12s | -0.75% 0m13.48s | secp256k1_32.c | 0m13.30s || +0m00.17s | +1.35% 0m13.11s | p256_32.c | 0m13.37s || -0m00.25s | -1.94% 0m11.34s | p484_64.c | 0m11.34s || +0m00.00s | +0.00% 0m10.78s | ExtractionOCaml/unsaturated_solinas | 0m10.79s || -0m00.00s | -0.09% 0m10.27s | ExtractionOCaml/word_by_word_montgomery.ml | 0m10.06s || +0m00.20s | +2.08% 0m08.11s | ExtractionOCaml/saturated_solinas | 0m07.92s || +0m00.18s | +2.39% 0m06.92s | ExtractionOCaml/unsaturated_solinas.ml | 0m07.02s || -0m00.09s | -1.42% 0m06.18s | ExtractionHaskell/word_by_word_montgomery.hs | 0m06.28s || -0m00.10s | -1.59% 0m06.13s | BoundsPipeline.vo | 0m05.98s || +0m00.14s | +2.50% 0m05.90s | p224_32.c | 0m05.92s || -0m00.01s | -0.33% 0m05.29s | p384_64.c | 0m05.33s || -0m00.04s | -0.75% 0m05.17s | ExtractionOCaml/saturated_solinas.ml | 0m05.20s || -0m00.03s | -0.57% 0m04.91s | ExtractionHaskell/unsaturated_solinas.hs | 0m04.93s || -0m00.01s | -0.40% 0m04.06s | ExtractionHaskell/saturated_solinas.hs | 0m04.00s || +0m00.05s | +1.49% 0m02.21s | curve25519_32.c | 0m02.22s || -0m00.01s | -0.45% 0m01.52s | curve25519_64.c | 0m01.50s || +0m00.02s | +1.33% 0m01.38s | CLI.vo | 0m01.42s || -0m00.04s | -2.81% 0m01.14s | RewriterProofs.vo | 0m01.13s || +0m00.01s | +0.88% 0m01.14s | StandaloneOCamlMain.vo | 0m00.96s || +0m00.17s | +18.74% 0m01.12s | StandaloneHaskellMain.vo | 0m01.03s || +0m00.09s | +8.73% 0m01.12s | secp256k1_64.c | 0m01.00s || +0m00.12s | +12.00% 0m01.05s | p256_64.c | 0m00.98s || +0m00.07s | +7.14% 0m01.03s | p224_64.c | 0m01.15s || -0m00.11s | -10.43% --- p384_64.c | 582 ++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 286 insertions(+), 296 deletions(-) (limited to 'p384_64.c') diff --git a/p384_64.c b/p384_64.c index 094f27a92..906996746 100644 --- a/p384_64.c +++ b/p384_64.c @@ -1851,441 +1851,441 @@ static void fiat_p384_from_montgomery(uint64_t out1[6], const uint64_t arg1[6]) fiat_p384_uint1 x53; fiat_p384_addcarryx_u64(&x52, &x53, x51, 0x0, x40); uint64_t x54; - fiat_p384_uint1 x55; - fiat_p384_addcarryx_u64(&x54, &x55, x41, 0x0, 0x0); + uint64_t x55; + fiat_p384_mulx_u64(&x54, &x55, x42, UINT64_C(0x100000001)); uint64_t x56; - fiat_p384_uint1 x57; - fiat_p384_addcarryx_u64(&x56, &x57, x53, 0x0, (fiat_p384_uint1)x54); + uint64_t x57; + fiat_p384_mulx_u64(&x56, &x57, x54, UINT64_C(0xffffffffffffffff)); uint64_t x58; uint64_t x59; - fiat_p384_mulx_u64(&x58, &x59, x42, UINT64_C(0x100000001)); + fiat_p384_mulx_u64(&x58, &x59, x54, UINT64_C(0xffffffffffffffff)); uint64_t x60; uint64_t x61; - fiat_p384_mulx_u64(&x60, &x61, x58, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x60, &x61, x54, UINT64_C(0xffffffffffffffff)); uint64_t x62; uint64_t x63; - fiat_p384_mulx_u64(&x62, &x63, x58, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x62, &x63, x54, UINT64_C(0xfffffffffffffffe)); uint64_t x64; uint64_t x65; - fiat_p384_mulx_u64(&x64, &x65, x58, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x64, &x65, x54, UINT64_C(0xffffffff00000000)); uint64_t x66; uint64_t x67; - fiat_p384_mulx_u64(&x66, &x67, x58, UINT64_C(0xfffffffffffffffe)); + fiat_p384_mulx_u64(&x66, &x67, x54, UINT32_C(0xffffffff)); uint64_t x68; - uint64_t x69; - fiat_p384_mulx_u64(&x68, &x69, x58, UINT64_C(0xffffffff00000000)); + fiat_p384_uint1 x69; + fiat_p384_addcarryx_u64(&x68, &x69, 0x0, x64, x67); uint64_t x70; - uint64_t x71; - fiat_p384_mulx_u64(&x70, &x71, x58, UINT32_C(0xffffffff)); + fiat_p384_uint1 x71; + fiat_p384_addcarryx_u64(&x70, &x71, x69, x62, x65); uint64_t x72; fiat_p384_uint1 x73; - fiat_p384_addcarryx_u64(&x72, &x73, 0x0, x68, x71); + fiat_p384_addcarryx_u64(&x72, &x73, x71, x60, x63); uint64_t x74; fiat_p384_uint1 x75; - fiat_p384_addcarryx_u64(&x74, &x75, x73, x66, x69); + fiat_p384_addcarryx_u64(&x74, &x75, x73, x58, x61); uint64_t x76; fiat_p384_uint1 x77; - fiat_p384_addcarryx_u64(&x76, &x77, x75, x64, x67); + fiat_p384_addcarryx_u64(&x76, &x77, x75, x56, x59); uint64_t x78; fiat_p384_uint1 x79; - fiat_p384_addcarryx_u64(&x78, &x79, x77, x62, x65); + fiat_p384_addcarryx_u64(&x78, &x79, 0x0, x66, x42); uint64_t x80; fiat_p384_uint1 x81; - fiat_p384_addcarryx_u64(&x80, &x81, x79, x60, x63); + fiat_p384_addcarryx_u64(&x80, &x81, x79, x68, x44); uint64_t x82; fiat_p384_uint1 x83; - fiat_p384_addcarryx_u64(&x82, &x83, 0x0, x70, x42); + fiat_p384_addcarryx_u64(&x82, &x83, x81, x70, x46); uint64_t x84; fiat_p384_uint1 x85; - fiat_p384_addcarryx_u64(&x84, &x85, x83, x72, x44); + fiat_p384_addcarryx_u64(&x84, &x85, x83, x72, x48); uint64_t x86; fiat_p384_uint1 x87; - fiat_p384_addcarryx_u64(&x86, &x87, x85, x74, x46); + fiat_p384_addcarryx_u64(&x86, &x87, x85, x74, x50); uint64_t x88; fiat_p384_uint1 x89; - fiat_p384_addcarryx_u64(&x88, &x89, x87, x76, x48); + fiat_p384_addcarryx_u64(&x88, &x89, x87, x76, x52); uint64_t x90; fiat_p384_uint1 x91; - fiat_p384_addcarryx_u64(&x90, &x91, x89, x78, x50); + fiat_p384_addcarryx_u64(&x90, &x91, x41, 0x0, 0x0); uint64_t x92; fiat_p384_uint1 x93; - fiat_p384_addcarryx_u64(&x92, &x93, x91, x80, x52); + fiat_p384_addcarryx_u64(&x92, &x93, x53, 0x0, (fiat_p384_uint1)x90); uint64_t x94; fiat_p384_uint1 x95; - fiat_p384_addcarryx_u64(&x94, &x95, x81, 0x0, x61); + fiat_p384_addcarryx_u64(&x94, &x95, x77, 0x0, x57); uint64_t x96; fiat_p384_uint1 x97; - fiat_p384_addcarryx_u64(&x96, &x97, x93, x94, x56); + fiat_p384_addcarryx_u64(&x96, &x97, x89, x94, x92); uint64_t x98; fiat_p384_uint1 x99; - fiat_p384_addcarryx_u64(&x98, &x99, 0x0, (arg1[2]), x84); + fiat_p384_addcarryx_u64(&x98, &x99, 0x0, (arg1[2]), x80); uint64_t x100; fiat_p384_uint1 x101; - fiat_p384_addcarryx_u64(&x100, &x101, x99, 0x0, x86); + fiat_p384_addcarryx_u64(&x100, &x101, x99, 0x0, x82); uint64_t x102; fiat_p384_uint1 x103; - fiat_p384_addcarryx_u64(&x102, &x103, x101, 0x0, x88); + fiat_p384_addcarryx_u64(&x102, &x103, x101, 0x0, x84); uint64_t x104; fiat_p384_uint1 x105; - fiat_p384_addcarryx_u64(&x104, &x105, x103, 0x0, x90); + fiat_p384_addcarryx_u64(&x104, &x105, x103, 0x0, x86); uint64_t x106; fiat_p384_uint1 x107; - fiat_p384_addcarryx_u64(&x106, &x107, x105, 0x0, x92); + fiat_p384_addcarryx_u64(&x106, &x107, x105, 0x0, x88); uint64_t x108; fiat_p384_uint1 x109; fiat_p384_addcarryx_u64(&x108, &x109, x107, 0x0, x96); uint64_t x110; - fiat_p384_uint1 x111; - fiat_p384_addcarryx_u64(&x110, &x111, x97, 0x0, x57); + uint64_t x111; + fiat_p384_mulx_u64(&x110, &x111, x98, UINT64_C(0x100000001)); uint64_t x112; - fiat_p384_uint1 x113; - fiat_p384_addcarryx_u64(&x112, &x113, x109, 0x0, (fiat_p384_uint1)x110); + uint64_t x113; + fiat_p384_mulx_u64(&x112, &x113, x110, UINT64_C(0xffffffffffffffff)); uint64_t x114; uint64_t x115; - fiat_p384_mulx_u64(&x114, &x115, x98, UINT64_C(0x100000001)); + fiat_p384_mulx_u64(&x114, &x115, x110, UINT64_C(0xffffffffffffffff)); uint64_t x116; uint64_t x117; - fiat_p384_mulx_u64(&x116, &x117, x114, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x116, &x117, x110, UINT64_C(0xffffffffffffffff)); uint64_t x118; uint64_t x119; - fiat_p384_mulx_u64(&x118, &x119, x114, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x118, &x119, x110, UINT64_C(0xfffffffffffffffe)); uint64_t x120; uint64_t x121; - fiat_p384_mulx_u64(&x120, &x121, x114, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x120, &x121, x110, UINT64_C(0xffffffff00000000)); uint64_t x122; uint64_t x123; - fiat_p384_mulx_u64(&x122, &x123, x114, UINT64_C(0xfffffffffffffffe)); + fiat_p384_mulx_u64(&x122, &x123, x110, UINT32_C(0xffffffff)); uint64_t x124; - uint64_t x125; - fiat_p384_mulx_u64(&x124, &x125, x114, UINT64_C(0xffffffff00000000)); + fiat_p384_uint1 x125; + fiat_p384_addcarryx_u64(&x124, &x125, 0x0, x120, x123); uint64_t x126; - uint64_t x127; - fiat_p384_mulx_u64(&x126, &x127, x114, UINT32_C(0xffffffff)); + fiat_p384_uint1 x127; + fiat_p384_addcarryx_u64(&x126, &x127, x125, x118, x121); uint64_t x128; fiat_p384_uint1 x129; - fiat_p384_addcarryx_u64(&x128, &x129, 0x0, x124, x127); + fiat_p384_addcarryx_u64(&x128, &x129, x127, x116, x119); uint64_t x130; fiat_p384_uint1 x131; - fiat_p384_addcarryx_u64(&x130, &x131, x129, x122, x125); + fiat_p384_addcarryx_u64(&x130, &x131, x129, x114, x117); uint64_t x132; fiat_p384_uint1 x133; - fiat_p384_addcarryx_u64(&x132, &x133, x131, x120, x123); + fiat_p384_addcarryx_u64(&x132, &x133, x131, x112, x115); uint64_t x134; fiat_p384_uint1 x135; - fiat_p384_addcarryx_u64(&x134, &x135, x133, x118, x121); + fiat_p384_addcarryx_u64(&x134, &x135, 0x0, x122, x98); uint64_t x136; fiat_p384_uint1 x137; - fiat_p384_addcarryx_u64(&x136, &x137, x135, x116, x119); + fiat_p384_addcarryx_u64(&x136, &x137, x135, x124, x100); uint64_t x138; fiat_p384_uint1 x139; - fiat_p384_addcarryx_u64(&x138, &x139, 0x0, x126, x98); + fiat_p384_addcarryx_u64(&x138, &x139, x137, x126, x102); uint64_t x140; fiat_p384_uint1 x141; - fiat_p384_addcarryx_u64(&x140, &x141, x139, x128, x100); + fiat_p384_addcarryx_u64(&x140, &x141, x139, x128, x104); uint64_t x142; fiat_p384_uint1 x143; - fiat_p384_addcarryx_u64(&x142, &x143, x141, x130, x102); + fiat_p384_addcarryx_u64(&x142, &x143, x141, x130, x106); uint64_t x144; fiat_p384_uint1 x145; - fiat_p384_addcarryx_u64(&x144, &x145, x143, x132, x104); + fiat_p384_addcarryx_u64(&x144, &x145, x143, x132, x108); uint64_t x146; fiat_p384_uint1 x147; - fiat_p384_addcarryx_u64(&x146, &x147, x145, x134, x106); + fiat_p384_addcarryx_u64(&x146, &x147, x97, 0x0, 0x0); uint64_t x148; fiat_p384_uint1 x149; - fiat_p384_addcarryx_u64(&x148, &x149, x147, x136, x108); + fiat_p384_addcarryx_u64(&x148, &x149, x109, 0x0, (fiat_p384_uint1)x146); uint64_t x150; fiat_p384_uint1 x151; - fiat_p384_addcarryx_u64(&x150, &x151, x137, 0x0, x117); + fiat_p384_addcarryx_u64(&x150, &x151, x133, 0x0, x113); uint64_t x152; fiat_p384_uint1 x153; - fiat_p384_addcarryx_u64(&x152, &x153, x149, x150, x112); + fiat_p384_addcarryx_u64(&x152, &x153, x145, x150, x148); uint64_t x154; fiat_p384_uint1 x155; - fiat_p384_addcarryx_u64(&x154, &x155, 0x0, (arg1[3]), x140); + fiat_p384_addcarryx_u64(&x154, &x155, 0x0, (arg1[3]), x136); uint64_t x156; fiat_p384_uint1 x157; - fiat_p384_addcarryx_u64(&x156, &x157, x155, 0x0, x142); + fiat_p384_addcarryx_u64(&x156, &x157, x155, 0x0, x138); uint64_t x158; fiat_p384_uint1 x159; - fiat_p384_addcarryx_u64(&x158, &x159, x157, 0x0, x144); + fiat_p384_addcarryx_u64(&x158, &x159, x157, 0x0, x140); uint64_t x160; fiat_p384_uint1 x161; - fiat_p384_addcarryx_u64(&x160, &x161, x159, 0x0, x146); + fiat_p384_addcarryx_u64(&x160, &x161, x159, 0x0, x142); uint64_t x162; fiat_p384_uint1 x163; - fiat_p384_addcarryx_u64(&x162, &x163, x161, 0x0, x148); + fiat_p384_addcarryx_u64(&x162, &x163, x161, 0x0, x144); uint64_t x164; fiat_p384_uint1 x165; fiat_p384_addcarryx_u64(&x164, &x165, x163, 0x0, x152); uint64_t x166; - fiat_p384_uint1 x167; - fiat_p384_addcarryx_u64(&x166, &x167, x153, 0x0, x113); + uint64_t x167; + fiat_p384_mulx_u64(&x166, &x167, x154, UINT64_C(0x100000001)); uint64_t x168; - fiat_p384_uint1 x169; - fiat_p384_addcarryx_u64(&x168, &x169, x165, 0x0, (fiat_p384_uint1)x166); + uint64_t x169; + fiat_p384_mulx_u64(&x168, &x169, x166, UINT64_C(0xffffffffffffffff)); uint64_t x170; uint64_t x171; - fiat_p384_mulx_u64(&x170, &x171, x154, UINT64_C(0x100000001)); + fiat_p384_mulx_u64(&x170, &x171, x166, UINT64_C(0xffffffffffffffff)); uint64_t x172; uint64_t x173; - fiat_p384_mulx_u64(&x172, &x173, x170, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x172, &x173, x166, UINT64_C(0xffffffffffffffff)); uint64_t x174; uint64_t x175; - fiat_p384_mulx_u64(&x174, &x175, x170, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x174, &x175, x166, UINT64_C(0xfffffffffffffffe)); uint64_t x176; uint64_t x177; - fiat_p384_mulx_u64(&x176, &x177, x170, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x176, &x177, x166, UINT64_C(0xffffffff00000000)); uint64_t x178; uint64_t x179; - fiat_p384_mulx_u64(&x178, &x179, x170, UINT64_C(0xfffffffffffffffe)); + fiat_p384_mulx_u64(&x178, &x179, x166, UINT32_C(0xffffffff)); uint64_t x180; - uint64_t x181; - fiat_p384_mulx_u64(&x180, &x181, x170, UINT64_C(0xffffffff00000000)); + fiat_p384_uint1 x181; + fiat_p384_addcarryx_u64(&x180, &x181, 0x0, x176, x179); uint64_t x182; - uint64_t x183; - fiat_p384_mulx_u64(&x182, &x183, x170, UINT32_C(0xffffffff)); + fiat_p384_uint1 x183; + fiat_p384_addcarryx_u64(&x182, &x183, x181, x174, x177); uint64_t x184; fiat_p384_uint1 x185; - fiat_p384_addcarryx_u64(&x184, &x185, 0x0, x180, x183); + fiat_p384_addcarryx_u64(&x184, &x185, x183, x172, x175); uint64_t x186; fiat_p384_uint1 x187; - fiat_p384_addcarryx_u64(&x186, &x187, x185, x178, x181); + fiat_p384_addcarryx_u64(&x186, &x187, x185, x170, x173); uint64_t x188; fiat_p384_uint1 x189; - fiat_p384_addcarryx_u64(&x188, &x189, x187, x176, x179); + fiat_p384_addcarryx_u64(&x188, &x189, x187, x168, x171); uint64_t x190; fiat_p384_uint1 x191; - fiat_p384_addcarryx_u64(&x190, &x191, x189, x174, x177); + fiat_p384_addcarryx_u64(&x190, &x191, 0x0, x178, x154); uint64_t x192; fiat_p384_uint1 x193; - fiat_p384_addcarryx_u64(&x192, &x193, x191, x172, x175); + fiat_p384_addcarryx_u64(&x192, &x193, x191, x180, x156); uint64_t x194; fiat_p384_uint1 x195; - fiat_p384_addcarryx_u64(&x194, &x195, 0x0, x182, x154); + fiat_p384_addcarryx_u64(&x194, &x195, x193, x182, x158); uint64_t x196; fiat_p384_uint1 x197; - fiat_p384_addcarryx_u64(&x196, &x197, x195, x184, x156); + fiat_p384_addcarryx_u64(&x196, &x197, x195, x184, x160); uint64_t x198; fiat_p384_uint1 x199; - fiat_p384_addcarryx_u64(&x198, &x199, x197, x186, x158); + fiat_p384_addcarryx_u64(&x198, &x199, x197, x186, x162); uint64_t x200; fiat_p384_uint1 x201; - fiat_p384_addcarryx_u64(&x200, &x201, x199, x188, x160); + fiat_p384_addcarryx_u64(&x200, &x201, x199, x188, x164); uint64_t x202; fiat_p384_uint1 x203; - fiat_p384_addcarryx_u64(&x202, &x203, x201, x190, x162); + fiat_p384_addcarryx_u64(&x202, &x203, x153, 0x0, 0x0); uint64_t x204; fiat_p384_uint1 x205; - fiat_p384_addcarryx_u64(&x204, &x205, x203, x192, x164); + fiat_p384_addcarryx_u64(&x204, &x205, x165, 0x0, (fiat_p384_uint1)x202); uint64_t x206; fiat_p384_uint1 x207; - fiat_p384_addcarryx_u64(&x206, &x207, x193, 0x0, x173); + fiat_p384_addcarryx_u64(&x206, &x207, x189, 0x0, x169); uint64_t x208; fiat_p384_uint1 x209; - fiat_p384_addcarryx_u64(&x208, &x209, x205, x206, x168); + fiat_p384_addcarryx_u64(&x208, &x209, x201, x206, x204); uint64_t x210; fiat_p384_uint1 x211; - fiat_p384_addcarryx_u64(&x210, &x211, 0x0, (arg1[4]), x196); + fiat_p384_addcarryx_u64(&x210, &x211, 0x0, (arg1[4]), x192); uint64_t x212; fiat_p384_uint1 x213; - fiat_p384_addcarryx_u64(&x212, &x213, x211, 0x0, x198); + fiat_p384_addcarryx_u64(&x212, &x213, x211, 0x0, x194); uint64_t x214; fiat_p384_uint1 x215; - fiat_p384_addcarryx_u64(&x214, &x215, x213, 0x0, x200); + fiat_p384_addcarryx_u64(&x214, &x215, x213, 0x0, x196); uint64_t x216; fiat_p384_uint1 x217; - fiat_p384_addcarryx_u64(&x216, &x217, x215, 0x0, x202); + fiat_p384_addcarryx_u64(&x216, &x217, x215, 0x0, x198); uint64_t x218; fiat_p384_uint1 x219; - fiat_p384_addcarryx_u64(&x218, &x219, x217, 0x0, x204); + fiat_p384_addcarryx_u64(&x218, &x219, x217, 0x0, x200); uint64_t x220; fiat_p384_uint1 x221; fiat_p384_addcarryx_u64(&x220, &x221, x219, 0x0, x208); uint64_t x222; - fiat_p384_uint1 x223; - fiat_p384_addcarryx_u64(&x222, &x223, x209, 0x0, x169); + uint64_t x223; + fiat_p384_mulx_u64(&x222, &x223, x210, UINT64_C(0x100000001)); uint64_t x224; - fiat_p384_uint1 x225; - fiat_p384_addcarryx_u64(&x224, &x225, x221, 0x0, (fiat_p384_uint1)x222); + uint64_t x225; + fiat_p384_mulx_u64(&x224, &x225, x222, UINT64_C(0xffffffffffffffff)); uint64_t x226; uint64_t x227; - fiat_p384_mulx_u64(&x226, &x227, x210, UINT64_C(0x100000001)); + fiat_p384_mulx_u64(&x226, &x227, x222, UINT64_C(0xffffffffffffffff)); uint64_t x228; uint64_t x229; - fiat_p384_mulx_u64(&x228, &x229, x226, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x228, &x229, x222, UINT64_C(0xffffffffffffffff)); uint64_t x230; uint64_t x231; - fiat_p384_mulx_u64(&x230, &x231, x226, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x230, &x231, x222, UINT64_C(0xfffffffffffffffe)); uint64_t x232; uint64_t x233; - fiat_p384_mulx_u64(&x232, &x233, x226, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x232, &x233, x222, UINT64_C(0xffffffff00000000)); uint64_t x234; uint64_t x235; - fiat_p384_mulx_u64(&x234, &x235, x226, UINT64_C(0xfffffffffffffffe)); + fiat_p384_mulx_u64(&x234, &x235, x222, UINT32_C(0xffffffff)); uint64_t x236; - uint64_t x237; - fiat_p384_mulx_u64(&x236, &x237, x226, UINT64_C(0xffffffff00000000)); + fiat_p384_uint1 x237; + fiat_p384_addcarryx_u64(&x236, &x237, 0x0, x232, x235); uint64_t x238; - uint64_t x239; - fiat_p384_mulx_u64(&x238, &x239, x226, UINT32_C(0xffffffff)); + fiat_p384_uint1 x239; + fiat_p384_addcarryx_u64(&x238, &x239, x237, x230, x233); uint64_t x240; fiat_p384_uint1 x241; - fiat_p384_addcarryx_u64(&x240, &x241, 0x0, x236, x239); + fiat_p384_addcarryx_u64(&x240, &x241, x239, x228, x231); uint64_t x242; fiat_p384_uint1 x243; - fiat_p384_addcarryx_u64(&x242, &x243, x241, x234, x237); + fiat_p384_addcarryx_u64(&x242, &x243, x241, x226, x229); uint64_t x244; fiat_p384_uint1 x245; - fiat_p384_addcarryx_u64(&x244, &x245, x243, x232, x235); + fiat_p384_addcarryx_u64(&x244, &x245, x243, x224, x227); uint64_t x246; fiat_p384_uint1 x247; - fiat_p384_addcarryx_u64(&x246, &x247, x245, x230, x233); + fiat_p384_addcarryx_u64(&x246, &x247, 0x0, x234, x210); uint64_t x248; fiat_p384_uint1 x249; - fiat_p384_addcarryx_u64(&x248, &x249, x247, x228, x231); + fiat_p384_addcarryx_u64(&x248, &x249, x247, x236, x212); uint64_t x250; fiat_p384_uint1 x251; - fiat_p384_addcarryx_u64(&x250, &x251, 0x0, x238, x210); + fiat_p384_addcarryx_u64(&x250, &x251, x249, x238, x214); uint64_t x252; fiat_p384_uint1 x253; - fiat_p384_addcarryx_u64(&x252, &x253, x251, x240, x212); + fiat_p384_addcarryx_u64(&x252, &x253, x251, x240, x216); uint64_t x254; fiat_p384_uint1 x255; - fiat_p384_addcarryx_u64(&x254, &x255, x253, x242, x214); + fiat_p384_addcarryx_u64(&x254, &x255, x253, x242, x218); uint64_t x256; fiat_p384_uint1 x257; - fiat_p384_addcarryx_u64(&x256, &x257, x255, x244, x216); + fiat_p384_addcarryx_u64(&x256, &x257, x255, x244, x220); uint64_t x258; fiat_p384_uint1 x259; - fiat_p384_addcarryx_u64(&x258, &x259, x257, x246, x218); + fiat_p384_addcarryx_u64(&x258, &x259, x209, 0x0, 0x0); uint64_t x260; fiat_p384_uint1 x261; - fiat_p384_addcarryx_u64(&x260, &x261, x259, x248, x220); + fiat_p384_addcarryx_u64(&x260, &x261, x221, 0x0, (fiat_p384_uint1)x258); uint64_t x262; fiat_p384_uint1 x263; - fiat_p384_addcarryx_u64(&x262, &x263, x249, 0x0, x229); + fiat_p384_addcarryx_u64(&x262, &x263, x245, 0x0, x225); uint64_t x264; fiat_p384_uint1 x265; - fiat_p384_addcarryx_u64(&x264, &x265, x261, x262, x224); + fiat_p384_addcarryx_u64(&x264, &x265, x257, x262, x260); uint64_t x266; fiat_p384_uint1 x267; - fiat_p384_addcarryx_u64(&x266, &x267, 0x0, (arg1[5]), x252); + fiat_p384_addcarryx_u64(&x266, &x267, 0x0, (arg1[5]), x248); uint64_t x268; fiat_p384_uint1 x269; - fiat_p384_addcarryx_u64(&x268, &x269, x267, 0x0, x254); + fiat_p384_addcarryx_u64(&x268, &x269, x267, 0x0, x250); uint64_t x270; fiat_p384_uint1 x271; - fiat_p384_addcarryx_u64(&x270, &x271, x269, 0x0, x256); + fiat_p384_addcarryx_u64(&x270, &x271, x269, 0x0, x252); uint64_t x272; fiat_p384_uint1 x273; - fiat_p384_addcarryx_u64(&x272, &x273, x271, 0x0, x258); + fiat_p384_addcarryx_u64(&x272, &x273, x271, 0x0, x254); uint64_t x274; fiat_p384_uint1 x275; - fiat_p384_addcarryx_u64(&x274, &x275, x273, 0x0, x260); + fiat_p384_addcarryx_u64(&x274, &x275, x273, 0x0, x256); uint64_t x276; fiat_p384_uint1 x277; fiat_p384_addcarryx_u64(&x276, &x277, x275, 0x0, x264); uint64_t x278; - fiat_p384_uint1 x279; - fiat_p384_addcarryx_u64(&x278, &x279, x265, 0x0, x225); + uint64_t x279; + fiat_p384_mulx_u64(&x278, &x279, x266, UINT64_C(0x100000001)); uint64_t x280; - fiat_p384_uint1 x281; - fiat_p384_addcarryx_u64(&x280, &x281, x277, 0x0, (fiat_p384_uint1)x278); + uint64_t x281; + fiat_p384_mulx_u64(&x280, &x281, x278, UINT64_C(0xffffffffffffffff)); uint64_t x282; uint64_t x283; - fiat_p384_mulx_u64(&x282, &x283, x266, UINT64_C(0x100000001)); + fiat_p384_mulx_u64(&x282, &x283, x278, UINT64_C(0xffffffffffffffff)); uint64_t x284; uint64_t x285; - fiat_p384_mulx_u64(&x284, &x285, x282, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x284, &x285, x278, UINT64_C(0xffffffffffffffff)); uint64_t x286; uint64_t x287; - fiat_p384_mulx_u64(&x286, &x287, x282, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x286, &x287, x278, UINT64_C(0xfffffffffffffffe)); uint64_t x288; uint64_t x289; - fiat_p384_mulx_u64(&x288, &x289, x282, UINT64_C(0xffffffffffffffff)); + fiat_p384_mulx_u64(&x288, &x289, x278, UINT64_C(0xffffffff00000000)); uint64_t x290; uint64_t x291; - fiat_p384_mulx_u64(&x290, &x291, x282, UINT64_C(0xfffffffffffffffe)); + fiat_p384_mulx_u64(&x290, &x291, x278, UINT32_C(0xffffffff)); uint64_t x292; - uint64_t x293; - fiat_p384_mulx_u64(&x292, &x293, x282, UINT64_C(0xffffffff00000000)); + fiat_p384_uint1 x293; + fiat_p384_addcarryx_u64(&x292, &x293, 0x0, x288, x291); uint64_t x294; - uint64_t x295; - fiat_p384_mulx_u64(&x294, &x295, x282, UINT32_C(0xffffffff)); + fiat_p384_uint1 x295; + fiat_p384_addcarryx_u64(&x294, &x295, x293, x286, x289); uint64_t x296; fiat_p384_uint1 x297; - fiat_p384_addcarryx_u64(&x296, &x297, 0x0, x292, x295); + fiat_p384_addcarryx_u64(&x296, &x297, x295, x284, x287); uint64_t x298; fiat_p384_uint1 x299; - fiat_p384_addcarryx_u64(&x298, &x299, x297, x290, x293); + fiat_p384_addcarryx_u64(&x298, &x299, x297, x282, x285); uint64_t x300; fiat_p384_uint1 x301; - fiat_p384_addcarryx_u64(&x300, &x301, x299, x288, x291); + fiat_p384_addcarryx_u64(&x300, &x301, x299, x280, x283); uint64_t x302; fiat_p384_uint1 x303; - fiat_p384_addcarryx_u64(&x302, &x303, x301, x286, x289); + fiat_p384_addcarryx_u64(&x302, &x303, 0x0, x290, x266); uint64_t x304; fiat_p384_uint1 x305; - fiat_p384_addcarryx_u64(&x304, &x305, x303, x284, x287); + fiat_p384_addcarryx_u64(&x304, &x305, x303, x292, x268); uint64_t x306; fiat_p384_uint1 x307; - fiat_p384_addcarryx_u64(&x306, &x307, 0x0, x294, x266); + fiat_p384_addcarryx_u64(&x306, &x307, x305, x294, x270); uint64_t x308; fiat_p384_uint1 x309; - fiat_p384_addcarryx_u64(&x308, &x309, x307, x296, x268); + fiat_p384_addcarryx_u64(&x308, &x309, x307, x296, x272); uint64_t x310; fiat_p384_uint1 x311; - fiat_p384_addcarryx_u64(&x310, &x311, x309, x298, x270); + fiat_p384_addcarryx_u64(&x310, &x311, x309, x298, x274); uint64_t x312; fiat_p384_uint1 x313; - fiat_p384_addcarryx_u64(&x312, &x313, x311, x300, x272); + fiat_p384_addcarryx_u64(&x312, &x313, x311, x300, x276); uint64_t x314; fiat_p384_uint1 x315; - fiat_p384_addcarryx_u64(&x314, &x315, x313, x302, x274); + fiat_p384_addcarryx_u64(&x314, &x315, x265, 0x0, 0x0); uint64_t x316; fiat_p384_uint1 x317; - fiat_p384_addcarryx_u64(&x316, &x317, x315, x304, x276); + fiat_p384_addcarryx_u64(&x316, &x317, x277, 0x0, (fiat_p384_uint1)x314); uint64_t x318; fiat_p384_uint1 x319; - fiat_p384_addcarryx_u64(&x318, &x319, x305, 0x0, x285); + fiat_p384_addcarryx_u64(&x318, &x319, x301, 0x0, x281); uint64_t x320; fiat_p384_uint1 x321; - fiat_p384_addcarryx_u64(&x320, &x321, x317, x318, x280); + fiat_p384_addcarryx_u64(&x320, &x321, x313, x318, x316); uint64_t x322; fiat_p384_uint1 x323; - fiat_p384_subborrowx_u64(&x322, &x323, 0x0, x308, UINT32_C(0xffffffff)); + fiat_p384_subborrowx_u64(&x322, &x323, 0x0, x304, UINT32_C(0xffffffff)); uint64_t x324; fiat_p384_uint1 x325; - fiat_p384_subborrowx_u64(&x324, &x325, x323, x310, UINT64_C(0xffffffff00000000)); + fiat_p384_subborrowx_u64(&x324, &x325, x323, x306, UINT64_C(0xffffffff00000000)); uint64_t x326; fiat_p384_uint1 x327; - fiat_p384_subborrowx_u64(&x326, &x327, x325, x312, UINT64_C(0xfffffffffffffffe)); + fiat_p384_subborrowx_u64(&x326, &x327, x325, x308, UINT64_C(0xfffffffffffffffe)); uint64_t x328; fiat_p384_uint1 x329; - fiat_p384_subborrowx_u64(&x328, &x329, x327, x314, UINT64_C(0xffffffffffffffff)); + fiat_p384_subborrowx_u64(&x328, &x329, x327, x310, UINT64_C(0xffffffffffffffff)); uint64_t x330; fiat_p384_uint1 x331; - fiat_p384_subborrowx_u64(&x330, &x331, x329, x316, UINT64_C(0xffffffffffffffff)); + fiat_p384_subborrowx_u64(&x330, &x331, x329, x312, UINT64_C(0xffffffffffffffff)); uint64_t x332; fiat_p384_uint1 x333; fiat_p384_subborrowx_u64(&x332, &x333, x331, x320, UINT64_C(0xffffffffffffffff)); uint64_t x334; fiat_p384_uint1 x335; - fiat_p384_addcarryx_u64(&x334, &x335, x321, 0x0, x281); + fiat_p384_addcarryx_u64(&x334, &x335, x321, 0x0, 0x0); uint64_t x336; fiat_p384_uint1 x337; fiat_p384_subborrowx_u64(&x336, &x337, x333, (fiat_p384_uint1)x334, 0x0); uint64_t x338; - fiat_p384_cmovznz_u64(&x338, x337, x322, x308); + fiat_p384_cmovznz_u64(&x338, x337, x322, x304); uint64_t x339; - fiat_p384_cmovznz_u64(&x339, x337, x324, x310); + fiat_p384_cmovznz_u64(&x339, x337, x324, x306); uint64_t x340; - fiat_p384_cmovznz_u64(&x340, x337, x326, x312); + fiat_p384_cmovznz_u64(&x340, x337, x326, x308); uint64_t x341; - fiat_p384_cmovznz_u64(&x341, x337, x328, x314); + fiat_p384_cmovznz_u64(&x341, x337, x328, x310); uint64_t x342; - fiat_p384_cmovznz_u64(&x342, x337, x330, x316); + fiat_p384_cmovznz_u64(&x342, x337, x330, x312); uint64_t x343; fiat_p384_cmovznz_u64(&x343, x337, x332, x320); out1[0] = x338; @@ -2363,28 +2363,28 @@ static void fiat_p384_to_bytes(uint8_t out1[48], const uint64_t arg1[6]) { uint8_t x18 = (uint8_t)(x15 & UINT8_C(0xff)); uint8_t x19 = (uint8_t)(x17 >> 8); uint8_t x20 = (uint8_t)(x17 & UINT8_C(0xff)); - fiat_p384_uint1 x21 = (fiat_p384_uint1)(x19 >> 8); - uint8_t x22 = (uint8_t)(x19 & UINT8_C(0xff)); - uint64_t x23 = (x21 + x5); - uint64_t x24 = (x23 >> 8); - uint8_t x25 = (uint8_t)(x23 & UINT8_C(0xff)); - uint64_t x26 = (x24 >> 8); - uint8_t x27 = (uint8_t)(x24 & UINT8_C(0xff)); - uint64_t x28 = (x26 >> 8); - uint8_t x29 = (uint8_t)(x26 & UINT8_C(0xff)); - uint64_t x30 = (x28 >> 8); - uint8_t x31 = (uint8_t)(x28 & UINT8_C(0xff)); - uint64_t x32 = (x30 >> 8); - uint8_t x33 = (uint8_t)(x30 & UINT8_C(0xff)); - uint64_t x34 = (x32 >> 8); - uint8_t x35 = (uint8_t)(x32 & UINT8_C(0xff)); - uint8_t x36 = (uint8_t)(x34 >> 8); - uint8_t x37 = (uint8_t)(x34 & UINT8_C(0xff)); - fiat_p384_uint1 x38 = (fiat_p384_uint1)(x36 >> 8); - uint8_t x39 = (uint8_t)(x36 & UINT8_C(0xff)); - uint64_t x40 = (x38 + x4); - uint64_t x41 = (x40 >> 8); - uint8_t x42 = (uint8_t)(x40 & UINT8_C(0xff)); + uint8_t x21 = (uint8_t)(x19 & UINT8_C(0xff)); + uint64_t x22 = (0x0 + x5); + uint64_t x23 = (x22 >> 8); + uint8_t x24 = (uint8_t)(x22 & UINT8_C(0xff)); + uint64_t x25 = (x23 >> 8); + uint8_t x26 = (uint8_t)(x23 & UINT8_C(0xff)); + uint64_t x27 = (x25 >> 8); + uint8_t x28 = (uint8_t)(x25 & UINT8_C(0xff)); + uint64_t x29 = (x27 >> 8); + uint8_t x30 = (uint8_t)(x27 & UINT8_C(0xff)); + uint64_t x31 = (x29 >> 8); + uint8_t x32 = (uint8_t)(x29 & UINT8_C(0xff)); + uint64_t x33 = (x31 >> 8); + uint8_t x34 = (uint8_t)(x31 & UINT8_C(0xff)); + uint8_t x35 = (uint8_t)(x33 >> 8); + uint8_t x36 = (uint8_t)(x33 & UINT8_C(0xff)); + uint8_t x37 = (uint8_t)(x35 & UINT8_C(0xff)); + uint64_t x38 = (0x0 + x4); + uint64_t x39 = (x38 >> 8); + uint8_t x40 = (uint8_t)(x38 & UINT8_C(0xff)); + uint64_t x41 = (x39 >> 8); + uint8_t x42 = (uint8_t)(x39 & UINT8_C(0xff)); uint64_t x43 = (x41 >> 8); uint8_t x44 = (uint8_t)(x41 & UINT8_C(0xff)); uint64_t x45 = (x43 >> 8); @@ -2393,61 +2393,56 @@ static void fiat_p384_to_bytes(uint8_t out1[48], const uint64_t arg1[6]) { uint8_t x48 = (uint8_t)(x45 & UINT8_C(0xff)); uint64_t x49 = (x47 >> 8); uint8_t x50 = (uint8_t)(x47 & UINT8_C(0xff)); - uint64_t x51 = (x49 >> 8); + uint8_t x51 = (uint8_t)(x49 >> 8); uint8_t x52 = (uint8_t)(x49 & UINT8_C(0xff)); - uint8_t x53 = (uint8_t)(x51 >> 8); - uint8_t x54 = (uint8_t)(x51 & UINT8_C(0xff)); - fiat_p384_uint1 x55 = (fiat_p384_uint1)(x53 >> 8); - uint8_t x56 = (uint8_t)(x53 & UINT8_C(0xff)); - uint64_t x57 = (x55 + x3); - uint64_t x58 = (x57 >> 8); - uint8_t x59 = (uint8_t)(x57 & UINT8_C(0xff)); - uint64_t x60 = (x58 >> 8); - uint8_t x61 = (uint8_t)(x58 & UINT8_C(0xff)); - uint64_t x62 = (x60 >> 8); - uint8_t x63 = (uint8_t)(x60 & UINT8_C(0xff)); - uint64_t x64 = (x62 >> 8); - uint8_t x65 = (uint8_t)(x62 & UINT8_C(0xff)); - uint64_t x66 = (x64 >> 8); - uint8_t x67 = (uint8_t)(x64 & UINT8_C(0xff)); - uint64_t x68 = (x66 >> 8); - uint8_t x69 = (uint8_t)(x66 & UINT8_C(0xff)); - uint8_t x70 = (uint8_t)(x68 >> 8); - uint8_t x71 = (uint8_t)(x68 & UINT8_C(0xff)); - fiat_p384_uint1 x72 = (fiat_p384_uint1)(x70 >> 8); - uint8_t x73 = (uint8_t)(x70 & UINT8_C(0xff)); - uint64_t x74 = (x72 + x2); - uint64_t x75 = (x74 >> 8); - uint8_t x76 = (uint8_t)(x74 & UINT8_C(0xff)); + uint8_t x53 = (uint8_t)(x51 & UINT8_C(0xff)); + uint64_t x54 = (0x0 + x3); + uint64_t x55 = (x54 >> 8); + uint8_t x56 = (uint8_t)(x54 & UINT8_C(0xff)); + uint64_t x57 = (x55 >> 8); + uint8_t x58 = (uint8_t)(x55 & UINT8_C(0xff)); + uint64_t x59 = (x57 >> 8); + uint8_t x60 = (uint8_t)(x57 & UINT8_C(0xff)); + uint64_t x61 = (x59 >> 8); + uint8_t x62 = (uint8_t)(x59 & UINT8_C(0xff)); + uint64_t x63 = (x61 >> 8); + uint8_t x64 = (uint8_t)(x61 & UINT8_C(0xff)); + uint64_t x65 = (x63 >> 8); + uint8_t x66 = (uint8_t)(x63 & UINT8_C(0xff)); + uint8_t x67 = (uint8_t)(x65 >> 8); + uint8_t x68 = (uint8_t)(x65 & UINT8_C(0xff)); + uint8_t x69 = (uint8_t)(x67 & UINT8_C(0xff)); + uint64_t x70 = (0x0 + x2); + uint64_t x71 = (x70 >> 8); + uint8_t x72 = (uint8_t)(x70 & UINT8_C(0xff)); + uint64_t x73 = (x71 >> 8); + uint8_t x74 = (uint8_t)(x71 & UINT8_C(0xff)); + uint64_t x75 = (x73 >> 8); + uint8_t x76 = (uint8_t)(x73 & UINT8_C(0xff)); uint64_t x77 = (x75 >> 8); uint8_t x78 = (uint8_t)(x75 & UINT8_C(0xff)); uint64_t x79 = (x77 >> 8); uint8_t x80 = (uint8_t)(x77 & UINT8_C(0xff)); uint64_t x81 = (x79 >> 8); uint8_t x82 = (uint8_t)(x79 & UINT8_C(0xff)); - uint64_t x83 = (x81 >> 8); + uint8_t x83 = (uint8_t)(x81 >> 8); uint8_t x84 = (uint8_t)(x81 & UINT8_C(0xff)); - uint64_t x85 = (x83 >> 8); - uint8_t x86 = (uint8_t)(x83 & UINT8_C(0xff)); - uint8_t x87 = (uint8_t)(x85 >> 8); - uint8_t x88 = (uint8_t)(x85 & UINT8_C(0xff)); - fiat_p384_uint1 x89 = (fiat_p384_uint1)(x87 >> 8); + uint8_t x85 = (uint8_t)(x83 & UINT8_C(0xff)); + uint64_t x86 = (0x0 + x1); + uint64_t x87 = (x86 >> 8); + uint8_t x88 = (uint8_t)(x86 & UINT8_C(0xff)); + uint64_t x89 = (x87 >> 8); uint8_t x90 = (uint8_t)(x87 & UINT8_C(0xff)); - uint64_t x91 = (x89 + x1); - uint64_t x92 = (x91 >> 8); - uint8_t x93 = (uint8_t)(x91 & UINT8_C(0xff)); - uint64_t x94 = (x92 >> 8); - uint8_t x95 = (uint8_t)(x92 & UINT8_C(0xff)); - uint64_t x96 = (x94 >> 8); - uint8_t x97 = (uint8_t)(x94 & UINT8_C(0xff)); - uint64_t x98 = (x96 >> 8); - uint8_t x99 = (uint8_t)(x96 & UINT8_C(0xff)); - uint64_t x100 = (x98 >> 8); - uint8_t x101 = (uint8_t)(x98 & UINT8_C(0xff)); - uint64_t x102 = (x100 >> 8); - uint8_t x103 = (uint8_t)(x100 & UINT8_C(0xff)); - uint8_t x104 = (uint8_t)(x102 >> 8); - uint8_t x105 = (uint8_t)(x102 & UINT8_C(0xff)); + uint64_t x91 = (x89 >> 8); + uint8_t x92 = (uint8_t)(x89 & UINT8_C(0xff)); + uint64_t x93 = (x91 >> 8); + uint8_t x94 = (uint8_t)(x91 & UINT8_C(0xff)); + uint64_t x95 = (x93 >> 8); + uint8_t x96 = (uint8_t)(x93 & UINT8_C(0xff)); + uint64_t x97 = (x95 >> 8); + uint8_t x98 = (uint8_t)(x95 & UINT8_C(0xff)); + uint8_t x99 = (uint8_t)(x97 >> 8); + uint8_t x100 = (uint8_t)(x97 & UINT8_C(0xff)); out1[0] = x8; out1[1] = x10; out1[2] = x12; @@ -2455,47 +2450,47 @@ static void fiat_p384_to_bytes(uint8_t out1[48], const uint64_t arg1[6]) { out1[4] = x16; out1[5] = x18; out1[6] = x20; - out1[7] = x22; - out1[8] = x25; - out1[9] = x27; - out1[10] = x29; - out1[11] = x31; - out1[12] = x33; - out1[13] = x35; - out1[14] = x37; - out1[15] = x39; - out1[16] = x42; - out1[17] = x44; - out1[18] = x46; - out1[19] = x48; - out1[20] = x50; - out1[21] = x52; - out1[22] = x54; - out1[23] = x56; - out1[24] = x59; - out1[25] = x61; - out1[26] = x63; - out1[27] = x65; - out1[28] = x67; - out1[29] = x69; - out1[30] = x71; - out1[31] = x73; - out1[32] = x76; - out1[33] = x78; - out1[34] = x80; - out1[35] = x82; - out1[36] = x84; - out1[37] = x86; - out1[38] = x88; - out1[39] = x90; - out1[40] = x93; - out1[41] = x95; - out1[42] = x97; - out1[43] = x99; - out1[44] = x101; - out1[45] = x103; - out1[46] = x105; - out1[47] = x104; + out1[7] = x21; + out1[8] = x24; + out1[9] = x26; + out1[10] = x28; + out1[11] = x30; + out1[12] = x32; + out1[13] = x34; + out1[14] = x36; + out1[15] = x37; + out1[16] = x40; + out1[17] = x42; + out1[18] = x44; + out1[19] = x46; + out1[20] = x48; + out1[21] = x50; + out1[22] = x52; + out1[23] = x53; + out1[24] = x56; + out1[25] = x58; + out1[26] = x60; + out1[27] = x62; + out1[28] = x64; + out1[29] = x66; + out1[30] = x68; + out1[31] = x69; + out1[32] = x72; + out1[33] = x74; + out1[34] = x76; + out1[35] = x78; + out1[36] = x80; + out1[37] = x82; + out1[38] = x84; + out1[39] = x85; + out1[40] = x88; + out1[41] = x90; + out1[42] = x92; + out1[43] = x94; + out1[44] = x96; + out1[45] = x98; + out1[46] = x100; + out1[47] = x99; } /* @@ -2554,31 +2549,26 @@ static void fiat_p384_from_bytes(uint64_t out1[6], const uint8_t arg1[48]) { uint64_t x47 = ((uint64_t)(arg1[1]) << 8); uint8_t x48 = (arg1[0]); uint64_t x49 = (x48 + (x47 + (x46 + (x45 + (x44 + (x43 + (x42 + x41))))))); - fiat_p384_uint1 x50 = (fiat_p384_uint1)((fiat_p384_uint128)x49 >> 64); - uint64_t x51 = (x49 & UINT64_C(0xffffffffffffffff)); - uint64_t x52 = (x8 + (x7 + (x6 + (x5 + (x4 + (x3 + (x2 + x1))))))); - uint64_t x53 = (x16 + (x15 + (x14 + (x13 + (x12 + (x11 + (x10 + x9))))))); - uint64_t x54 = (x24 + (x23 + (x22 + (x21 + (x20 + (x19 + (x18 + x17))))))); - uint64_t x55 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + (x26 + x25))))))); - uint64_t x56 = (x40 + (x39 + (x38 + (x37 + (x36 + (x35 + (x34 + x33))))))); - uint64_t x57 = (x50 + x56); - fiat_p384_uint1 x58 = (fiat_p384_uint1)((fiat_p384_uint128)x57 >> 64); - uint64_t x59 = (x57 & UINT64_C(0xffffffffffffffff)); - uint64_t x60 = (x58 + x55); - fiat_p384_uint1 x61 = (fiat_p384_uint1)((fiat_p384_uint128)x60 >> 64); - uint64_t x62 = (x60 & UINT64_C(0xffffffffffffffff)); - uint64_t x63 = (x61 + x54); - fiat_p384_uint1 x64 = (fiat_p384_uint1)((fiat_p384_uint128)x63 >> 64); - uint64_t x65 = (x63 & UINT64_C(0xffffffffffffffff)); - uint64_t x66 = (x64 + x53); - fiat_p384_uint1 x67 = (fiat_p384_uint1)((fiat_p384_uint128)x66 >> 64); - uint64_t x68 = (x66 & UINT64_C(0xffffffffffffffff)); - uint64_t x69 = (x67 + x52); - out1[0] = x51; - out1[1] = x59; - out1[2] = x62; - out1[3] = x65; - out1[4] = x68; - out1[5] = x69; + uint64_t x50 = (x49 & UINT64_C(0xffffffffffffffff)); + uint64_t x51 = (x8 + (x7 + (x6 + (x5 + (x4 + (x3 + (x2 + x1))))))); + uint64_t x52 = (x16 + (x15 + (x14 + (x13 + (x12 + (x11 + (x10 + x9))))))); + uint64_t x53 = (x24 + (x23 + (x22 + (x21 + (x20 + (x19 + (x18 + x17))))))); + uint64_t x54 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + (x26 + x25))))))); + uint64_t x55 = (x40 + (x39 + (x38 + (x37 + (x36 + (x35 + (x34 + x33))))))); + uint64_t x56 = (0x0 + x55); + uint64_t x57 = (x56 & UINT64_C(0xffffffffffffffff)); + uint64_t x58 = (0x0 + x54); + uint64_t x59 = (x58 & UINT64_C(0xffffffffffffffff)); + uint64_t x60 = (0x0 + x53); + uint64_t x61 = (x60 & UINT64_C(0xffffffffffffffff)); + uint64_t x62 = (0x0 + x52); + uint64_t x63 = (x62 & UINT64_C(0xffffffffffffffff)); + uint64_t x64 = (0x0 + x51); + out1[0] = x50; + out1[1] = x57; + out1[2] = x59; + out1[3] = x61; + out1[4] = x63; + out1[5] = x64; } -- cgit v1.2.3