aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2018-07-20 12:51:16 -0400
committerGravatar Jason Gross <jasongross9@gmail.com>2018-07-21 03:47:14 +0100
commit13aca43ad47253e5ea6acb7acd1ee7d8c92ae0dd (patch)
treeec761ad8f4f35e1efbb2745fde10740aac0f677d
parent875789c7756941296306b6781142f62d0d5e5fbe (diff)
Add some primes to be synthesized
-rw-r--r--.travis.yml4
-rw-r--r--Makefile64
-rw-r--r--p224_32.c2790
-rw-r--r--p224_64.c1329
-rw-r--r--p256_32.c247
-rw-r--r--p256_64.c183
-rw-r--r--p384_32.c7566
-rw-r--r--p384_64.c2585
-rw-r--r--p521_32.c1524
-rw-r--r--p521_64.c912
-rw-r--r--secp256k1_32.c4023
-rw-r--r--secp256k1_64.c1401
12 files changed, 22377 insertions, 251 deletions
diff --git a/.travis.yml b/.travis.yml
index de21f52bb..58c9f29fb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -124,10 +124,10 @@ jobs:
- stage: standalone-ocaml
env: COQ_VERSION="8.8.0" COQ_PACKAGE="coq-8.8.0" PPA="ppa:jgross-h/many-coq-versions"
- script: PREV=4 CUR=5 ./etc/ci/travis.sh standalone-ocaml c-files
+ script: PREV=4 CUR=5 ./etc/ci/travis.sh standalone-ocaml c-files test-c-files CC=gcc
- stage: standalone-ocaml
env: COQ_VERSION="8.7.2" COQ_PACKAGE="coq-8.7.2" PPA="ppa:jgross-h/many-coq-versions"
- script: PREV=4 CUR=5 ./etc/ci/travis.sh standalone-ocaml c-files
+ script: PREV=4 CUR=5 ./etc/ci/travis.sh standalone-ocaml c-files test-c-files CC=gcc
# - stage: selected-test selected-bench
# env: COQ_VERSION="8.8.0" COQ_PACKAGE="coq-8.8.0" PPA="ppa:jgross-h/many-coq-versions"
diff --git a/Makefile b/Makefile
index 695398714..2dc80f34c 100644
--- a/Makefile
+++ b/Makefile
@@ -6,6 +6,9 @@ TIMED?=
TIMECMD?=
STDTIME?=/usr/bin/time -f "$* (real: %e, user: %U, sys: %S, mem: %M ko)"
TIMER=$(if $(TIMED), $(STDTIME), $(TIMECMD))
+TIMECMD_FULL?=
+STDTIME_FULL?=/usr/bin/time -f "$@ (real: %e, user: %U, sys: %S, mem: %M ko)"
+TIMER_FULL=$(if $(TIMED), $(STDTIME_FULL), $(TIMECMD_FULL))
GHC?=ghc
GHCFLAGS?= # -XStrict
@@ -30,7 +33,7 @@ INSTALLDEFAULTROOT := Crypto
SORT_COQPROJECT = sed 's,[^/]*/,~&,g' | env LC_COLLATE=C sort | sed 's,~,,g' | uniq
FAST_TARGETS += archclean clean cleanall clean-coqprime printenv clean-old update-_CoqProject regenerate-curves Makefile.coq
-SUPER_FAST_TARGETS += update-_CoqProject Makefile.coq regenerate-curves
+SUPER_FAST_TARGETS += update-_CoqProject Makefile.coq regenerate-curves only-test-c-files
SLOW :=
ifneq ($(filter-out $(SUPER_FAST_TARGETS),$(MAKECMDGOALS)),)
@@ -500,27 +503,70 @@ standalone: standalone-haskell standalone-ocaml
standalone-haskell: $(STANDALONE:%=src/Experiments/NewPipeline/ExtractionHaskell/%)
standalone-ocaml: $(STANDALONE:%=src/Experiments/NewPipeline/ExtractionOCaml/%)
-UNSATURATED_SOLINAS_C_FILES := curve25519_64.c curve25519_32.c
-WORD_BY_WORD_MONTGOMERY_C_FILES := p256_64.c p256_32.c
+UNSATURATED_SOLINAS_C_FILES := curve25519_64.c curve25519_32.c p521_64.c p521_32.c # p224_solinas_64.c
+WORD_BY_WORD_MONTGOMERY_C_FILES := p256_64.c p256_32.c p384_64.c p384_32.c secp256k1_64.c secp256k1_32.c p224_64.c p224_32.c
FUNCTIONS_FOR_25519 := carry_mul carry_square carry_scmul121666 carry add sub opp selectznz to_bytes from_bytes
UNSATURATED_SOLINAS := src/Experiments/NewPipeline/ExtractionOCaml/unsaturated_solinas
WORD_BY_WORD_MONTGOMERY := src/Experiments/NewPipeline/ExtractionOCaml/word_by_word_montgomery
+ALL_C_FILES := $(UNSATURATED_SOLINAS_C_FILES) $(WORD_BY_WORD_MONTGOMERY_C_FILES)
.PHONY: c-files
-c-files: $(UNSATURATED_SOLINAS_C_FILES) $(WORD_BY_WORD_MONTGOMERY_C_FILES)
+c-files: $(ALL_C_FILES)
-$(UNSATURATED_SOLINAS_C_FILES): $(UNSATURATED_SOLINAS)
+$(UNSATURATED_SOLINAS_C_FILES): $(UNSATURATED_SOLINAS) # Makefile
-$(WORD_BY_WORD_MONTGOMERY_C_FILES): $(WORD_BY_WORD_MONTGOMERY)
+$(WORD_BY_WORD_MONTGOMERY_C_FILES): $(WORD_BY_WORD_MONTGOMERY) # Makefile
+# 2^255 - 19
curve25519_64.c:
- $(UNSATURATED_SOLINAS) '25519' '5' '2^255' '1,19' '64' $(FUNCTIONS_FOR_25519) > $@
+ $(SHOW)'SYNTHESIZE > $@'
+ $(HIDE)$(TIMER_FULL) $(UNSATURATED_SOLINAS) '25519' '5' '2^255' '1,19' '64' $(FUNCTIONS_FOR_25519) > $@
+# 2^255 - 19
curve25519_32.c:
- $(UNSATURATED_SOLINAS) '25519' '10' '2^255' '1,19' '32' $(FUNCTIONS_FOR_25519) > $@
+ $(SHOW)'SYNTHESIZE > $@'
+ $(HIDE)$(TIMER_FULL) $(UNSATURATED_SOLINAS) '25519' '10' '2^255' '1,19' '32' $(FUNCTIONS_FOR_25519) > $@
+
+# 2^521 - 1
+p521_64.c:
+ $(SHOW)'SYNTHESIZE > $@'
+ $(HIDE)$(TIMER_FULL) $(UNSATURATED_SOLINAS) 'p521' '9' '2^521' '1,1' '64' > $@
+
+# 2^521 - 1
+p521_32.c:
+ $(SHOW)'SYNTHESIZE > $@'
+ $(HIDE)$(TIMER_FULL) $(UNSATURATED_SOLINAS) 'p521' '17' '2^521' '1,1' '32' > $@
+
+## 2^224 - 2^96 + 1 ## does not bounds check
+#p224_solinas_64.c:
+# $(SHOW)'SYNTHESIZE > $@'
+# $(HIDE)$(TIMER_FULL) $(UNSATURATED_SOLINAS) 'p224' '4' '2^224' '2^96,1;1,-1' '64' > $@
# 2^256 - 2^224 + 2^192 + 2^96 - 1
p256_64.c p256_32.c : p256_%.c :
- $(WORD_BY_WORD_MONTGOMERY) 'p256' '2^256' '2^224,1;2^192,-1;2^96,-1;1,1' '$*' > $@
+ $(SHOW)'SYNTHESIZE > $@'
+ $(HIDE)$(TIMER_FULL) $(WORD_BY_WORD_MONTGOMERY) 'p256' '2^256' '2^224,1;2^192,-1;2^96,-1;1,1' '$*' > $@
+
+# 2^256 - 2^32 - 977
+secp256k1_64.c secp256k1_32.c : secp256k1_%.c :
+ $(SHOW)'SYNTHESIZE > $@'
+ $(HIDE)$(TIMER_FULL) $(WORD_BY_WORD_MONTGOMERY) 'secp256k1' '2^256' '2^32,1;1,977' '$*' > $@
+
+# 2^384 - 2^128 - 2^96 + 2^32 - 1
+p384_64.c p384_32.c : p384_%.c :
+ $(SHOW)'SYNTHESIZE > $@'
+ $(HIDE)$(TIMER_FULL) $(WORD_BY_WORD_MONTGOMERY) 'p384' '2^384' '2^128,1;2^96,1;2^32,-1;1,1' '$*' > $@
+
+# 2^224 - 2^96 + 1
+p224_64.c p224_32.c : p224_%.c :
+ $(SHOW)'SYNTHESIZE > $@'
+ $(HIDE)$(TIMER_FULL) $(WORD_BY_WORD_MONTGOMERY) 'p224' '2^224' '2^96,1;1,-1' '$*' > $@
+
+CFLAGS?=
+.PHONY: only-test-c-files test-c-files
+only-test-c-files test-c-files:
+ $(CC) -Wall -Wno-unused-function -Werror $(CFLAGS) -c $(ALL_C_FILES)
+
+test-c-files: $(ALL_C_FILES)
clean::
rm -f Makefile.coq remake_curves.log src/Specific/.autgenerated-deps
diff --git a/p224_32.c b/p224_32.c
new file mode 100644
index 000000000..5078e8a6e
--- /dev/null
+++ b/p224_32.c
@@ -0,0 +1,2790 @@
+/* Autogenerated */
+/* curve description: p224 */
+/* requested operations: (all) */
+/* s = 0x100000000000000000000000000000000000000000000000000000000 (from "2^224") */
+/* c = [(79228162514264337593543950336, 1), (1, -1)] (from "2^96,1;1,-1") */
+/* machine_wordsize = 32 (from "32") */
+/* */
+/* NOTE: In addition to the bounds specified above each function, all */
+/* functions synthesized for this Montgomery arithmetic require the */
+/* input to be strictly less than the prime modulus (s-c), and also */
+/* require the input to be in the unique saturated representation. */
+/* All functions also ensure that these two properties are true of */
+/* return values. */
+
+#include <stdint.h>
+typedef unsigned char fiat_p224_uint1;
+typedef signed char fiat_p224_int1;
+
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffff]
+ * arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p224_addcarryx_u32(uint32_t* out1, fiat_p224_uint1* out2, fiat_p224_uint1 arg1, uint32_t arg2, uint32_t arg3) {
+ uint64_t x1 = ((arg1 + (uint64_t)arg2) + arg3);
+ uint32_t x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+ fiat_p224_uint1 x3 = (fiat_p224_uint1)(x1 >> 32);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffff]
+ * arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p224_subborrowx_u32(uint32_t* out1, fiat_p224_uint1* out2, fiat_p224_uint1 arg1, uint32_t arg2, uint32_t arg3) {
+ int64_t x1 = ((arg2 - (int64_t)arg1) - arg3);
+ fiat_p224_int1 x2 = (fiat_p224_int1)((uint64_t)x1 >> 32);
+ uint32_t x3 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+ *out1 = x3;
+ *out2 = (fiat_p224_uint1)(0x0 - x2);
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0xffffffff]
+ * arg2: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ * out2: [0x0 ~> 0xffffffff]
+ */
+static void fiat_p224_mulx_u32(uint32_t* out1, uint32_t* out2, uint32_t arg1, uint32_t arg2) {
+ uint64_t x1 = ((uint64_t)arg1 * arg2);
+ uint32_t x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+ uint32_t x3 = (uint32_t)(x1 >> 32);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffff]
+ * arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ */
+static void fiat_p224_cmovznz_u32(uint32_t* out1, fiat_p224_uint1 arg1, uint32_t arg2, uint32_t arg3) {
+ fiat_p224_uint1 x1 = (!(!arg1));
+ uint32_t x2 = ((fiat_p224_int1)(0x0 - x1) & UINT32_C(0xffffffff));
+ uint32_t x3 = ((x2 & arg3) | (uint32_t)((uint64_t)(~x2) & arg2));
+ *out1 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p224_mul(uint32_t out1[7], const uint32_t arg1[7], const uint32_t arg2[7]) {
+ uint32_t x1 = (arg1[1]);
+ uint32_t x2 = (arg1[2]);
+ uint32_t x3 = (arg1[3]);
+ uint32_t x4 = (arg1[4]);
+ uint32_t x5 = (arg1[5]);
+ uint32_t x6 = (arg1[6]);
+ uint32_t x7 = (arg1[0]);
+ uint32_t x8;
+ uint32_t x9;
+ fiat_p224_mulx_u32(&x8, &x9, x7, (arg2[6]));
+ uint32_t x10;
+ uint32_t x11;
+ fiat_p224_mulx_u32(&x10, &x11, x7, (arg2[5]));
+ uint32_t x12;
+ uint32_t x13;
+ fiat_p224_mulx_u32(&x12, &x13, x7, (arg2[4]));
+ uint32_t x14;
+ uint32_t x15;
+ fiat_p224_mulx_u32(&x14, &x15, x7, (arg2[3]));
+ uint32_t x16;
+ uint32_t x17;
+ fiat_p224_mulx_u32(&x16, &x17, x7, (arg2[2]));
+ uint32_t x18;
+ uint32_t x19;
+ fiat_p224_mulx_u32(&x18, &x19, x7, (arg2[1]));
+ uint32_t x20;
+ uint32_t x21;
+ fiat_p224_mulx_u32(&x20, &x21, x7, (arg2[0]));
+ uint32_t x22;
+ fiat_p224_uint1 x23;
+ fiat_p224_addcarryx_u32(&x22, &x23, 0x0, x18, x21);
+ uint32_t x24;
+ fiat_p224_uint1 x25;
+ fiat_p224_addcarryx_u32(&x24, &x25, x23, x16, x19);
+ uint32_t x26;
+ fiat_p224_uint1 x27;
+ fiat_p224_addcarryx_u32(&x26, &x27, x25, x14, x17);
+ uint32_t x28;
+ fiat_p224_uint1 x29;
+ fiat_p224_addcarryx_u32(&x28, &x29, x27, x12, x15);
+ uint32_t x30;
+ fiat_p224_uint1 x31;
+ fiat_p224_addcarryx_u32(&x30, &x31, x29, x10, x13);
+ uint32_t x32;
+ fiat_p224_uint1 x33;
+ fiat_p224_addcarryx_u32(&x32, &x33, x31, x8, x11);
+ uint32_t x34;
+ fiat_p224_uint1 x35;
+ fiat_p224_addcarryx_u32(&x34, &x35, x33, 0x0, x9);
+ uint32_t x36;
+ uint32_t x37;
+ fiat_p224_mulx_u32(&x36, &x37, x20, UINT32_C(0xffffffff));
+ uint32_t x38;
+ uint32_t x39;
+ fiat_p224_mulx_u32(&x38, &x39, x36, UINT32_C(0xffffffff));
+ uint32_t x40;
+ uint32_t x41;
+ fiat_p224_mulx_u32(&x40, &x41, x36, UINT32_C(0xffffffff));
+ uint32_t x42;
+ uint32_t x43;
+ fiat_p224_mulx_u32(&x42, &x43, x36, UINT32_C(0xffffffff));
+ uint32_t x44;
+ uint32_t x45;
+ fiat_p224_mulx_u32(&x44, &x45, x36, UINT32_C(0xffffffff));
+ uint32_t x46;
+ fiat_p224_uint1 x47;
+ fiat_p224_addcarryx_u32(&x46, &x47, 0x0, x42, x45);
+ uint32_t x48;
+ fiat_p224_uint1 x49;
+ fiat_p224_addcarryx_u32(&x48, &x49, x47, x40, x43);
+ uint32_t x50;
+ fiat_p224_uint1 x51;
+ fiat_p224_addcarryx_u32(&x50, &x51, x49, x38, x41);
+ uint32_t x52;
+ fiat_p224_uint1 x53;
+ fiat_p224_addcarryx_u32(&x52, &x53, x51, 0x0, x39);
+ uint32_t x54;
+ fiat_p224_uint1 x55;
+ fiat_p224_addcarryx_u32(&x54, &x55, 0x0, x36, x20);
+ uint32_t x56;
+ fiat_p224_uint1 x57;
+ fiat_p224_addcarryx_u32(&x56, &x57, x55, 0x0, x22);
+ uint32_t x58;
+ fiat_p224_uint1 x59;
+ fiat_p224_addcarryx_u32(&x58, &x59, x57, 0x0, x24);
+ uint32_t x60;
+ fiat_p224_uint1 x61;
+ fiat_p224_addcarryx_u32(&x60, &x61, x59, x44, x26);
+ uint32_t x62;
+ fiat_p224_uint1 x63;
+ fiat_p224_addcarryx_u32(&x62, &x63, x61, x46, x28);
+ uint32_t x64;
+ fiat_p224_uint1 x65;
+ fiat_p224_addcarryx_u32(&x64, &x65, x63, x48, x30);
+ uint32_t x66;
+ fiat_p224_uint1 x67;
+ fiat_p224_addcarryx_u32(&x66, &x67, x65, x50, x32);
+ uint32_t x68;
+ fiat_p224_uint1 x69;
+ fiat_p224_addcarryx_u32(&x68, &x69, x67, x52, x34);
+ uint32_t x70;
+ fiat_p224_uint1 x71;
+ fiat_p224_addcarryx_u32(&x70, &x71, x69, 0x0, 0x0);
+ uint32_t x72;
+ uint32_t x73;
+ fiat_p224_mulx_u32(&x72, &x73, x1, (arg2[6]));
+ uint32_t x74;
+ uint32_t x75;
+ fiat_p224_mulx_u32(&x74, &x75, x1, (arg2[5]));
+ uint32_t x76;
+ uint32_t x77;
+ fiat_p224_mulx_u32(&x76, &x77, x1, (arg2[4]));
+ uint32_t x78;
+ uint32_t x79;
+ fiat_p224_mulx_u32(&x78, &x79, x1, (arg2[3]));
+ uint32_t x80;
+ uint32_t x81;
+ fiat_p224_mulx_u32(&x80, &x81, x1, (arg2[2]));
+ uint32_t x82;
+ uint32_t x83;
+ fiat_p224_mulx_u32(&x82, &x83, x1, (arg2[1]));
+ uint32_t x84;
+ uint32_t x85;
+ fiat_p224_mulx_u32(&x84, &x85, x1, (arg2[0]));
+ uint32_t x86;
+ fiat_p224_uint1 x87;
+ fiat_p224_addcarryx_u32(&x86, &x87, 0x0, x82, x85);
+ uint32_t x88;
+ fiat_p224_uint1 x89;
+ fiat_p224_addcarryx_u32(&x88, &x89, x87, x80, x83);
+ uint32_t x90;
+ fiat_p224_uint1 x91;
+ fiat_p224_addcarryx_u32(&x90, &x91, x89, x78, x81);
+ uint32_t x92;
+ fiat_p224_uint1 x93;
+ fiat_p224_addcarryx_u32(&x92, &x93, x91, x76, x79);
+ uint32_t x94;
+ fiat_p224_uint1 x95;
+ fiat_p224_addcarryx_u32(&x94, &x95, x93, x74, x77);
+ uint32_t x96;
+ fiat_p224_uint1 x97;
+ fiat_p224_addcarryx_u32(&x96, &x97, x95, x72, x75);
+ uint32_t x98;
+ fiat_p224_uint1 x99;
+ fiat_p224_addcarryx_u32(&x98, &x99, x97, 0x0, x73);
+ uint32_t x100;
+ fiat_p224_uint1 x101;
+ fiat_p224_addcarryx_u32(&x100, &x101, 0x0, x84, x56);
+ uint32_t x102;
+ fiat_p224_uint1 x103;
+ fiat_p224_addcarryx_u32(&x102, &x103, x101, x86, x58);
+ uint32_t x104;
+ fiat_p224_uint1 x105;
+ fiat_p224_addcarryx_u32(&x104, &x105, x103, x88, x60);
+ uint32_t x106;
+ fiat_p224_uint1 x107;
+ fiat_p224_addcarryx_u32(&x106, &x107, x105, x90, x62);
+ uint32_t x108;
+ fiat_p224_uint1 x109;
+ fiat_p224_addcarryx_u32(&x108, &x109, x107, x92, x64);
+ uint32_t x110;
+ fiat_p224_uint1 x111;
+ fiat_p224_addcarryx_u32(&x110, &x111, x109, x94, x66);
+ uint32_t x112;
+ fiat_p224_uint1 x113;
+ fiat_p224_addcarryx_u32(&x112, &x113, x111, x96, x68);
+ uint32_t x114;
+ fiat_p224_uint1 x115;
+ fiat_p224_addcarryx_u32(&x114, &x115, x113, x98, (fiat_p224_uint1)x70);
+ uint32_t x116;
+ uint32_t x117;
+ fiat_p224_mulx_u32(&x116, &x117, x100, UINT32_C(0xffffffff));
+ uint32_t x118;
+ uint32_t x119;
+ fiat_p224_mulx_u32(&x118, &x119, x116, UINT32_C(0xffffffff));
+ uint32_t x120;
+ uint32_t x121;
+ fiat_p224_mulx_u32(&x120, &x121, x116, UINT32_C(0xffffffff));
+ uint32_t x122;
+ uint32_t x123;
+ fiat_p224_mulx_u32(&x122, &x123, x116, UINT32_C(0xffffffff));
+ uint32_t x124;
+ uint32_t x125;
+ fiat_p224_mulx_u32(&x124, &x125, x116, UINT32_C(0xffffffff));
+ uint32_t x126;
+ fiat_p224_uint1 x127;
+ fiat_p224_addcarryx_u32(&x126, &x127, 0x0, x122, x125);
+ uint32_t x128;
+ fiat_p224_uint1 x129;
+ fiat_p224_addcarryx_u32(&x128, &x129, x127, x120, x123);
+ uint32_t x130;
+ fiat_p224_uint1 x131;
+ fiat_p224_addcarryx_u32(&x130, &x131, x129, x118, x121);
+ uint32_t x132;
+ fiat_p224_uint1 x133;
+ fiat_p224_addcarryx_u32(&x132, &x133, x131, 0x0, x119);
+ uint32_t x134;
+ fiat_p224_uint1 x135;
+ fiat_p224_addcarryx_u32(&x134, &x135, 0x0, x116, x100);
+ uint32_t x136;
+ fiat_p224_uint1 x137;
+ fiat_p224_addcarryx_u32(&x136, &x137, x135, 0x0, x102);
+ uint32_t x138;
+ fiat_p224_uint1 x139;
+ fiat_p224_addcarryx_u32(&x138, &x139, x137, 0x0, x104);
+ uint32_t x140;
+ fiat_p224_uint1 x141;
+ fiat_p224_addcarryx_u32(&x140, &x141, x139, x124, x106);
+ uint32_t x142;
+ fiat_p224_uint1 x143;
+ fiat_p224_addcarryx_u32(&x142, &x143, x141, x126, x108);
+ uint32_t x144;
+ fiat_p224_uint1 x145;
+ fiat_p224_addcarryx_u32(&x144, &x145, x143, x128, x110);
+ uint32_t x146;
+ fiat_p224_uint1 x147;
+ fiat_p224_addcarryx_u32(&x146, &x147, x145, x130, x112);
+ uint32_t x148;
+ fiat_p224_uint1 x149;
+ fiat_p224_addcarryx_u32(&x148, &x149, x147, x132, x114);
+ uint32_t x150;
+ fiat_p224_uint1 x151;
+ fiat_p224_addcarryx_u32(&x150, &x151, x149, 0x0, x115);
+ uint32_t x152;
+ uint32_t x153;
+ fiat_p224_mulx_u32(&x152, &x153, x2, (arg2[6]));
+ uint32_t x154;
+ uint32_t x155;
+ fiat_p224_mulx_u32(&x154, &x155, x2, (arg2[5]));
+ uint32_t x156;
+ uint32_t x157;
+ fiat_p224_mulx_u32(&x156, &x157, x2, (arg2[4]));
+ uint32_t x158;
+ uint32_t x159;
+ fiat_p224_mulx_u32(&x158, &x159, x2, (arg2[3]));
+ uint32_t x160;
+ uint32_t x161;
+ fiat_p224_mulx_u32(&x160, &x161, x2, (arg2[2]));
+ uint32_t x162;
+ uint32_t x163;
+ fiat_p224_mulx_u32(&x162, &x163, x2, (arg2[1]));
+ uint32_t x164;
+ uint32_t x165;
+ fiat_p224_mulx_u32(&x164, &x165, x2, (arg2[0]));
+ uint32_t x166;
+ fiat_p224_uint1 x167;
+ fiat_p224_addcarryx_u32(&x166, &x167, 0x0, x162, x165);
+ uint32_t x168;
+ fiat_p224_uint1 x169;
+ fiat_p224_addcarryx_u32(&x168, &x169, x167, x160, x163);
+ uint32_t x170;
+ fiat_p224_uint1 x171;
+ fiat_p224_addcarryx_u32(&x170, &x171, x169, x158, x161);
+ uint32_t x172;
+ fiat_p224_uint1 x173;
+ fiat_p224_addcarryx_u32(&x172, &x173, x171, x156, x159);
+ uint32_t x174;
+ fiat_p224_uint1 x175;
+ fiat_p224_addcarryx_u32(&x174, &x175, x173, x154, x157);
+ uint32_t x176;
+ fiat_p224_uint1 x177;
+ fiat_p224_addcarryx_u32(&x176, &x177, x175, x152, x155);
+ uint32_t x178;
+ fiat_p224_uint1 x179;
+ fiat_p224_addcarryx_u32(&x178, &x179, x177, 0x0, x153);
+ uint32_t x180;
+ fiat_p224_uint1 x181;
+ fiat_p224_addcarryx_u32(&x180, &x181, 0x0, x164, x136);
+ uint32_t x182;
+ fiat_p224_uint1 x183;
+ fiat_p224_addcarryx_u32(&x182, &x183, x181, x166, x138);
+ uint32_t x184;
+ fiat_p224_uint1 x185;
+ fiat_p224_addcarryx_u32(&x184, &x185, x183, x168, x140);
+ uint32_t x186;
+ fiat_p224_uint1 x187;
+ fiat_p224_addcarryx_u32(&x186, &x187, x185, x170, x142);
+ uint32_t x188;
+ fiat_p224_uint1 x189;
+ fiat_p224_addcarryx_u32(&x188, &x189, x187, x172, x144);
+ uint32_t x190;
+ fiat_p224_uint1 x191;
+ fiat_p224_addcarryx_u32(&x190, &x191, x189, x174, x146);
+ uint32_t x192;
+ fiat_p224_uint1 x193;
+ fiat_p224_addcarryx_u32(&x192, &x193, x191, x176, x148);
+ uint32_t x194;
+ fiat_p224_uint1 x195;
+ fiat_p224_addcarryx_u32(&x194, &x195, x193, x178, x150);
+ uint32_t x196;
+ uint32_t x197;
+ fiat_p224_mulx_u32(&x196, &x197, x180, UINT32_C(0xffffffff));
+ uint32_t x198;
+ uint32_t x199;
+ fiat_p224_mulx_u32(&x198, &x199, x196, UINT32_C(0xffffffff));
+ uint32_t x200;
+ uint32_t x201;
+ fiat_p224_mulx_u32(&x200, &x201, x196, UINT32_C(0xffffffff));
+ uint32_t x202;
+ uint32_t x203;
+ fiat_p224_mulx_u32(&x202, &x203, x196, UINT32_C(0xffffffff));
+ uint32_t x204;
+ uint32_t x205;
+ fiat_p224_mulx_u32(&x204, &x205, x196, UINT32_C(0xffffffff));
+ uint32_t x206;
+ fiat_p224_uint1 x207;
+ fiat_p224_addcarryx_u32(&x206, &x207, 0x0, x202, x205);
+ uint32_t x208;
+ fiat_p224_uint1 x209;
+ fiat_p224_addcarryx_u32(&x208, &x209, x207, x200, x203);
+ uint32_t x210;
+ fiat_p224_uint1 x211;
+ fiat_p224_addcarryx_u32(&x210, &x211, x209, x198, x201);
+ uint32_t x212;
+ fiat_p224_uint1 x213;
+ fiat_p224_addcarryx_u32(&x212, &x213, x211, 0x0, x199);
+ uint32_t x214;
+ fiat_p224_uint1 x215;
+ fiat_p224_addcarryx_u32(&x214, &x215, 0x0, x196, x180);
+ uint32_t x216;
+ fiat_p224_uint1 x217;
+ fiat_p224_addcarryx_u32(&x216, &x217, x215, 0x0, x182);
+ uint32_t x218;
+ fiat_p224_uint1 x219;
+ fiat_p224_addcarryx_u32(&x218, &x219, x217, 0x0, x184);
+ uint32_t x220;
+ fiat_p224_uint1 x221;
+ fiat_p224_addcarryx_u32(&x220, &x221, x219, x204, x186);
+ uint32_t x222;
+ fiat_p224_uint1 x223;
+ fiat_p224_addcarryx_u32(&x222, &x223, x221, x206, x188);
+ uint32_t x224;
+ fiat_p224_uint1 x225;
+ fiat_p224_addcarryx_u32(&x224, &x225, x223, x208, x190);
+ uint32_t x226;
+ fiat_p224_uint1 x227;
+ fiat_p224_addcarryx_u32(&x226, &x227, x225, x210, x192);
+ uint32_t x228;
+ fiat_p224_uint1 x229;
+ fiat_p224_addcarryx_u32(&x228, &x229, x227, x212, x194);
+ uint32_t x230;
+ fiat_p224_uint1 x231;
+ fiat_p224_addcarryx_u32(&x230, &x231, x229, 0x0, x195);
+ uint32_t x232;
+ uint32_t x233;
+ fiat_p224_mulx_u32(&x232, &x233, x3, (arg2[6]));
+ uint32_t x234;
+ uint32_t x235;
+ fiat_p224_mulx_u32(&x234, &x235, x3, (arg2[5]));
+ uint32_t x236;
+ uint32_t x237;
+ fiat_p224_mulx_u32(&x236, &x237, x3, (arg2[4]));
+ uint32_t x238;
+ uint32_t x239;
+ fiat_p224_mulx_u32(&x238, &x239, x3, (arg2[3]));
+ uint32_t x240;
+ uint32_t x241;
+ fiat_p224_mulx_u32(&x240, &x241, x3, (arg2[2]));
+ uint32_t x242;
+ uint32_t x243;
+ fiat_p224_mulx_u32(&x242, &x243, x3, (arg2[1]));
+ uint32_t x244;
+ uint32_t x245;
+ fiat_p224_mulx_u32(&x244, &x245, x3, (arg2[0]));
+ uint32_t x246;
+ fiat_p224_uint1 x247;
+ fiat_p224_addcarryx_u32(&x246, &x247, 0x0, x242, x245);
+ uint32_t x248;
+ fiat_p224_uint1 x249;
+ fiat_p224_addcarryx_u32(&x248, &x249, x247, x240, x243);
+ uint32_t x250;
+ fiat_p224_uint1 x251;
+ fiat_p224_addcarryx_u32(&x250, &x251, x249, x238, x241);
+ uint32_t x252;
+ fiat_p224_uint1 x253;
+ fiat_p224_addcarryx_u32(&x252, &x253, x251, x236, x239);
+ uint32_t x254;
+ fiat_p224_uint1 x255;
+ fiat_p224_addcarryx_u32(&x254, &x255, x253, x234, x237);
+ uint32_t x256;
+ fiat_p224_uint1 x257;
+ fiat_p224_addcarryx_u32(&x256, &x257, x255, x232, x235);
+ uint32_t x258;
+ fiat_p224_uint1 x259;
+ fiat_p224_addcarryx_u32(&x258, &x259, x257, 0x0, x233);
+ uint32_t x260;
+ fiat_p224_uint1 x261;
+ fiat_p224_addcarryx_u32(&x260, &x261, 0x0, x244, x216);
+ uint32_t x262;
+ fiat_p224_uint1 x263;
+ fiat_p224_addcarryx_u32(&x262, &x263, x261, x246, x218);
+ uint32_t x264;
+ fiat_p224_uint1 x265;
+ fiat_p224_addcarryx_u32(&x264, &x265, x263, x248, x220);
+ uint32_t x266;
+ fiat_p224_uint1 x267;
+ fiat_p224_addcarryx_u32(&x266, &x267, x265, x250, x222);
+ uint32_t x268;
+ fiat_p224_uint1 x269;
+ fiat_p224_addcarryx_u32(&x268, &x269, x267, x252, x224);
+ uint32_t x270;
+ fiat_p224_uint1 x271;
+ fiat_p224_addcarryx_u32(&x270, &x271, x269, x254, x226);
+ uint32_t x272;
+ fiat_p224_uint1 x273;
+ fiat_p224_addcarryx_u32(&x272, &x273, x271, x256, x228);
+ uint32_t x274;
+ fiat_p224_uint1 x275;
+ fiat_p224_addcarryx_u32(&x274, &x275, x273, x258, x230);
+ uint32_t x276;
+ uint32_t x277;
+ fiat_p224_mulx_u32(&x276, &x277, x260, UINT32_C(0xffffffff));
+ uint32_t x278;
+ uint32_t x279;
+ fiat_p224_mulx_u32(&x278, &x279, x276, UINT32_C(0xffffffff));
+ uint32_t x280;
+ uint32_t x281;
+ fiat_p224_mulx_u32(&x280, &x281, x276, UINT32_C(0xffffffff));
+ uint32_t x282;
+ uint32_t x283;
+ fiat_p224_mulx_u32(&x282, &x283, x276, UINT32_C(0xffffffff));
+ uint32_t x284;
+ uint32_t x285;
+ fiat_p224_mulx_u32(&x284, &x285, x276, UINT32_C(0xffffffff));
+ uint32_t x286;
+ fiat_p224_uint1 x287;
+ fiat_p224_addcarryx_u32(&x286, &x287, 0x0, x282, x285);
+ uint32_t x288;
+ fiat_p224_uint1 x289;
+ fiat_p224_addcarryx_u32(&x288, &x289, x287, x280, x283);
+ uint32_t x290;
+ fiat_p224_uint1 x291;
+ fiat_p224_addcarryx_u32(&x290, &x291, x289, x278, x281);
+ uint32_t x292;
+ fiat_p224_uint1 x293;
+ fiat_p224_addcarryx_u32(&x292, &x293, x291, 0x0, x279);
+ uint32_t x294;
+ fiat_p224_uint1 x295;
+ fiat_p224_addcarryx_u32(&x294, &x295, 0x0, x276, x260);
+ uint32_t x296;
+ fiat_p224_uint1 x297;
+ fiat_p224_addcarryx_u32(&x296, &x297, x295, 0x0, x262);
+ uint32_t x298;
+ fiat_p224_uint1 x299;
+ fiat_p224_addcarryx_u32(&x298, &x299, x297, 0x0, x264);
+ uint32_t x300;
+ fiat_p224_uint1 x301;
+ fiat_p224_addcarryx_u32(&x300, &x301, x299, x284, x266);
+ uint32_t x302;
+ fiat_p224_uint1 x303;
+ fiat_p224_addcarryx_u32(&x302, &x303, x301, x286, x268);
+ uint32_t x304;
+ fiat_p224_uint1 x305;
+ fiat_p224_addcarryx_u32(&x304, &x305, x303, x288, x270);
+ uint32_t x306;
+ fiat_p224_uint1 x307;
+ fiat_p224_addcarryx_u32(&x306, &x307, x305, x290, x272);
+ uint32_t x308;
+ fiat_p224_uint1 x309;
+ fiat_p224_addcarryx_u32(&x308, &x309, x307, x292, x274);
+ uint32_t x310;
+ fiat_p224_uint1 x311;
+ fiat_p224_addcarryx_u32(&x310, &x311, x309, 0x0, x275);
+ uint32_t x312;
+ uint32_t x313;
+ fiat_p224_mulx_u32(&x312, &x313, x4, (arg2[6]));
+ uint32_t x314;
+ uint32_t x315;
+ fiat_p224_mulx_u32(&x314, &x315, x4, (arg2[5]));
+ uint32_t x316;
+ uint32_t x317;
+ fiat_p224_mulx_u32(&x316, &x317, x4, (arg2[4]));
+ uint32_t x318;
+ uint32_t x319;
+ fiat_p224_mulx_u32(&x318, &x319, x4, (arg2[3]));
+ uint32_t x320;
+ uint32_t x321;
+ fiat_p224_mulx_u32(&x320, &x321, x4, (arg2[2]));
+ uint32_t x322;
+ uint32_t x323;
+ fiat_p224_mulx_u32(&x322, &x323, x4, (arg2[1]));
+ uint32_t x324;
+ uint32_t x325;
+ fiat_p224_mulx_u32(&x324, &x325, x4, (arg2[0]));
+ uint32_t x326;
+ fiat_p224_uint1 x327;
+ fiat_p224_addcarryx_u32(&x326, &x327, 0x0, x322, x325);
+ uint32_t x328;
+ fiat_p224_uint1 x329;
+ fiat_p224_addcarryx_u32(&x328, &x329, x327, x320, x323);
+ uint32_t x330;
+ fiat_p224_uint1 x331;
+ fiat_p224_addcarryx_u32(&x330, &x331, x329, x318, x321);
+ uint32_t x332;
+ fiat_p224_uint1 x333;
+ fiat_p224_addcarryx_u32(&x332, &x333, x331, x316, x319);
+ uint32_t x334;
+ fiat_p224_uint1 x335;
+ fiat_p224_addcarryx_u32(&x334, &x335, x333, x314, x317);
+ uint32_t x336;
+ fiat_p224_uint1 x337;
+ fiat_p224_addcarryx_u32(&x336, &x337, x335, x312, x315);
+ uint32_t x338;
+ fiat_p224_uint1 x339;
+ fiat_p224_addcarryx_u32(&x338, &x339, x337, 0x0, x313);
+ uint32_t x340;
+ fiat_p224_uint1 x341;
+ fiat_p224_addcarryx_u32(&x340, &x341, 0x0, x324, x296);
+ uint32_t x342;
+ fiat_p224_uint1 x343;
+ fiat_p224_addcarryx_u32(&x342, &x343, x341, x326, x298);
+ uint32_t x344;
+ fiat_p224_uint1 x345;
+ fiat_p224_addcarryx_u32(&x344, &x345, x343, x328, x300);
+ uint32_t x346;
+ fiat_p224_uint1 x347;
+ fiat_p224_addcarryx_u32(&x346, &x347, x345, x330, x302);
+ uint32_t x348;
+ fiat_p224_uint1 x349;
+ fiat_p224_addcarryx_u32(&x348, &x349, x347, x332, x304);
+ uint32_t x350;
+ fiat_p224_uint1 x351;
+ fiat_p224_addcarryx_u32(&x350, &x351, x349, x334, x306);
+ uint32_t x352;
+ fiat_p224_uint1 x353;
+ fiat_p224_addcarryx_u32(&x352, &x353, x351, x336, x308);
+ uint32_t x354;
+ fiat_p224_uint1 x355;
+ fiat_p224_addcarryx_u32(&x354, &x355, x353, x338, x310);
+ uint32_t x356;
+ uint32_t x357;
+ fiat_p224_mulx_u32(&x356, &x357, x340, UINT32_C(0xffffffff));
+ uint32_t x358;
+ uint32_t x359;
+ fiat_p224_mulx_u32(&x358, &x359, x356, UINT32_C(0xffffffff));
+ uint32_t x360;
+ uint32_t x361;
+ fiat_p224_mulx_u32(&x360, &x361, x356, UINT32_C(0xffffffff));
+ uint32_t x362;
+ uint32_t x363;
+ fiat_p224_mulx_u32(&x362, &x363, x356, UINT32_C(0xffffffff));
+ uint32_t x364;
+ uint32_t x365;
+ fiat_p224_mulx_u32(&x364, &x365, x356, UINT32_C(0xffffffff));
+ uint32_t x366;
+ fiat_p224_uint1 x367;
+ fiat_p224_addcarryx_u32(&x366, &x367, 0x0, x362, x365);
+ uint32_t x368;
+ fiat_p224_uint1 x369;
+ fiat_p224_addcarryx_u32(&x368, &x369, x367, x360, x363);
+ uint32_t x370;
+ fiat_p224_uint1 x371;
+ fiat_p224_addcarryx_u32(&x370, &x371, x369, x358, x361);
+ uint32_t x372;
+ fiat_p224_uint1 x373;
+ fiat_p224_addcarryx_u32(&x372, &x373, x371, 0x0, x359);
+ uint32_t x374;
+ fiat_p224_uint1 x375;
+ fiat_p224_addcarryx_u32(&x374, &x375, 0x0, x356, x340);
+ uint32_t x376;
+ fiat_p224_uint1 x377;
+ fiat_p224_addcarryx_u32(&x376, &x377, x375, 0x0, x342);
+ uint32_t x378;
+ fiat_p224_uint1 x379;
+ fiat_p224_addcarryx_u32(&x378, &x379, x377, 0x0, x344);
+ uint32_t x380;
+ fiat_p224_uint1 x381;
+ fiat_p224_addcarryx_u32(&x380, &x381, x379, x364, x346);
+ uint32_t x382;
+ fiat_p224_uint1 x383;
+ fiat_p224_addcarryx_u32(&x382, &x383, x381, x366, x348);
+ uint32_t x384;
+ fiat_p224_uint1 x385;
+ fiat_p224_addcarryx_u32(&x384, &x385, x383, x368, x350);
+ uint32_t x386;
+ fiat_p224_uint1 x387;
+ fiat_p224_addcarryx_u32(&x386, &x387, x385, x370, x352);
+ uint32_t x388;
+ fiat_p224_uint1 x389;
+ fiat_p224_addcarryx_u32(&x388, &x389, x387, x372, x354);
+ uint32_t x390;
+ fiat_p224_uint1 x391;
+ fiat_p224_addcarryx_u32(&x390, &x391, x389, 0x0, x355);
+ uint32_t x392;
+ uint32_t x393;
+ fiat_p224_mulx_u32(&x392, &x393, x5, (arg2[6]));
+ uint32_t x394;
+ uint32_t x395;
+ fiat_p224_mulx_u32(&x394, &x395, x5, (arg2[5]));
+ uint32_t x396;
+ uint32_t x397;
+ fiat_p224_mulx_u32(&x396, &x397, x5, (arg2[4]));
+ uint32_t x398;
+ uint32_t x399;
+ fiat_p224_mulx_u32(&x398, &x399, x5, (arg2[3]));
+ uint32_t x400;
+ uint32_t x401;
+ fiat_p224_mulx_u32(&x400, &x401, x5, (arg2[2]));
+ uint32_t x402;
+ uint32_t x403;
+ fiat_p224_mulx_u32(&x402, &x403, x5, (arg2[1]));
+ uint32_t x404;
+ uint32_t x405;
+ fiat_p224_mulx_u32(&x404, &x405, x5, (arg2[0]));
+ uint32_t x406;
+ fiat_p224_uint1 x407;
+ fiat_p224_addcarryx_u32(&x406, &x407, 0x0, x402, x405);
+ uint32_t x408;
+ fiat_p224_uint1 x409;
+ fiat_p224_addcarryx_u32(&x408, &x409, x407, x400, x403);
+ uint32_t x410;
+ fiat_p224_uint1 x411;
+ fiat_p224_addcarryx_u32(&x410, &x411, x409, x398, x401);
+ uint32_t x412;
+ fiat_p224_uint1 x413;
+ fiat_p224_addcarryx_u32(&x412, &x413, x411, x396, x399);
+ uint32_t x414;
+ fiat_p224_uint1 x415;
+ fiat_p224_addcarryx_u32(&x414, &x415, x413, x394, x397);
+ uint32_t x416;
+ fiat_p224_uint1 x417;
+ fiat_p224_addcarryx_u32(&x416, &x417, x415, x392, x395);
+ uint32_t x418;
+ fiat_p224_uint1 x419;
+ fiat_p224_addcarryx_u32(&x418, &x419, x417, 0x0, x393);
+ uint32_t x420;
+ fiat_p224_uint1 x421;
+ fiat_p224_addcarryx_u32(&x420, &x421, 0x0, x404, x376);
+ uint32_t x422;
+ fiat_p224_uint1 x423;
+ fiat_p224_addcarryx_u32(&x422, &x423, x421, x406, x378);
+ uint32_t x424;
+ fiat_p224_uint1 x425;
+ fiat_p224_addcarryx_u32(&x424, &x425, x423, x408, x380);
+ uint32_t x426;
+ fiat_p224_uint1 x427;
+ fiat_p224_addcarryx_u32(&x426, &x427, x425, x410, x382);
+ uint32_t x428;
+ fiat_p224_uint1 x429;
+ fiat_p224_addcarryx_u32(&x428, &x429, x427, x412, x384);
+ uint32_t x430;
+ fiat_p224_uint1 x431;
+ fiat_p224_addcarryx_u32(&x430, &x431, x429, x414, x386);
+ uint32_t x432;
+ fiat_p224_uint1 x433;
+ fiat_p224_addcarryx_u32(&x432, &x433, x431, x416, x388);
+ uint32_t x434;
+ fiat_p224_uint1 x435;
+ fiat_p224_addcarryx_u32(&x434, &x435, x433, x418, x390);
+ uint32_t x436;
+ uint32_t x437;
+ fiat_p224_mulx_u32(&x436, &x437, x420, UINT32_C(0xffffffff));
+ uint32_t x438;
+ uint32_t x439;
+ fiat_p224_mulx_u32(&x438, &x439, x436, UINT32_C(0xffffffff));
+ uint32_t x440;
+ uint32_t x441;
+ fiat_p224_mulx_u32(&x440, &x441, x436, UINT32_C(0xffffffff));
+ uint32_t x442;
+ uint32_t x443;
+ fiat_p224_mulx_u32(&x442, &x443, x436, UINT32_C(0xffffffff));
+ uint32_t x444;
+ uint32_t x445;
+ fiat_p224_mulx_u32(&x444, &x445, x436, UINT32_C(0xffffffff));
+ uint32_t x446;
+ fiat_p224_uint1 x447;
+ fiat_p224_addcarryx_u32(&x446, &x447, 0x0, x442, x445);
+ uint32_t x448;
+ fiat_p224_uint1 x449;
+ fiat_p224_addcarryx_u32(&x448, &x449, x447, x440, x443);
+ uint32_t x450;
+ fiat_p224_uint1 x451;
+ fiat_p224_addcarryx_u32(&x450, &x451, x449, x438, x441);
+ uint32_t x452;
+ fiat_p224_uint1 x453;
+ fiat_p224_addcarryx_u32(&x452, &x453, x451, 0x0, x439);
+ uint32_t x454;
+ fiat_p224_uint1 x455;
+ fiat_p224_addcarryx_u32(&x454, &x455, 0x0, x436, x420);
+ uint32_t x456;
+ fiat_p224_uint1 x457;
+ fiat_p224_addcarryx_u32(&x456, &x457, x455, 0x0, x422);
+ uint32_t x458;
+ fiat_p224_uint1 x459;
+ fiat_p224_addcarryx_u32(&x458, &x459, x457, 0x0, x424);
+ uint32_t x460;
+ fiat_p224_uint1 x461;
+ fiat_p224_addcarryx_u32(&x460, &x461, x459, x444, x426);
+ uint32_t x462;
+ fiat_p224_uint1 x463;
+ fiat_p224_addcarryx_u32(&x462, &x463, x461, x446, x428);
+ uint32_t x464;
+ fiat_p224_uint1 x465;
+ fiat_p224_addcarryx_u32(&x464, &x465, x463, x448, x430);
+ uint32_t x466;
+ fiat_p224_uint1 x467;
+ fiat_p224_addcarryx_u32(&x466, &x467, x465, x450, x432);
+ uint32_t x468;
+ fiat_p224_uint1 x469;
+ fiat_p224_addcarryx_u32(&x468, &x469, x467, x452, x434);
+ uint32_t x470;
+ fiat_p224_uint1 x471;
+ fiat_p224_addcarryx_u32(&x470, &x471, x469, 0x0, x435);
+ uint32_t x472;
+ uint32_t x473;
+ fiat_p224_mulx_u32(&x472, &x473, x6, (arg2[6]));
+ uint32_t x474;
+ uint32_t x475;
+ fiat_p224_mulx_u32(&x474, &x475, x6, (arg2[5]));
+ uint32_t x476;
+ uint32_t x477;
+ fiat_p224_mulx_u32(&x476, &x477, x6, (arg2[4]));
+ uint32_t x478;
+ uint32_t x479;
+ fiat_p224_mulx_u32(&x478, &x479, x6, (arg2[3]));
+ uint32_t x480;
+ uint32_t x481;
+ fiat_p224_mulx_u32(&x480, &x481, x6, (arg2[2]));
+ uint32_t x482;
+ uint32_t x483;
+ fiat_p224_mulx_u32(&x482, &x483, x6, (arg2[1]));
+ uint32_t x484;
+ uint32_t x485;
+ fiat_p224_mulx_u32(&x484, &x485, x6, (arg2[0]));
+ uint32_t x486;
+ fiat_p224_uint1 x487;
+ fiat_p224_addcarryx_u32(&x486, &x487, 0x0, x482, x485);
+ uint32_t x488;
+ fiat_p224_uint1 x489;
+ fiat_p224_addcarryx_u32(&x488, &x489, x487, x480, x483);
+ uint32_t x490;
+ fiat_p224_uint1 x491;
+ fiat_p224_addcarryx_u32(&x490, &x491, x489, x478, x481);
+ uint32_t x492;
+ fiat_p224_uint1 x493;
+ fiat_p224_addcarryx_u32(&x492, &x493, x491, x476, x479);
+ uint32_t x494;
+ fiat_p224_uint1 x495;
+ fiat_p224_addcarryx_u32(&x494, &x495, x493, x474, x477);
+ uint32_t x496;
+ fiat_p224_uint1 x497;
+ fiat_p224_addcarryx_u32(&x496, &x497, x495, x472, x475);
+ uint32_t x498;
+ fiat_p224_uint1 x499;
+ fiat_p224_addcarryx_u32(&x498, &x499, x497, 0x0, x473);
+ uint32_t x500;
+ fiat_p224_uint1 x501;
+ fiat_p224_addcarryx_u32(&x500, &x501, 0x0, x484, x456);
+ uint32_t x502;
+ fiat_p224_uint1 x503;
+ fiat_p224_addcarryx_u32(&x502, &x503, x501, x486, x458);
+ uint32_t x504;
+ fiat_p224_uint1 x505;
+ fiat_p224_addcarryx_u32(&x504, &x505, x503, x488, x460);
+ uint32_t x506;
+ fiat_p224_uint1 x507;
+ fiat_p224_addcarryx_u32(&x506, &x507, x505, x490, x462);
+ uint32_t x508;
+ fiat_p224_uint1 x509;
+ fiat_p224_addcarryx_u32(&x508, &x509, x507, x492, x464);
+ uint32_t x510;
+ fiat_p224_uint1 x511;
+ fiat_p224_addcarryx_u32(&x510, &x511, x509, x494, x466);
+ uint32_t x512;
+ fiat_p224_uint1 x513;
+ fiat_p224_addcarryx_u32(&x512, &x513, x511, x496, x468);
+ uint32_t x514;
+ fiat_p224_uint1 x515;
+ fiat_p224_addcarryx_u32(&x514, &x515, x513, x498, x470);
+ uint32_t x516;
+ uint32_t x517;
+ fiat_p224_mulx_u32(&x516, &x517, x500, UINT32_C(0xffffffff));
+ uint32_t x518;
+ uint32_t x519;
+ fiat_p224_mulx_u32(&x518, &x519, x516, UINT32_C(0xffffffff));
+ uint32_t x520;
+ uint32_t x521;
+ fiat_p224_mulx_u32(&x520, &x521, x516, UINT32_C(0xffffffff));
+ uint32_t x522;
+ uint32_t x523;
+ fiat_p224_mulx_u32(&x522, &x523, x516, UINT32_C(0xffffffff));
+ uint32_t x524;
+ uint32_t x525;
+ fiat_p224_mulx_u32(&x524, &x525, x516, UINT32_C(0xffffffff));
+ uint32_t x526;
+ fiat_p224_uint1 x527;
+ fiat_p224_addcarryx_u32(&x526, &x527, 0x0, x522, x525);
+ uint32_t x528;
+ fiat_p224_uint1 x529;
+ fiat_p224_addcarryx_u32(&x528, &x529, x527, x520, x523);
+ uint32_t x530;
+ fiat_p224_uint1 x531;
+ fiat_p224_addcarryx_u32(&x530, &x531, x529, x518, x521);
+ uint32_t x532;
+ fiat_p224_uint1 x533;
+ fiat_p224_addcarryx_u32(&x532, &x533, x531, 0x0, x519);
+ uint32_t x534;
+ fiat_p224_uint1 x535;
+ fiat_p224_addcarryx_u32(&x534, &x535, 0x0, x516, x500);
+ uint32_t x536;
+ fiat_p224_uint1 x537;
+ fiat_p224_addcarryx_u32(&x536, &x537, x535, 0x0, x502);
+ uint32_t x538;
+ fiat_p224_uint1 x539;
+ fiat_p224_addcarryx_u32(&x538, &x539, x537, 0x0, x504);
+ uint32_t x540;
+ fiat_p224_uint1 x541;
+ fiat_p224_addcarryx_u32(&x540, &x541, x539, x524, x506);
+ uint32_t x542;
+ fiat_p224_uint1 x543;
+ fiat_p224_addcarryx_u32(&x542, &x543, x541, x526, x508);
+ uint32_t x544;
+ fiat_p224_uint1 x545;
+ fiat_p224_addcarryx_u32(&x544, &x545, x543, x528, x510);
+ uint32_t x546;
+ fiat_p224_uint1 x547;
+ fiat_p224_addcarryx_u32(&x546, &x547, x545, x530, x512);
+ uint32_t x548;
+ fiat_p224_uint1 x549;
+ fiat_p224_addcarryx_u32(&x548, &x549, x547, x532, x514);
+ uint32_t x550;
+ fiat_p224_uint1 x551;
+ fiat_p224_addcarryx_u32(&x550, &x551, x549, 0x0, x515);
+ uint32_t x552;
+ fiat_p224_uint1 x553;
+ fiat_p224_subborrowx_u32(&x552, &x553, 0x0, x536, 0x1);
+ uint32_t x554;
+ fiat_p224_uint1 x555;
+ fiat_p224_subborrowx_u32(&x554, &x555, x553, x538, 0x0);
+ uint32_t x556;
+ fiat_p224_uint1 x557;
+ fiat_p224_subborrowx_u32(&x556, &x557, x555, x540, 0x0);
+ uint32_t x558;
+ fiat_p224_uint1 x559;
+ fiat_p224_subborrowx_u32(&x558, &x559, x557, x542, UINT32_C(0xffffffff));
+ uint32_t x560;
+ fiat_p224_uint1 x561;
+ fiat_p224_subborrowx_u32(&x560, &x561, x559, x544, UINT32_C(0xffffffff));
+ uint32_t x562;
+ fiat_p224_uint1 x563;
+ fiat_p224_subborrowx_u32(&x562, &x563, x561, x546, UINT32_C(0xffffffff));
+ uint32_t x564;
+ fiat_p224_uint1 x565;
+ fiat_p224_subborrowx_u32(&x564, &x565, x563, x548, UINT32_C(0xffffffff));
+ uint32_t x566;
+ fiat_p224_uint1 x567;
+ fiat_p224_subborrowx_u32(&x566, &x567, x565, x550, 0x0);
+ uint32_t x568;
+ fiat_p224_cmovznz_u32(&x568, x567, x552, x536);
+ uint32_t x569;
+ fiat_p224_cmovznz_u32(&x569, x567, x554, x538);
+ uint32_t x570;
+ fiat_p224_cmovznz_u32(&x570, x567, x556, x540);
+ uint32_t x571;
+ fiat_p224_cmovznz_u32(&x571, x567, x558, x542);
+ uint32_t x572;
+ fiat_p224_cmovznz_u32(&x572, x567, x560, x544);
+ uint32_t x573;
+ fiat_p224_cmovznz_u32(&x573, x567, x562, x546);
+ uint32_t x574;
+ fiat_p224_cmovznz_u32(&x574, x567, x564, x548);
+ out1[0] = x568;
+ out1[1] = x569;
+ out1[2] = x570;
+ out1[3] = x571;
+ out1[4] = x572;
+ out1[5] = x573;
+ out1[6] = x574;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p224_square(uint32_t out1[7], const uint32_t arg1[7]) {
+ uint32_t x1 = (arg1[1]);
+ uint32_t x2 = (arg1[2]);
+ uint32_t x3 = (arg1[3]);
+ uint32_t x4 = (arg1[4]);
+ uint32_t x5 = (arg1[5]);
+ uint32_t x6 = (arg1[6]);
+ uint32_t x7 = (arg1[0]);
+ uint32_t x8;
+ uint32_t x9;
+ fiat_p224_mulx_u32(&x8, &x9, x7, (arg1[6]));
+ uint32_t x10;
+ uint32_t x11;
+ fiat_p224_mulx_u32(&x10, &x11, x7, (arg1[5]));
+ uint32_t x12;
+ uint32_t x13;
+ fiat_p224_mulx_u32(&x12, &x13, x7, (arg1[4]));
+ uint32_t x14;
+ uint32_t x15;
+ fiat_p224_mulx_u32(&x14, &x15, x7, (arg1[3]));
+ uint32_t x16;
+ uint32_t x17;
+ fiat_p224_mulx_u32(&x16, &x17, x7, (arg1[2]));
+ uint32_t x18;
+ uint32_t x19;
+ fiat_p224_mulx_u32(&x18, &x19, x7, (arg1[1]));
+ uint32_t x20;
+ uint32_t x21;
+ fiat_p224_mulx_u32(&x20, &x21, x7, (arg1[0]));
+ uint32_t x22;
+ fiat_p224_uint1 x23;
+ fiat_p224_addcarryx_u32(&x22, &x23, 0x0, x18, x21);
+ uint32_t x24;
+ fiat_p224_uint1 x25;
+ fiat_p224_addcarryx_u32(&x24, &x25, x23, x16, x19);
+ uint32_t x26;
+ fiat_p224_uint1 x27;
+ fiat_p224_addcarryx_u32(&x26, &x27, x25, x14, x17);
+ uint32_t x28;
+ fiat_p224_uint1 x29;
+ fiat_p224_addcarryx_u32(&x28, &x29, x27, x12, x15);
+ uint32_t x30;
+ fiat_p224_uint1 x31;
+ fiat_p224_addcarryx_u32(&x30, &x31, x29, x10, x13);
+ uint32_t x32;
+ fiat_p224_uint1 x33;
+ fiat_p224_addcarryx_u32(&x32, &x33, x31, x8, x11);
+ uint32_t x34;
+ fiat_p224_uint1 x35;
+ fiat_p224_addcarryx_u32(&x34, &x35, x33, 0x0, x9);
+ uint32_t x36;
+ uint32_t x37;
+ fiat_p224_mulx_u32(&x36, &x37, x20, UINT32_C(0xffffffff));
+ uint32_t x38;
+ uint32_t x39;
+ fiat_p224_mulx_u32(&x38, &x39, x36, UINT32_C(0xffffffff));
+ uint32_t x40;
+ uint32_t x41;
+ fiat_p224_mulx_u32(&x40, &x41, x36, UINT32_C(0xffffffff));
+ uint32_t x42;
+ uint32_t x43;
+ fiat_p224_mulx_u32(&x42, &x43, x36, UINT32_C(0xffffffff));
+ uint32_t x44;
+ uint32_t x45;
+ fiat_p224_mulx_u32(&x44, &x45, x36, UINT32_C(0xffffffff));
+ uint32_t x46;
+ fiat_p224_uint1 x47;
+ fiat_p224_addcarryx_u32(&x46, &x47, 0x0, x42, x45);
+ uint32_t x48;
+ fiat_p224_uint1 x49;
+ fiat_p224_addcarryx_u32(&x48, &x49, x47, x40, x43);
+ uint32_t x50;
+ fiat_p224_uint1 x51;
+ fiat_p224_addcarryx_u32(&x50, &x51, x49, x38, x41);
+ uint32_t x52;
+ fiat_p224_uint1 x53;
+ fiat_p224_addcarryx_u32(&x52, &x53, x51, 0x0, x39);
+ uint32_t x54;
+ fiat_p224_uint1 x55;
+ fiat_p224_addcarryx_u32(&x54, &x55, 0x0, x36, x20);
+ uint32_t x56;
+ fiat_p224_uint1 x57;
+ fiat_p224_addcarryx_u32(&x56, &x57, x55, 0x0, x22);
+ uint32_t x58;
+ fiat_p224_uint1 x59;
+ fiat_p224_addcarryx_u32(&x58, &x59, x57, 0x0, x24);
+ uint32_t x60;
+ fiat_p224_uint1 x61;
+ fiat_p224_addcarryx_u32(&x60, &x61, x59, x44, x26);
+ uint32_t x62;
+ fiat_p224_uint1 x63;
+ fiat_p224_addcarryx_u32(&x62, &x63, x61, x46, x28);
+ uint32_t x64;
+ fiat_p224_uint1 x65;
+ fiat_p224_addcarryx_u32(&x64, &x65, x63, x48, x30);
+ uint32_t x66;
+ fiat_p224_uint1 x67;
+ fiat_p224_addcarryx_u32(&x66, &x67, x65, x50, x32);
+ uint32_t x68;
+ fiat_p224_uint1 x69;
+ fiat_p224_addcarryx_u32(&x68, &x69, x67, x52, x34);
+ uint32_t x70;
+ fiat_p224_uint1 x71;
+ fiat_p224_addcarryx_u32(&x70, &x71, x69, 0x0, 0x0);
+ uint32_t x72;
+ uint32_t x73;
+ fiat_p224_mulx_u32(&x72, &x73, x1, (arg1[6]));
+ uint32_t x74;
+ uint32_t x75;
+ fiat_p224_mulx_u32(&x74, &x75, x1, (arg1[5]));
+ uint32_t x76;
+ uint32_t x77;
+ fiat_p224_mulx_u32(&x76, &x77, x1, (arg1[4]));
+ uint32_t x78;
+ uint32_t x79;
+ fiat_p224_mulx_u32(&x78, &x79, x1, (arg1[3]));
+ uint32_t x80;
+ uint32_t x81;
+ fiat_p224_mulx_u32(&x80, &x81, x1, (arg1[2]));
+ uint32_t x82;
+ uint32_t x83;
+ fiat_p224_mulx_u32(&x82, &x83, x1, (arg1[1]));
+ uint32_t x84;
+ uint32_t x85;
+ fiat_p224_mulx_u32(&x84, &x85, x1, (arg1[0]));
+ uint32_t x86;
+ fiat_p224_uint1 x87;
+ fiat_p224_addcarryx_u32(&x86, &x87, 0x0, x82, x85);
+ uint32_t x88;
+ fiat_p224_uint1 x89;
+ fiat_p224_addcarryx_u32(&x88, &x89, x87, x80, x83);
+ uint32_t x90;
+ fiat_p224_uint1 x91;
+ fiat_p224_addcarryx_u32(&x90, &x91, x89, x78, x81);
+ uint32_t x92;
+ fiat_p224_uint1 x93;
+ fiat_p224_addcarryx_u32(&x92, &x93, x91, x76, x79);
+ uint32_t x94;
+ fiat_p224_uint1 x95;
+ fiat_p224_addcarryx_u32(&x94, &x95, x93, x74, x77);
+ uint32_t x96;
+ fiat_p224_uint1 x97;
+ fiat_p224_addcarryx_u32(&x96, &x97, x95, x72, x75);
+ uint32_t x98;
+ fiat_p224_uint1 x99;
+ fiat_p224_addcarryx_u32(&x98, &x99, x97, 0x0, x73);
+ uint32_t x100;
+ fiat_p224_uint1 x101;
+ fiat_p224_addcarryx_u32(&x100, &x101, 0x0, x84, x56);
+ uint32_t x102;
+ fiat_p224_uint1 x103;
+ fiat_p224_addcarryx_u32(&x102, &x103, x101, x86, x58);
+ uint32_t x104;
+ fiat_p224_uint1 x105;
+ fiat_p224_addcarryx_u32(&x104, &x105, x103, x88, x60);
+ uint32_t x106;
+ fiat_p224_uint1 x107;
+ fiat_p224_addcarryx_u32(&x106, &x107, x105, x90, x62);
+ uint32_t x108;
+ fiat_p224_uint1 x109;
+ fiat_p224_addcarryx_u32(&x108, &x109, x107, x92, x64);
+ uint32_t x110;
+ fiat_p224_uint1 x111;
+ fiat_p224_addcarryx_u32(&x110, &x111, x109, x94, x66);
+ uint32_t x112;
+ fiat_p224_uint1 x113;
+ fiat_p224_addcarryx_u32(&x112, &x113, x111, x96, x68);
+ uint32_t x114;
+ fiat_p224_uint1 x115;
+ fiat_p224_addcarryx_u32(&x114, &x115, x113, x98, (fiat_p224_uint1)x70);
+ uint32_t x116;
+ uint32_t x117;
+ fiat_p224_mulx_u32(&x116, &x117, x100, UINT32_C(0xffffffff));
+ uint32_t x118;
+ uint32_t x119;
+ fiat_p224_mulx_u32(&x118, &x119, x116, UINT32_C(0xffffffff));
+ uint32_t x120;
+ uint32_t x121;
+ fiat_p224_mulx_u32(&x120, &x121, x116, UINT32_C(0xffffffff));
+ uint32_t x122;
+ uint32_t x123;
+ fiat_p224_mulx_u32(&x122, &x123, x116, UINT32_C(0xffffffff));
+ uint32_t x124;
+ uint32_t x125;
+ fiat_p224_mulx_u32(&x124, &x125, x116, UINT32_C(0xffffffff));
+ uint32_t x126;
+ fiat_p224_uint1 x127;
+ fiat_p224_addcarryx_u32(&x126, &x127, 0x0, x122, x125);
+ uint32_t x128;
+ fiat_p224_uint1 x129;
+ fiat_p224_addcarryx_u32(&x128, &x129, x127, x120, x123);
+ uint32_t x130;
+ fiat_p224_uint1 x131;
+ fiat_p224_addcarryx_u32(&x130, &x131, x129, x118, x121);
+ uint32_t x132;
+ fiat_p224_uint1 x133;
+ fiat_p224_addcarryx_u32(&x132, &x133, x131, 0x0, x119);
+ uint32_t x134;
+ fiat_p224_uint1 x135;
+ fiat_p224_addcarryx_u32(&x134, &x135, 0x0, x116, x100);
+ uint32_t x136;
+ fiat_p224_uint1 x137;
+ fiat_p224_addcarryx_u32(&x136, &x137, x135, 0x0, x102);
+ uint32_t x138;
+ fiat_p224_uint1 x139;
+ fiat_p224_addcarryx_u32(&x138, &x139, x137, 0x0, x104);
+ uint32_t x140;
+ fiat_p224_uint1 x141;
+ fiat_p224_addcarryx_u32(&x140, &x141, x139, x124, x106);
+ uint32_t x142;
+ fiat_p224_uint1 x143;
+ fiat_p224_addcarryx_u32(&x142, &x143, x141, x126, x108);
+ uint32_t x144;
+ fiat_p224_uint1 x145;
+ fiat_p224_addcarryx_u32(&x144, &x145, x143, x128, x110);
+ uint32_t x146;
+ fiat_p224_uint1 x147;
+ fiat_p224_addcarryx_u32(&x146, &x147, x145, x130, x112);
+ uint32_t x148;
+ fiat_p224_uint1 x149;
+ fiat_p224_addcarryx_u32(&x148, &x149, x147, x132, x114);
+ uint32_t x150;
+ fiat_p224_uint1 x151;
+ fiat_p224_addcarryx_u32(&x150, &x151, x149, 0x0, x115);
+ uint32_t x152;
+ uint32_t x153;
+ fiat_p224_mulx_u32(&x152, &x153, x2, (arg1[6]));
+ uint32_t x154;
+ uint32_t x155;
+ fiat_p224_mulx_u32(&x154, &x155, x2, (arg1[5]));
+ uint32_t x156;
+ uint32_t x157;
+ fiat_p224_mulx_u32(&x156, &x157, x2, (arg1[4]));
+ uint32_t x158;
+ uint32_t x159;
+ fiat_p224_mulx_u32(&x158, &x159, x2, (arg1[3]));
+ uint32_t x160;
+ uint32_t x161;
+ fiat_p224_mulx_u32(&x160, &x161, x2, (arg1[2]));
+ uint32_t x162;
+ uint32_t x163;
+ fiat_p224_mulx_u32(&x162, &x163, x2, (arg1[1]));
+ uint32_t x164;
+ uint32_t x165;
+ fiat_p224_mulx_u32(&x164, &x165, x2, (arg1[0]));
+ uint32_t x166;
+ fiat_p224_uint1 x167;
+ fiat_p224_addcarryx_u32(&x166, &x167, 0x0, x162, x165);
+ uint32_t x168;
+ fiat_p224_uint1 x169;
+ fiat_p224_addcarryx_u32(&x168, &x169, x167, x160, x163);
+ uint32_t x170;
+ fiat_p224_uint1 x171;
+ fiat_p224_addcarryx_u32(&x170, &x171, x169, x158, x161);
+ uint32_t x172;
+ fiat_p224_uint1 x173;
+ fiat_p224_addcarryx_u32(&x172, &x173, x171, x156, x159);
+ uint32_t x174;
+ fiat_p224_uint1 x175;
+ fiat_p224_addcarryx_u32(&x174, &x175, x173, x154, x157);
+ uint32_t x176;
+ fiat_p224_uint1 x177;
+ fiat_p224_addcarryx_u32(&x176, &x177, x175, x152, x155);
+ uint32_t x178;
+ fiat_p224_uint1 x179;
+ fiat_p224_addcarryx_u32(&x178, &x179, x177, 0x0, x153);
+ uint32_t x180;
+ fiat_p224_uint1 x181;
+ fiat_p224_addcarryx_u32(&x180, &x181, 0x0, x164, x136);
+ uint32_t x182;
+ fiat_p224_uint1 x183;
+ fiat_p224_addcarryx_u32(&x182, &x183, x181, x166, x138);
+ uint32_t x184;
+ fiat_p224_uint1 x185;
+ fiat_p224_addcarryx_u32(&x184, &x185, x183, x168, x140);
+ uint32_t x186;
+ fiat_p224_uint1 x187;
+ fiat_p224_addcarryx_u32(&x186, &x187, x185, x170, x142);
+ uint32_t x188;
+ fiat_p224_uint1 x189;
+ fiat_p224_addcarryx_u32(&x188, &x189, x187, x172, x144);
+ uint32_t x190;
+ fiat_p224_uint1 x191;
+ fiat_p224_addcarryx_u32(&x190, &x191, x189, x174, x146);
+ uint32_t x192;
+ fiat_p224_uint1 x193;
+ fiat_p224_addcarryx_u32(&x192, &x193, x191, x176, x148);
+ uint32_t x194;
+ fiat_p224_uint1 x195;
+ fiat_p224_addcarryx_u32(&x194, &x195, x193, x178, x150);
+ uint32_t x196;
+ uint32_t x197;
+ fiat_p224_mulx_u32(&x196, &x197, x180, UINT32_C(0xffffffff));
+ uint32_t x198;
+ uint32_t x199;
+ fiat_p224_mulx_u32(&x198, &x199, x196, UINT32_C(0xffffffff));
+ uint32_t x200;
+ uint32_t x201;
+ fiat_p224_mulx_u32(&x200, &x201, x196, UINT32_C(0xffffffff));
+ uint32_t x202;
+ uint32_t x203;
+ fiat_p224_mulx_u32(&x202, &x203, x196, UINT32_C(0xffffffff));
+ uint32_t x204;
+ uint32_t x205;
+ fiat_p224_mulx_u32(&x204, &x205, x196, UINT32_C(0xffffffff));
+ uint32_t x206;
+ fiat_p224_uint1 x207;
+ fiat_p224_addcarryx_u32(&x206, &x207, 0x0, x202, x205);
+ uint32_t x208;
+ fiat_p224_uint1 x209;
+ fiat_p224_addcarryx_u32(&x208, &x209, x207, x200, x203);
+ uint32_t x210;
+ fiat_p224_uint1 x211;
+ fiat_p224_addcarryx_u32(&x210, &x211, x209, x198, x201);
+ uint32_t x212;
+ fiat_p224_uint1 x213;
+ fiat_p224_addcarryx_u32(&x212, &x213, x211, 0x0, x199);
+ uint32_t x214;
+ fiat_p224_uint1 x215;
+ fiat_p224_addcarryx_u32(&x214, &x215, 0x0, x196, x180);
+ uint32_t x216;
+ fiat_p224_uint1 x217;
+ fiat_p224_addcarryx_u32(&x216, &x217, x215, 0x0, x182);
+ uint32_t x218;
+ fiat_p224_uint1 x219;
+ fiat_p224_addcarryx_u32(&x218, &x219, x217, 0x0, x184);
+ uint32_t x220;
+ fiat_p224_uint1 x221;
+ fiat_p224_addcarryx_u32(&x220, &x221, x219, x204, x186);
+ uint32_t x222;
+ fiat_p224_uint1 x223;
+ fiat_p224_addcarryx_u32(&x222, &x223, x221, x206, x188);
+ uint32_t x224;
+ fiat_p224_uint1 x225;
+ fiat_p224_addcarryx_u32(&x224, &x225, x223, x208, x190);
+ uint32_t x226;
+ fiat_p224_uint1 x227;
+ fiat_p224_addcarryx_u32(&x226, &x227, x225, x210, x192);
+ uint32_t x228;
+ fiat_p224_uint1 x229;
+ fiat_p224_addcarryx_u32(&x228, &x229, x227, x212, x194);
+ uint32_t x230;
+ fiat_p224_uint1 x231;
+ fiat_p224_addcarryx_u32(&x230, &x231, x229, 0x0, x195);
+ uint32_t x232;
+ uint32_t x233;
+ fiat_p224_mulx_u32(&x232, &x233, x3, (arg1[6]));
+ uint32_t x234;
+ uint32_t x235;
+ fiat_p224_mulx_u32(&x234, &x235, x3, (arg1[5]));
+ uint32_t x236;
+ uint32_t x237;
+ fiat_p224_mulx_u32(&x236, &x237, x3, (arg1[4]));
+ uint32_t x238;
+ uint32_t x239;
+ fiat_p224_mulx_u32(&x238, &x239, x3, (arg1[3]));
+ uint32_t x240;
+ uint32_t x241;
+ fiat_p224_mulx_u32(&x240, &x241, x3, (arg1[2]));
+ uint32_t x242;
+ uint32_t x243;
+ fiat_p224_mulx_u32(&x242, &x243, x3, (arg1[1]));
+ uint32_t x244;
+ uint32_t x245;
+ fiat_p224_mulx_u32(&x244, &x245, x3, (arg1[0]));
+ uint32_t x246;
+ fiat_p224_uint1 x247;
+ fiat_p224_addcarryx_u32(&x246, &x247, 0x0, x242, x245);
+ uint32_t x248;
+ fiat_p224_uint1 x249;
+ fiat_p224_addcarryx_u32(&x248, &x249, x247, x240, x243);
+ uint32_t x250;
+ fiat_p224_uint1 x251;
+ fiat_p224_addcarryx_u32(&x250, &x251, x249, x238, x241);
+ uint32_t x252;
+ fiat_p224_uint1 x253;
+ fiat_p224_addcarryx_u32(&x252, &x253, x251, x236, x239);
+ uint32_t x254;
+ fiat_p224_uint1 x255;
+ fiat_p224_addcarryx_u32(&x254, &x255, x253, x234, x237);
+ uint32_t x256;
+ fiat_p224_uint1 x257;
+ fiat_p224_addcarryx_u32(&x256, &x257, x255, x232, x235);
+ uint32_t x258;
+ fiat_p224_uint1 x259;
+ fiat_p224_addcarryx_u32(&x258, &x259, x257, 0x0, x233);
+ uint32_t x260;
+ fiat_p224_uint1 x261;
+ fiat_p224_addcarryx_u32(&x260, &x261, 0x0, x244, x216);
+ uint32_t x262;
+ fiat_p224_uint1 x263;
+ fiat_p224_addcarryx_u32(&x262, &x263, x261, x246, x218);
+ uint32_t x264;
+ fiat_p224_uint1 x265;
+ fiat_p224_addcarryx_u32(&x264, &x265, x263, x248, x220);
+ uint32_t x266;
+ fiat_p224_uint1 x267;
+ fiat_p224_addcarryx_u32(&x266, &x267, x265, x250, x222);
+ uint32_t x268;
+ fiat_p224_uint1 x269;
+ fiat_p224_addcarryx_u32(&x268, &x269, x267, x252, x224);
+ uint32_t x270;
+ fiat_p224_uint1 x271;
+ fiat_p224_addcarryx_u32(&x270, &x271, x269, x254, x226);
+ uint32_t x272;
+ fiat_p224_uint1 x273;
+ fiat_p224_addcarryx_u32(&x272, &x273, x271, x256, x228);
+ uint32_t x274;
+ fiat_p224_uint1 x275;
+ fiat_p224_addcarryx_u32(&x274, &x275, x273, x258, x230);
+ uint32_t x276;
+ uint32_t x277;
+ fiat_p224_mulx_u32(&x276, &x277, x260, UINT32_C(0xffffffff));
+ uint32_t x278;
+ uint32_t x279;
+ fiat_p224_mulx_u32(&x278, &x279, x276, UINT32_C(0xffffffff));
+ uint32_t x280;
+ uint32_t x281;
+ fiat_p224_mulx_u32(&x280, &x281, x276, UINT32_C(0xffffffff));
+ uint32_t x282;
+ uint32_t x283;
+ fiat_p224_mulx_u32(&x282, &x283, x276, UINT32_C(0xffffffff));
+ uint32_t x284;
+ uint32_t x285;
+ fiat_p224_mulx_u32(&x284, &x285, x276, UINT32_C(0xffffffff));
+ uint32_t x286;
+ fiat_p224_uint1 x287;
+ fiat_p224_addcarryx_u32(&x286, &x287, 0x0, x282, x285);
+ uint32_t x288;
+ fiat_p224_uint1 x289;
+ fiat_p224_addcarryx_u32(&x288, &x289, x287, x280, x283);
+ uint32_t x290;
+ fiat_p224_uint1 x291;
+ fiat_p224_addcarryx_u32(&x290, &x291, x289, x278, x281);
+ uint32_t x292;
+ fiat_p224_uint1 x293;
+ fiat_p224_addcarryx_u32(&x292, &x293, x291, 0x0, x279);
+ uint32_t x294;
+ fiat_p224_uint1 x295;
+ fiat_p224_addcarryx_u32(&x294, &x295, 0x0, x276, x260);
+ uint32_t x296;
+ fiat_p224_uint1 x297;
+ fiat_p224_addcarryx_u32(&x296, &x297, x295, 0x0, x262);
+ uint32_t x298;
+ fiat_p224_uint1 x299;
+ fiat_p224_addcarryx_u32(&x298, &x299, x297, 0x0, x264);
+ uint32_t x300;
+ fiat_p224_uint1 x301;
+ fiat_p224_addcarryx_u32(&x300, &x301, x299, x284, x266);
+ uint32_t x302;
+ fiat_p224_uint1 x303;
+ fiat_p224_addcarryx_u32(&x302, &x303, x301, x286, x268);
+ uint32_t x304;
+ fiat_p224_uint1 x305;
+ fiat_p224_addcarryx_u32(&x304, &x305, x303, x288, x270);
+ uint32_t x306;
+ fiat_p224_uint1 x307;
+ fiat_p224_addcarryx_u32(&x306, &x307, x305, x290, x272);
+ uint32_t x308;
+ fiat_p224_uint1 x309;
+ fiat_p224_addcarryx_u32(&x308, &x309, x307, x292, x274);
+ uint32_t x310;
+ fiat_p224_uint1 x311;
+ fiat_p224_addcarryx_u32(&x310, &x311, x309, 0x0, x275);
+ uint32_t x312;
+ uint32_t x313;
+ fiat_p224_mulx_u32(&x312, &x313, x4, (arg1[6]));
+ uint32_t x314;
+ uint32_t x315;
+ fiat_p224_mulx_u32(&x314, &x315, x4, (arg1[5]));
+ uint32_t x316;
+ uint32_t x317;
+ fiat_p224_mulx_u32(&x316, &x317, x4, (arg1[4]));
+ uint32_t x318;
+ uint32_t x319;
+ fiat_p224_mulx_u32(&x318, &x319, x4, (arg1[3]));
+ uint32_t x320;
+ uint32_t x321;
+ fiat_p224_mulx_u32(&x320, &x321, x4, (arg1[2]));
+ uint32_t x322;
+ uint32_t x323;
+ fiat_p224_mulx_u32(&x322, &x323, x4, (arg1[1]));
+ uint32_t x324;
+ uint32_t x325;
+ fiat_p224_mulx_u32(&x324, &x325, x4, (arg1[0]));
+ uint32_t x326;
+ fiat_p224_uint1 x327;
+ fiat_p224_addcarryx_u32(&x326, &x327, 0x0, x322, x325);
+ uint32_t x328;
+ fiat_p224_uint1 x329;
+ fiat_p224_addcarryx_u32(&x328, &x329, x327, x320, x323);
+ uint32_t x330;
+ fiat_p224_uint1 x331;
+ fiat_p224_addcarryx_u32(&x330, &x331, x329, x318, x321);
+ uint32_t x332;
+ fiat_p224_uint1 x333;
+ fiat_p224_addcarryx_u32(&x332, &x333, x331, x316, x319);
+ uint32_t x334;
+ fiat_p224_uint1 x335;
+ fiat_p224_addcarryx_u32(&x334, &x335, x333, x314, x317);
+ uint32_t x336;
+ fiat_p224_uint1 x337;
+ fiat_p224_addcarryx_u32(&x336, &x337, x335, x312, x315);
+ uint32_t x338;
+ fiat_p224_uint1 x339;
+ fiat_p224_addcarryx_u32(&x338, &x339, x337, 0x0, x313);
+ uint32_t x340;
+ fiat_p224_uint1 x341;
+ fiat_p224_addcarryx_u32(&x340, &x341, 0x0, x324, x296);
+ uint32_t x342;
+ fiat_p224_uint1 x343;
+ fiat_p224_addcarryx_u32(&x342, &x343, x341, x326, x298);
+ uint32_t x344;
+ fiat_p224_uint1 x345;
+ fiat_p224_addcarryx_u32(&x344, &x345, x343, x328, x300);
+ uint32_t x346;
+ fiat_p224_uint1 x347;
+ fiat_p224_addcarryx_u32(&x346, &x347, x345, x330, x302);
+ uint32_t x348;
+ fiat_p224_uint1 x349;
+ fiat_p224_addcarryx_u32(&x348, &x349, x347, x332, x304);
+ uint32_t x350;
+ fiat_p224_uint1 x351;
+ fiat_p224_addcarryx_u32(&x350, &x351, x349, x334, x306);
+ uint32_t x352;
+ fiat_p224_uint1 x353;
+ fiat_p224_addcarryx_u32(&x352, &x353, x351, x336, x308);
+ uint32_t x354;
+ fiat_p224_uint1 x355;
+ fiat_p224_addcarryx_u32(&x354, &x355, x353, x338, x310);
+ uint32_t x356;
+ uint32_t x357;
+ fiat_p224_mulx_u32(&x356, &x357, x340, UINT32_C(0xffffffff));
+ uint32_t x358;
+ uint32_t x359;
+ fiat_p224_mulx_u32(&x358, &x359, x356, UINT32_C(0xffffffff));
+ uint32_t x360;
+ uint32_t x361;
+ fiat_p224_mulx_u32(&x360, &x361, x356, UINT32_C(0xffffffff));
+ uint32_t x362;
+ uint32_t x363;
+ fiat_p224_mulx_u32(&x362, &x363, x356, UINT32_C(0xffffffff));
+ uint32_t x364;
+ uint32_t x365;
+ fiat_p224_mulx_u32(&x364, &x365, x356, UINT32_C(0xffffffff));
+ uint32_t x366;
+ fiat_p224_uint1 x367;
+ fiat_p224_addcarryx_u32(&x366, &x367, 0x0, x362, x365);
+ uint32_t x368;
+ fiat_p224_uint1 x369;
+ fiat_p224_addcarryx_u32(&x368, &x369, x367, x360, x363);
+ uint32_t x370;
+ fiat_p224_uint1 x371;
+ fiat_p224_addcarryx_u32(&x370, &x371, x369, x358, x361);
+ uint32_t x372;
+ fiat_p224_uint1 x373;
+ fiat_p224_addcarryx_u32(&x372, &x373, x371, 0x0, x359);
+ uint32_t x374;
+ fiat_p224_uint1 x375;
+ fiat_p224_addcarryx_u32(&x374, &x375, 0x0, x356, x340);
+ uint32_t x376;
+ fiat_p224_uint1 x377;
+ fiat_p224_addcarryx_u32(&x376, &x377, x375, 0x0, x342);
+ uint32_t x378;
+ fiat_p224_uint1 x379;
+ fiat_p224_addcarryx_u32(&x378, &x379, x377, 0x0, x344);
+ uint32_t x380;
+ fiat_p224_uint1 x381;
+ fiat_p224_addcarryx_u32(&x380, &x381, x379, x364, x346);
+ uint32_t x382;
+ fiat_p224_uint1 x383;
+ fiat_p224_addcarryx_u32(&x382, &x383, x381, x366, x348);
+ uint32_t x384;
+ fiat_p224_uint1 x385;
+ fiat_p224_addcarryx_u32(&x384, &x385, x383, x368, x350);
+ uint32_t x386;
+ fiat_p224_uint1 x387;
+ fiat_p224_addcarryx_u32(&x386, &x387, x385, x370, x352);
+ uint32_t x388;
+ fiat_p224_uint1 x389;
+ fiat_p224_addcarryx_u32(&x388, &x389, x387, x372, x354);
+ uint32_t x390;
+ fiat_p224_uint1 x391;
+ fiat_p224_addcarryx_u32(&x390, &x391, x389, 0x0, x355);
+ uint32_t x392;
+ uint32_t x393;
+ fiat_p224_mulx_u32(&x392, &x393, x5, (arg1[6]));
+ uint32_t x394;
+ uint32_t x395;
+ fiat_p224_mulx_u32(&x394, &x395, x5, (arg1[5]));
+ uint32_t x396;
+ uint32_t x397;
+ fiat_p224_mulx_u32(&x396, &x397, x5, (arg1[4]));
+ uint32_t x398;
+ uint32_t x399;
+ fiat_p224_mulx_u32(&x398, &x399, x5, (arg1[3]));
+ uint32_t x400;
+ uint32_t x401;
+ fiat_p224_mulx_u32(&x400, &x401, x5, (arg1[2]));
+ uint32_t x402;
+ uint32_t x403;
+ fiat_p224_mulx_u32(&x402, &x403, x5, (arg1[1]));
+ uint32_t x404;
+ uint32_t x405;
+ fiat_p224_mulx_u32(&x404, &x405, x5, (arg1[0]));
+ uint32_t x406;
+ fiat_p224_uint1 x407;
+ fiat_p224_addcarryx_u32(&x406, &x407, 0x0, x402, x405);
+ uint32_t x408;
+ fiat_p224_uint1 x409;
+ fiat_p224_addcarryx_u32(&x408, &x409, x407, x400, x403);
+ uint32_t x410;
+ fiat_p224_uint1 x411;
+ fiat_p224_addcarryx_u32(&x410, &x411, x409, x398, x401);
+ uint32_t x412;
+ fiat_p224_uint1 x413;
+ fiat_p224_addcarryx_u32(&x412, &x413, x411, x396, x399);
+ uint32_t x414;
+ fiat_p224_uint1 x415;
+ fiat_p224_addcarryx_u32(&x414, &x415, x413, x394, x397);
+ uint32_t x416;
+ fiat_p224_uint1 x417;
+ fiat_p224_addcarryx_u32(&x416, &x417, x415, x392, x395);
+ uint32_t x418;
+ fiat_p224_uint1 x419;
+ fiat_p224_addcarryx_u32(&x418, &x419, x417, 0x0, x393);
+ uint32_t x420;
+ fiat_p224_uint1 x421;
+ fiat_p224_addcarryx_u32(&x420, &x421, 0x0, x404, x376);
+ uint32_t x422;
+ fiat_p224_uint1 x423;
+ fiat_p224_addcarryx_u32(&x422, &x423, x421, x406, x378);
+ uint32_t x424;
+ fiat_p224_uint1 x425;
+ fiat_p224_addcarryx_u32(&x424, &x425, x423, x408, x380);
+ uint32_t x426;
+ fiat_p224_uint1 x427;
+ fiat_p224_addcarryx_u32(&x426, &x427, x425, x410, x382);
+ uint32_t x428;
+ fiat_p224_uint1 x429;
+ fiat_p224_addcarryx_u32(&x428, &x429, x427, x412, x384);
+ uint32_t x430;
+ fiat_p224_uint1 x431;
+ fiat_p224_addcarryx_u32(&x430, &x431, x429, x414, x386);
+ uint32_t x432;
+ fiat_p224_uint1 x433;
+ fiat_p224_addcarryx_u32(&x432, &x433, x431, x416, x388);
+ uint32_t x434;
+ fiat_p224_uint1 x435;
+ fiat_p224_addcarryx_u32(&x434, &x435, x433, x418, x390);
+ uint32_t x436;
+ uint32_t x437;
+ fiat_p224_mulx_u32(&x436, &x437, x420, UINT32_C(0xffffffff));
+ uint32_t x438;
+ uint32_t x439;
+ fiat_p224_mulx_u32(&x438, &x439, x436, UINT32_C(0xffffffff));
+ uint32_t x440;
+ uint32_t x441;
+ fiat_p224_mulx_u32(&x440, &x441, x436, UINT32_C(0xffffffff));
+ uint32_t x442;
+ uint32_t x443;
+ fiat_p224_mulx_u32(&x442, &x443, x436, UINT32_C(0xffffffff));
+ uint32_t x444;
+ uint32_t x445;
+ fiat_p224_mulx_u32(&x444, &x445, x436, UINT32_C(0xffffffff));
+ uint32_t x446;
+ fiat_p224_uint1 x447;
+ fiat_p224_addcarryx_u32(&x446, &x447, 0x0, x442, x445);
+ uint32_t x448;
+ fiat_p224_uint1 x449;
+ fiat_p224_addcarryx_u32(&x448, &x449, x447, x440, x443);
+ uint32_t x450;
+ fiat_p224_uint1 x451;
+ fiat_p224_addcarryx_u32(&x450, &x451, x449, x438, x441);
+ uint32_t x452;
+ fiat_p224_uint1 x453;
+ fiat_p224_addcarryx_u32(&x452, &x453, x451, 0x0, x439);
+ uint32_t x454;
+ fiat_p224_uint1 x455;
+ fiat_p224_addcarryx_u32(&x454, &x455, 0x0, x436, x420);
+ uint32_t x456;
+ fiat_p224_uint1 x457;
+ fiat_p224_addcarryx_u32(&x456, &x457, x455, 0x0, x422);
+ uint32_t x458;
+ fiat_p224_uint1 x459;
+ fiat_p224_addcarryx_u32(&x458, &x459, x457, 0x0, x424);
+ uint32_t x460;
+ fiat_p224_uint1 x461;
+ fiat_p224_addcarryx_u32(&x460, &x461, x459, x444, x426);
+ uint32_t x462;
+ fiat_p224_uint1 x463;
+ fiat_p224_addcarryx_u32(&x462, &x463, x461, x446, x428);
+ uint32_t x464;
+ fiat_p224_uint1 x465;
+ fiat_p224_addcarryx_u32(&x464, &x465, x463, x448, x430);
+ uint32_t x466;
+ fiat_p224_uint1 x467;
+ fiat_p224_addcarryx_u32(&x466, &x467, x465, x450, x432);
+ uint32_t x468;
+ fiat_p224_uint1 x469;
+ fiat_p224_addcarryx_u32(&x468, &x469, x467, x452, x434);
+ uint32_t x470;
+ fiat_p224_uint1 x471;
+ fiat_p224_addcarryx_u32(&x470, &x471, x469, 0x0, x435);
+ uint32_t x472;
+ uint32_t x473;
+ fiat_p224_mulx_u32(&x472, &x473, x6, (arg1[6]));
+ uint32_t x474;
+ uint32_t x475;
+ fiat_p224_mulx_u32(&x474, &x475, x6, (arg1[5]));
+ uint32_t x476;
+ uint32_t x477;
+ fiat_p224_mulx_u32(&x476, &x477, x6, (arg1[4]));
+ uint32_t x478;
+ uint32_t x479;
+ fiat_p224_mulx_u32(&x478, &x479, x6, (arg1[3]));
+ uint32_t x480;
+ uint32_t x481;
+ fiat_p224_mulx_u32(&x480, &x481, x6, (arg1[2]));
+ uint32_t x482;
+ uint32_t x483;
+ fiat_p224_mulx_u32(&x482, &x483, x6, (arg1[1]));
+ uint32_t x484;
+ uint32_t x485;
+ fiat_p224_mulx_u32(&x484, &x485, x6, (arg1[0]));
+ uint32_t x486;
+ fiat_p224_uint1 x487;
+ fiat_p224_addcarryx_u32(&x486, &x487, 0x0, x482, x485);
+ uint32_t x488;
+ fiat_p224_uint1 x489;
+ fiat_p224_addcarryx_u32(&x488, &x489, x487, x480, x483);
+ uint32_t x490;
+ fiat_p224_uint1 x491;
+ fiat_p224_addcarryx_u32(&x490, &x491, x489, x478, x481);
+ uint32_t x492;
+ fiat_p224_uint1 x493;
+ fiat_p224_addcarryx_u32(&x492, &x493, x491, x476, x479);
+ uint32_t x494;
+ fiat_p224_uint1 x495;
+ fiat_p224_addcarryx_u32(&x494, &x495, x493, x474, x477);
+ uint32_t x496;
+ fiat_p224_uint1 x497;
+ fiat_p224_addcarryx_u32(&x496, &x497, x495, x472, x475);
+ uint32_t x498;
+ fiat_p224_uint1 x499;
+ fiat_p224_addcarryx_u32(&x498, &x499, x497, 0x0, x473);
+ uint32_t x500;
+ fiat_p224_uint1 x501;
+ fiat_p224_addcarryx_u32(&x500, &x501, 0x0, x484, x456);
+ uint32_t x502;
+ fiat_p224_uint1 x503;
+ fiat_p224_addcarryx_u32(&x502, &x503, x501, x486, x458);
+ uint32_t x504;
+ fiat_p224_uint1 x505;
+ fiat_p224_addcarryx_u32(&x504, &x505, x503, x488, x460);
+ uint32_t x506;
+ fiat_p224_uint1 x507;
+ fiat_p224_addcarryx_u32(&x506, &x507, x505, x490, x462);
+ uint32_t x508;
+ fiat_p224_uint1 x509;
+ fiat_p224_addcarryx_u32(&x508, &x509, x507, x492, x464);
+ uint32_t x510;
+ fiat_p224_uint1 x511;
+ fiat_p224_addcarryx_u32(&x510, &x511, x509, x494, x466);
+ uint32_t x512;
+ fiat_p224_uint1 x513;
+ fiat_p224_addcarryx_u32(&x512, &x513, x511, x496, x468);
+ uint32_t x514;
+ fiat_p224_uint1 x515;
+ fiat_p224_addcarryx_u32(&x514, &x515, x513, x498, x470);
+ uint32_t x516;
+ uint32_t x517;
+ fiat_p224_mulx_u32(&x516, &x517, x500, UINT32_C(0xffffffff));
+ uint32_t x518;
+ uint32_t x519;
+ fiat_p224_mulx_u32(&x518, &x519, x516, UINT32_C(0xffffffff));
+ uint32_t x520;
+ uint32_t x521;
+ fiat_p224_mulx_u32(&x520, &x521, x516, UINT32_C(0xffffffff));
+ uint32_t x522;
+ uint32_t x523;
+ fiat_p224_mulx_u32(&x522, &x523, x516, UINT32_C(0xffffffff));
+ uint32_t x524;
+ uint32_t x525;
+ fiat_p224_mulx_u32(&x524, &x525, x516, UINT32_C(0xffffffff));
+ uint32_t x526;
+ fiat_p224_uint1 x527;
+ fiat_p224_addcarryx_u32(&x526, &x527, 0x0, x522, x525);
+ uint32_t x528;
+ fiat_p224_uint1 x529;
+ fiat_p224_addcarryx_u32(&x528, &x529, x527, x520, x523);
+ uint32_t x530;
+ fiat_p224_uint1 x531;
+ fiat_p224_addcarryx_u32(&x530, &x531, x529, x518, x521);
+ uint32_t x532;
+ fiat_p224_uint1 x533;
+ fiat_p224_addcarryx_u32(&x532, &x533, x531, 0x0, x519);
+ uint32_t x534;
+ fiat_p224_uint1 x535;
+ fiat_p224_addcarryx_u32(&x534, &x535, 0x0, x516, x500);
+ uint32_t x536;
+ fiat_p224_uint1 x537;
+ fiat_p224_addcarryx_u32(&x536, &x537, x535, 0x0, x502);
+ uint32_t x538;
+ fiat_p224_uint1 x539;
+ fiat_p224_addcarryx_u32(&x538, &x539, x537, 0x0, x504);
+ uint32_t x540;
+ fiat_p224_uint1 x541;
+ fiat_p224_addcarryx_u32(&x540, &x541, x539, x524, x506);
+ uint32_t x542;
+ fiat_p224_uint1 x543;
+ fiat_p224_addcarryx_u32(&x542, &x543, x541, x526, x508);
+ uint32_t x544;
+ fiat_p224_uint1 x545;
+ fiat_p224_addcarryx_u32(&x544, &x545, x543, x528, x510);
+ uint32_t x546;
+ fiat_p224_uint1 x547;
+ fiat_p224_addcarryx_u32(&x546, &x547, x545, x530, x512);
+ uint32_t x548;
+ fiat_p224_uint1 x549;
+ fiat_p224_addcarryx_u32(&x548, &x549, x547, x532, x514);
+ uint32_t x550;
+ fiat_p224_uint1 x551;
+ fiat_p224_addcarryx_u32(&x550, &x551, x549, 0x0, x515);
+ uint32_t x552;
+ fiat_p224_uint1 x553;
+ fiat_p224_subborrowx_u32(&x552, &x553, 0x0, x536, 0x1);
+ uint32_t x554;
+ fiat_p224_uint1 x555;
+ fiat_p224_subborrowx_u32(&x554, &x555, x553, x538, 0x0);
+ uint32_t x556;
+ fiat_p224_uint1 x557;
+ fiat_p224_subborrowx_u32(&x556, &x557, x555, x540, 0x0);
+ uint32_t x558;
+ fiat_p224_uint1 x559;
+ fiat_p224_subborrowx_u32(&x558, &x559, x557, x542, UINT32_C(0xffffffff));
+ uint32_t x560;
+ fiat_p224_uint1 x561;
+ fiat_p224_subborrowx_u32(&x560, &x561, x559, x544, UINT32_C(0xffffffff));
+ uint32_t x562;
+ fiat_p224_uint1 x563;
+ fiat_p224_subborrowx_u32(&x562, &x563, x561, x546, UINT32_C(0xffffffff));
+ uint32_t x564;
+ fiat_p224_uint1 x565;
+ fiat_p224_subborrowx_u32(&x564, &x565, x563, x548, UINT32_C(0xffffffff));
+ uint32_t x566;
+ fiat_p224_uint1 x567;
+ fiat_p224_subborrowx_u32(&x566, &x567, x565, x550, 0x0);
+ uint32_t x568;
+ fiat_p224_cmovznz_u32(&x568, x567, x552, x536);
+ uint32_t x569;
+ fiat_p224_cmovznz_u32(&x569, x567, x554, x538);
+ uint32_t x570;
+ fiat_p224_cmovznz_u32(&x570, x567, x556, x540);
+ uint32_t x571;
+ fiat_p224_cmovznz_u32(&x571, x567, x558, x542);
+ uint32_t x572;
+ fiat_p224_cmovznz_u32(&x572, x567, x560, x544);
+ uint32_t x573;
+ fiat_p224_cmovznz_u32(&x573, x567, x562, x546);
+ uint32_t x574;
+ fiat_p224_cmovznz_u32(&x574, x567, x564, x548);
+ out1[0] = x568;
+ out1[1] = x569;
+ out1[2] = x570;
+ out1[3] = x571;
+ out1[4] = x572;
+ out1[5] = x573;
+ out1[6] = x574;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p224_add(uint32_t out1[7], const uint32_t arg1[7], const uint32_t arg2[7]) {
+ uint32_t x1;
+ fiat_p224_uint1 x2;
+ fiat_p224_addcarryx_u32(&x1, &x2, 0x0, (arg2[0]), (arg1[0]));
+ uint32_t x3;
+ fiat_p224_uint1 x4;
+ fiat_p224_addcarryx_u32(&x3, &x4, x2, (arg2[1]), (arg1[1]));
+ uint32_t x5;
+ fiat_p224_uint1 x6;
+ fiat_p224_addcarryx_u32(&x5, &x6, x4, (arg2[2]), (arg1[2]));
+ uint32_t x7;
+ fiat_p224_uint1 x8;
+ fiat_p224_addcarryx_u32(&x7, &x8, x6, (arg2[3]), (arg1[3]));
+ uint32_t x9;
+ fiat_p224_uint1 x10;
+ fiat_p224_addcarryx_u32(&x9, &x10, x8, (arg2[4]), (arg1[4]));
+ uint32_t x11;
+ fiat_p224_uint1 x12;
+ fiat_p224_addcarryx_u32(&x11, &x12, x10, (arg2[5]), (arg1[5]));
+ uint32_t x13;
+ fiat_p224_uint1 x14;
+ fiat_p224_addcarryx_u32(&x13, &x14, x12, (arg2[6]), (arg1[6]));
+ uint32_t x15;
+ fiat_p224_uint1 x16;
+ fiat_p224_subborrowx_u32(&x15, &x16, 0x0, x1, 0x1);
+ uint32_t x17;
+ fiat_p224_uint1 x18;
+ fiat_p224_subborrowx_u32(&x17, &x18, x16, x3, 0x0);
+ uint32_t x19;
+ fiat_p224_uint1 x20;
+ fiat_p224_subborrowx_u32(&x19, &x20, x18, x5, 0x0);
+ uint32_t x21;
+ fiat_p224_uint1 x22;
+ fiat_p224_subborrowx_u32(&x21, &x22, x20, x7, UINT32_C(0xffffffff));
+ uint32_t x23;
+ fiat_p224_uint1 x24;
+ fiat_p224_subborrowx_u32(&x23, &x24, x22, x9, UINT32_C(0xffffffff));
+ uint32_t x25;
+ fiat_p224_uint1 x26;
+ fiat_p224_subborrowx_u32(&x25, &x26, x24, x11, UINT32_C(0xffffffff));
+ uint32_t x27;
+ fiat_p224_uint1 x28;
+ fiat_p224_subborrowx_u32(&x27, &x28, x26, x13, UINT32_C(0xffffffff));
+ uint32_t x29;
+ fiat_p224_uint1 x30;
+ fiat_p224_subborrowx_u32(&x29, &x30, x28, x14, 0x0);
+ uint32_t x31;
+ fiat_p224_cmovznz_u32(&x31, x30, x15, x1);
+ uint32_t x32;
+ fiat_p224_cmovznz_u32(&x32, x30, x17, x3);
+ uint32_t x33;
+ fiat_p224_cmovznz_u32(&x33, x30, x19, x5);
+ uint32_t x34;
+ fiat_p224_cmovznz_u32(&x34, x30, x21, x7);
+ uint32_t x35;
+ fiat_p224_cmovznz_u32(&x35, x30, x23, x9);
+ uint32_t x36;
+ fiat_p224_cmovznz_u32(&x36, x30, x25, x11);
+ uint32_t x37;
+ fiat_p224_cmovznz_u32(&x37, x30, x27, x13);
+ out1[0] = x31;
+ out1[1] = x32;
+ out1[2] = x33;
+ out1[3] = x34;
+ out1[4] = x35;
+ out1[5] = x36;
+ out1[6] = x37;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p224_sub(uint32_t out1[7], const uint32_t arg1[7], const uint32_t arg2[7]) {
+ uint32_t x1;
+ fiat_p224_uint1 x2;
+ fiat_p224_subborrowx_u32(&x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+ uint32_t x3;
+ fiat_p224_uint1 x4;
+ fiat_p224_subborrowx_u32(&x3, &x4, x2, (arg1[1]), (arg2[1]));
+ uint32_t x5;
+ fiat_p224_uint1 x6;
+ fiat_p224_subborrowx_u32(&x5, &x6, x4, (arg1[2]), (arg2[2]));
+ uint32_t x7;
+ fiat_p224_uint1 x8;
+ fiat_p224_subborrowx_u32(&x7, &x8, x6, (arg1[3]), (arg2[3]));
+ uint32_t x9;
+ fiat_p224_uint1 x10;
+ fiat_p224_subborrowx_u32(&x9, &x10, x8, (arg1[4]), (arg2[4]));
+ uint32_t x11;
+ fiat_p224_uint1 x12;
+ fiat_p224_subborrowx_u32(&x11, &x12, x10, (arg1[5]), (arg2[5]));
+ uint32_t x13;
+ fiat_p224_uint1 x14;
+ fiat_p224_subborrowx_u32(&x13, &x14, x12, (arg1[6]), (arg2[6]));
+ uint32_t x15;
+ fiat_p224_cmovznz_u32(&x15, x14, 0x0, UINT32_C(0xffffffff));
+ uint32_t x16;
+ fiat_p224_uint1 x17;
+ fiat_p224_addcarryx_u32(&x16, &x17, 0x0, (fiat_p224_uint1)(x15 & 0x1), x1);
+ uint32_t x18;
+ fiat_p224_uint1 x19;
+ fiat_p224_addcarryx_u32(&x18, &x19, x17, 0x0, x3);
+ uint32_t x20;
+ fiat_p224_uint1 x21;
+ fiat_p224_addcarryx_u32(&x20, &x21, x19, 0x0, x5);
+ uint32_t x22;
+ fiat_p224_uint1 x23;
+ fiat_p224_addcarryx_u32(&x22, &x23, x21, (x15 & UINT32_C(0xffffffff)), x7);
+ uint32_t x24;
+ fiat_p224_uint1 x25;
+ fiat_p224_addcarryx_u32(&x24, &x25, x23, (x15 & UINT32_C(0xffffffff)), x9);
+ uint32_t x26;
+ fiat_p224_uint1 x27;
+ fiat_p224_addcarryx_u32(&x26, &x27, x25, (x15 & UINT32_C(0xffffffff)), x11);
+ uint32_t x28;
+ fiat_p224_uint1 x29;
+ fiat_p224_addcarryx_u32(&x28, &x29, x27, (x15 & UINT32_C(0xffffffff)), x13);
+ out1[0] = x16;
+ out1[1] = x18;
+ out1[2] = x20;
+ out1[3] = x22;
+ out1[4] = x24;
+ out1[5] = x26;
+ out1[6] = x28;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p224_opp(uint32_t out1[7], const uint32_t arg1[7]) {
+ uint32_t x1;
+ fiat_p224_uint1 x2;
+ fiat_p224_subborrowx_u32(&x1, &x2, 0x0, 0x0, (arg1[0]));
+ uint32_t x3;
+ fiat_p224_uint1 x4;
+ fiat_p224_subborrowx_u32(&x3, &x4, x2, 0x0, (arg1[1]));
+ uint32_t x5;
+ fiat_p224_uint1 x6;
+ fiat_p224_subborrowx_u32(&x5, &x6, x4, 0x0, (arg1[2]));
+ uint32_t x7;
+ fiat_p224_uint1 x8;
+ fiat_p224_subborrowx_u32(&x7, &x8, x6, 0x0, (arg1[3]));
+ uint32_t x9;
+ fiat_p224_uint1 x10;
+ fiat_p224_subborrowx_u32(&x9, &x10, x8, 0x0, (arg1[4]));
+ uint32_t x11;
+ fiat_p224_uint1 x12;
+ fiat_p224_subborrowx_u32(&x11, &x12, x10, 0x0, (arg1[5]));
+ uint32_t x13;
+ fiat_p224_uint1 x14;
+ fiat_p224_subborrowx_u32(&x13, &x14, x12, 0x0, (arg1[6]));
+ uint32_t x15;
+ fiat_p224_cmovznz_u32(&x15, x14, 0x0, UINT32_C(0xffffffff));
+ uint32_t x16;
+ fiat_p224_uint1 x17;
+ fiat_p224_addcarryx_u32(&x16, &x17, 0x0, (fiat_p224_uint1)(x15 & 0x1), x1);
+ uint32_t x18;
+ fiat_p224_uint1 x19;
+ fiat_p224_addcarryx_u32(&x18, &x19, x17, 0x0, x3);
+ uint32_t x20;
+ fiat_p224_uint1 x21;
+ fiat_p224_addcarryx_u32(&x20, &x21, x19, 0x0, x5);
+ uint32_t x22;
+ fiat_p224_uint1 x23;
+ fiat_p224_addcarryx_u32(&x22, &x23, x21, (x15 & UINT32_C(0xffffffff)), x7);
+ uint32_t x24;
+ fiat_p224_uint1 x25;
+ fiat_p224_addcarryx_u32(&x24, &x25, x23, (x15 & UINT32_C(0xffffffff)), x9);
+ uint32_t x26;
+ fiat_p224_uint1 x27;
+ fiat_p224_addcarryx_u32(&x26, &x27, x25, (x15 & UINT32_C(0xffffffff)), x11);
+ uint32_t x28;
+ fiat_p224_uint1 x29;
+ fiat_p224_addcarryx_u32(&x28, &x29, x27, (x15 & UINT32_C(0xffffffff)), x13);
+ out1[0] = x16;
+ out1[1] = x18;
+ out1[2] = x20;
+ out1[3] = x22;
+ out1[4] = x24;
+ out1[5] = x26;
+ out1[6] = x28;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p224_from_montgomery(uint32_t out1[7], const uint32_t arg1[7]) {
+ uint32_t x1 = (arg1[0]);
+ uint32_t x2;
+ uint32_t x3;
+ fiat_p224_mulx_u32(&x2, &x3, x1, UINT32_C(0xffffffff));
+ uint32_t x4;
+ uint32_t x5;
+ fiat_p224_mulx_u32(&x4, &x5, x2, UINT32_C(0xffffffff));
+ uint32_t x6;
+ uint32_t x7;
+ fiat_p224_mulx_u32(&x6, &x7, x2, UINT32_C(0xffffffff));
+ uint32_t x8;
+ uint32_t x9;
+ fiat_p224_mulx_u32(&x8, &x9, x2, UINT32_C(0xffffffff));
+ uint32_t x10;
+ uint32_t x11;
+ fiat_p224_mulx_u32(&x10, &x11, x2, UINT32_C(0xffffffff));
+ uint32_t x12;
+ fiat_p224_uint1 x13;
+ fiat_p224_addcarryx_u32(&x12, &x13, 0x0, x8, x11);
+ uint32_t x14;
+ fiat_p224_uint1 x15;
+ fiat_p224_addcarryx_u32(&x14, &x15, x13, x6, x9);
+ uint32_t x16;
+ fiat_p224_uint1 x17;
+ fiat_p224_addcarryx_u32(&x16, &x17, x15, x4, x7);
+ uint32_t x18;
+ fiat_p224_uint1 x19;
+ fiat_p224_addcarryx_u32(&x18, &x19, 0x0, x2, x1);
+ uint32_t x20;
+ fiat_p224_uint1 x21;
+ fiat_p224_addcarryx_u32(&x20, &x21, x19, 0x0, 0x0);
+ uint32_t x22;
+ fiat_p224_uint1 x23;
+ fiat_p224_addcarryx_u32(&x22, &x23, 0x0, (arg1[1]), (fiat_p224_uint1)x20);
+ uint32_t x24;
+ uint32_t x25;
+ fiat_p224_mulx_u32(&x24, &x25, x22, UINT32_C(0xffffffff));
+ uint32_t x26;
+ uint32_t x27;
+ fiat_p224_mulx_u32(&x26, &x27, x24, UINT32_C(0xffffffff));
+ uint32_t x28;
+ uint32_t x29;
+ fiat_p224_mulx_u32(&x28, &x29, x24, UINT32_C(0xffffffff));
+ uint32_t x30;
+ uint32_t x31;
+ fiat_p224_mulx_u32(&x30, &x31, x24, UINT32_C(0xffffffff));
+ uint32_t x32;
+ uint32_t x33;
+ fiat_p224_mulx_u32(&x32, &x33, x24, UINT32_C(0xffffffff));
+ uint32_t x34;
+ fiat_p224_uint1 x35;
+ fiat_p224_addcarryx_u32(&x34, &x35, 0x0, x30, x33);
+ uint32_t x36;
+ fiat_p224_uint1 x37;
+ fiat_p224_addcarryx_u32(&x36, &x37, x35, x28, x31);
+ uint32_t x38;
+ fiat_p224_uint1 x39;
+ fiat_p224_addcarryx_u32(&x38, &x39, x37, x26, x29);
+ uint32_t x40;
+ fiat_p224_uint1 x41;
+ fiat_p224_addcarryx_u32(&x40, &x41, x23, 0x0, 0x0);
+ uint32_t x42;
+ fiat_p224_uint1 x43;
+ fiat_p224_addcarryx_u32(&x42, &x43, 0x0, x24, x22);
+ uint32_t x44;
+ fiat_p224_uint1 x45;
+ fiat_p224_addcarryx_u32(&x44, &x45, x43, 0x0, (fiat_p224_uint1)x40);
+ uint32_t x46;
+ fiat_p224_uint1 x47;
+ fiat_p224_addcarryx_u32(&x46, &x47, x45, 0x0, x10);
+ uint32_t x48;
+ fiat_p224_uint1 x49;
+ fiat_p224_addcarryx_u32(&x48, &x49, x47, x32, x12);
+ uint32_t x50;
+ fiat_p224_uint1 x51;
+ fiat_p224_addcarryx_u32(&x50, &x51, x49, x34, x14);
+ uint32_t x52;
+ fiat_p224_uint1 x53;
+ fiat_p224_addcarryx_u32(&x52, &x53, x51, x36, x16);
+ uint32_t x54;
+ fiat_p224_uint1 x55;
+ fiat_p224_addcarryx_u32(&x54, &x55, x17, 0x0, x5);
+ uint32_t x56;
+ fiat_p224_uint1 x57;
+ fiat_p224_addcarryx_u32(&x56, &x57, x53, x38, x54);
+ uint32_t x58;
+ fiat_p224_uint1 x59;
+ fiat_p224_addcarryx_u32(&x58, &x59, x39, 0x0, x27);
+ uint32_t x60;
+ fiat_p224_uint1 x61;
+ fiat_p224_addcarryx_u32(&x60, &x61, x57, x58, 0x0);
+ uint32_t x62;
+ fiat_p224_uint1 x63;
+ fiat_p224_addcarryx_u32(&x62, &x63, 0x0, (arg1[2]), x44);
+ uint32_t x64;
+ fiat_p224_uint1 x65;
+ fiat_p224_addcarryx_u32(&x64, &x65, x63, 0x0, x46);
+ uint32_t x66;
+ fiat_p224_uint1 x67;
+ fiat_p224_addcarryx_u32(&x66, &x67, x65, 0x0, x48);
+ uint32_t x68;
+ fiat_p224_uint1 x69;
+ fiat_p224_addcarryx_u32(&x68, &x69, x67, 0x0, x50);
+ uint32_t x70;
+ fiat_p224_uint1 x71;
+ fiat_p224_addcarryx_u32(&x70, &x71, x69, 0x0, x52);
+ uint32_t x72;
+ fiat_p224_uint1 x73;
+ fiat_p224_addcarryx_u32(&x72, &x73, x71, 0x0, x56);
+ uint32_t x74;
+ fiat_p224_uint1 x75;
+ fiat_p224_addcarryx_u32(&x74, &x75, x73, 0x0, x60);
+ uint32_t x76;
+ fiat_p224_uint1 x77;
+ fiat_p224_addcarryx_u32(&x76, &x77, x61, 0x0, 0x0);
+ uint32_t x78;
+ fiat_p224_uint1 x79;
+ fiat_p224_addcarryx_u32(&x78, &x79, x75, 0x0, (fiat_p224_uint1)x76);
+ uint32_t x80;
+ uint32_t x81;
+ fiat_p224_mulx_u32(&x80, &x81, x62, UINT32_C(0xffffffff));
+ uint32_t x82;
+ uint32_t x83;
+ fiat_p224_mulx_u32(&x82, &x83, x80, UINT32_C(0xffffffff));
+ uint32_t x84;
+ uint32_t x85;
+ fiat_p224_mulx_u32(&x84, &x85, x80, UINT32_C(0xffffffff));
+ uint32_t x86;
+ uint32_t x87;
+ fiat_p224_mulx_u32(&x86, &x87, x80, UINT32_C(0xffffffff));
+ uint32_t x88;
+ uint32_t x89;
+ fiat_p224_mulx_u32(&x88, &x89, x80, UINT32_C(0xffffffff));
+ uint32_t x90;
+ fiat_p224_uint1 x91;
+ fiat_p224_addcarryx_u32(&x90, &x91, 0x0, x86, x89);
+ uint32_t x92;
+ fiat_p224_uint1 x93;
+ fiat_p224_addcarryx_u32(&x92, &x93, x91, x84, x87);
+ uint32_t x94;
+ fiat_p224_uint1 x95;
+ fiat_p224_addcarryx_u32(&x94, &x95, x93, x82, x85);
+ uint32_t x96;
+ fiat_p224_uint1 x97;
+ fiat_p224_addcarryx_u32(&x96, &x97, 0x0, x80, x62);
+ uint32_t x98;
+ fiat_p224_uint1 x99;
+ fiat_p224_addcarryx_u32(&x98, &x99, x97, 0x0, x64);
+ uint32_t x100;
+ fiat_p224_uint1 x101;
+ fiat_p224_addcarryx_u32(&x100, &x101, x99, 0x0, x66);
+ uint32_t x102;
+ fiat_p224_uint1 x103;
+ fiat_p224_addcarryx_u32(&x102, &x103, x101, x88, x68);
+ uint32_t x104;
+ fiat_p224_uint1 x105;
+ fiat_p224_addcarryx_u32(&x104, &x105, x103, x90, x70);
+ uint32_t x106;
+ fiat_p224_uint1 x107;
+ fiat_p224_addcarryx_u32(&x106, &x107, x105, x92, x72);
+ uint32_t x108;
+ fiat_p224_uint1 x109;
+ fiat_p224_addcarryx_u32(&x108, &x109, x107, x94, x74);
+ uint32_t x110;
+ fiat_p224_uint1 x111;
+ fiat_p224_addcarryx_u32(&x110, &x111, x95, 0x0, x83);
+ uint32_t x112;
+ fiat_p224_uint1 x113;
+ fiat_p224_addcarryx_u32(&x112, &x113, x109, x110, x78);
+ uint32_t x114;
+ fiat_p224_uint1 x115;
+ fiat_p224_addcarryx_u32(&x114, &x115, 0x0, (arg1[3]), x98);
+ uint32_t x116;
+ fiat_p224_uint1 x117;
+ fiat_p224_addcarryx_u32(&x116, &x117, x115, 0x0, x100);
+ uint32_t x118;
+ fiat_p224_uint1 x119;
+ fiat_p224_addcarryx_u32(&x118, &x119, x117, 0x0, x102);
+ uint32_t x120;
+ fiat_p224_uint1 x121;
+ fiat_p224_addcarryx_u32(&x120, &x121, x119, 0x0, x104);
+ uint32_t x122;
+ fiat_p224_uint1 x123;
+ fiat_p224_addcarryx_u32(&x122, &x123, x121, 0x0, x106);
+ uint32_t x124;
+ fiat_p224_uint1 x125;
+ fiat_p224_addcarryx_u32(&x124, &x125, x123, 0x0, x108);
+ uint32_t x126;
+ fiat_p224_uint1 x127;
+ fiat_p224_addcarryx_u32(&x126, &x127, x125, 0x0, x112);
+ uint32_t x128;
+ fiat_p224_uint1 x129;
+ fiat_p224_addcarryx_u32(&x128, &x129, x113, 0x0, x79);
+ uint32_t x130;
+ fiat_p224_uint1 x131;
+ fiat_p224_addcarryx_u32(&x130, &x131, x127, 0x0, (fiat_p224_uint1)x128);
+ uint32_t x132;
+ uint32_t x133;
+ fiat_p224_mulx_u32(&x132, &x133, x114, UINT32_C(0xffffffff));
+ uint32_t x134;
+ uint32_t x135;
+ fiat_p224_mulx_u32(&x134, &x135, x132, UINT32_C(0xffffffff));
+ uint32_t x136;
+ uint32_t x137;
+ fiat_p224_mulx_u32(&x136, &x137, x132, UINT32_C(0xffffffff));
+ uint32_t x138;
+ uint32_t x139;
+ fiat_p224_mulx_u32(&x138, &x139, x132, UINT32_C(0xffffffff));
+ uint32_t x140;
+ uint32_t x141;
+ fiat_p224_mulx_u32(&x140, &x141, x132, UINT32_C(0xffffffff));
+ uint32_t x142;
+ fiat_p224_uint1 x143;
+ fiat_p224_addcarryx_u32(&x142, &x143, 0x0, x138, x141);
+ uint32_t x144;
+ fiat_p224_uint1 x145;
+ fiat_p224_addcarryx_u32(&x144, &x145, x143, x136, x139);
+ uint32_t x146;
+ fiat_p224_uint1 x147;
+ fiat_p224_addcarryx_u32(&x146, &x147, x145, x134, x137);
+ uint32_t x148;
+ fiat_p224_uint1 x149;
+ fiat_p224_addcarryx_u32(&x148, &x149, 0x0, x132, x114);
+ uint32_t x150;
+ fiat_p224_uint1 x151;
+ fiat_p224_addcarryx_u32(&x150, &x151, x149, 0x0, x116);
+ uint32_t x152;
+ fiat_p224_uint1 x153;
+ fiat_p224_addcarryx_u32(&x152, &x153, x151, 0x0, x118);
+ uint32_t x154;
+ fiat_p224_uint1 x155;
+ fiat_p224_addcarryx_u32(&x154, &x155, x153, x140, x120);
+ uint32_t x156;
+ fiat_p224_uint1 x157;
+ fiat_p224_addcarryx_u32(&x156, &x157, x155, x142, x122);
+ uint32_t x158;
+ fiat_p224_uint1 x159;
+ fiat_p224_addcarryx_u32(&x158, &x159, x157, x144, x124);
+ uint32_t x160;
+ fiat_p224_uint1 x161;
+ fiat_p224_addcarryx_u32(&x160, &x161, x159, x146, x126);
+ uint32_t x162;
+ fiat_p224_uint1 x163;
+ fiat_p224_addcarryx_u32(&x162, &x163, x147, 0x0, x135);
+ uint32_t x164;
+ fiat_p224_uint1 x165;
+ fiat_p224_addcarryx_u32(&x164, &x165, x161, x162, x130);
+ uint32_t x166;
+ fiat_p224_uint1 x167;
+ fiat_p224_addcarryx_u32(&x166, &x167, 0x0, (arg1[4]), x150);
+ uint32_t x168;
+ fiat_p224_uint1 x169;
+ fiat_p224_addcarryx_u32(&x168, &x169, x167, 0x0, x152);
+ uint32_t x170;
+ fiat_p224_uint1 x171;
+ fiat_p224_addcarryx_u32(&x170, &x171, x169, 0x0, x154);
+ uint32_t x172;
+ fiat_p224_uint1 x173;
+ fiat_p224_addcarryx_u32(&x172, &x173, x171, 0x0, x156);
+ uint32_t x174;
+ fiat_p224_uint1 x175;
+ fiat_p224_addcarryx_u32(&x174, &x175, x173, 0x0, x158);
+ uint32_t x176;
+ fiat_p224_uint1 x177;
+ fiat_p224_addcarryx_u32(&x176, &x177, x175, 0x0, x160);
+ uint32_t x178;
+ fiat_p224_uint1 x179;
+ fiat_p224_addcarryx_u32(&x178, &x179, x177, 0x0, x164);
+ uint32_t x180;
+ fiat_p224_uint1 x181;
+ fiat_p224_addcarryx_u32(&x180, &x181, x165, 0x0, x131);
+ uint32_t x182;
+ fiat_p224_uint1 x183;
+ fiat_p224_addcarryx_u32(&x182, &x183, x179, 0x0, (fiat_p224_uint1)x180);
+ uint32_t x184;
+ uint32_t x185;
+ fiat_p224_mulx_u32(&x184, &x185, x166, UINT32_C(0xffffffff));
+ uint32_t x186;
+ uint32_t x187;
+ fiat_p224_mulx_u32(&x186, &x187, x184, UINT32_C(0xffffffff));
+ uint32_t x188;
+ uint32_t x189;
+ fiat_p224_mulx_u32(&x188, &x189, x184, UINT32_C(0xffffffff));
+ uint32_t x190;
+ uint32_t x191;
+ fiat_p224_mulx_u32(&x190, &x191, x184, UINT32_C(0xffffffff));
+ uint32_t x192;
+ uint32_t x193;
+ fiat_p224_mulx_u32(&x192, &x193, x184, UINT32_C(0xffffffff));
+ uint32_t x194;
+ fiat_p224_uint1 x195;
+ fiat_p224_addcarryx_u32(&x194, &x195, 0x0, x190, x193);
+ uint32_t x196;
+ fiat_p224_uint1 x197;
+ fiat_p224_addcarryx_u32(&x196, &x197, x195, x188, x191);
+ uint32_t x198;
+ fiat_p224_uint1 x199;
+ fiat_p224_addcarryx_u32(&x198, &x199, x197, x186, x189);
+ uint32_t x200;
+ fiat_p224_uint1 x201;
+ fiat_p224_addcarryx_u32(&x200, &x201, 0x0, x184, x166);
+ uint32_t x202;
+ fiat_p224_uint1 x203;
+ fiat_p224_addcarryx_u32(&x202, &x203, x201, 0x0, x168);
+ uint32_t x204;
+ fiat_p224_uint1 x205;
+ fiat_p224_addcarryx_u32(&x204, &x205, x203, 0x0, x170);
+ uint32_t x206;
+ fiat_p224_uint1 x207;
+ fiat_p224_addcarryx_u32(&x206, &x207, x205, x192, x172);
+ uint32_t x208;
+ fiat_p224_uint1 x209;
+ fiat_p224_addcarryx_u32(&x208, &x209, x207, x194, x174);
+ uint32_t x210;
+ fiat_p224_uint1 x211;
+ fiat_p224_addcarryx_u32(&x210, &x211, x209, x196, x176);
+ uint32_t x212;
+ fiat_p224_uint1 x213;
+ fiat_p224_addcarryx_u32(&x212, &x213, x211, x198, x178);
+ uint32_t x214;
+ fiat_p224_uint1 x215;
+ fiat_p224_addcarryx_u32(&x214, &x215, x199, 0x0, x187);
+ uint32_t x216;
+ fiat_p224_uint1 x217;
+ fiat_p224_addcarryx_u32(&x216, &x217, x213, x214, x182);
+ uint32_t x218;
+ fiat_p224_uint1 x219;
+ fiat_p224_addcarryx_u32(&x218, &x219, 0x0, (arg1[5]), x202);
+ uint32_t x220;
+ fiat_p224_uint1 x221;
+ fiat_p224_addcarryx_u32(&x220, &x221, x219, 0x0, x204);
+ uint32_t x222;
+ fiat_p224_uint1 x223;
+ fiat_p224_addcarryx_u32(&x222, &x223, x221, 0x0, x206);
+ uint32_t x224;
+ fiat_p224_uint1 x225;
+ fiat_p224_addcarryx_u32(&x224, &x225, x223, 0x0, x208);
+ uint32_t x226;
+ fiat_p224_uint1 x227;
+ fiat_p224_addcarryx_u32(&x226, &x227, x225, 0x0, x210);
+ uint32_t x228;
+ fiat_p224_uint1 x229;
+ fiat_p224_addcarryx_u32(&x228, &x229, x227, 0x0, x212);
+ uint32_t x230;
+ fiat_p224_uint1 x231;
+ fiat_p224_addcarryx_u32(&x230, &x231, x229, 0x0, x216);
+ uint32_t x232;
+ fiat_p224_uint1 x233;
+ fiat_p224_addcarryx_u32(&x232, &x233, x217, 0x0, x183);
+ uint32_t x234;
+ fiat_p224_uint1 x235;
+ fiat_p224_addcarryx_u32(&x234, &x235, x231, 0x0, (fiat_p224_uint1)x232);
+ uint32_t x236;
+ uint32_t x237;
+ fiat_p224_mulx_u32(&x236, &x237, x218, UINT32_C(0xffffffff));
+ uint32_t x238;
+ uint32_t x239;
+ fiat_p224_mulx_u32(&x238, &x239, x236, UINT32_C(0xffffffff));
+ uint32_t x240;
+ uint32_t x241;
+ fiat_p224_mulx_u32(&x240, &x241, x236, UINT32_C(0xffffffff));
+ uint32_t x242;
+ uint32_t x243;
+ fiat_p224_mulx_u32(&x242, &x243, x236, UINT32_C(0xffffffff));
+ uint32_t x244;
+ uint32_t x245;
+ fiat_p224_mulx_u32(&x244, &x245, x236, UINT32_C(0xffffffff));
+ uint32_t x246;
+ fiat_p224_uint1 x247;
+ fiat_p224_addcarryx_u32(&x246, &x247, 0x0, x242, x245);
+ uint32_t x248;
+ fiat_p224_uint1 x249;
+ fiat_p224_addcarryx_u32(&x248, &x249, x247, x240, x243);
+ uint32_t x250;
+ fiat_p224_uint1 x251;
+ fiat_p224_addcarryx_u32(&x250, &x251, x249, x238, x241);
+ uint32_t x252;
+ fiat_p224_uint1 x253;
+ fiat_p224_addcarryx_u32(&x252, &x253, 0x0, x236, x218);
+ uint32_t x254;
+ fiat_p224_uint1 x255;
+ fiat_p224_addcarryx_u32(&x254, &x255, x253, 0x0, x220);
+ uint32_t x256;
+ fiat_p224_uint1 x257;
+ fiat_p224_addcarryx_u32(&x256, &x257, x255, 0x0, x222);
+ uint32_t x258;
+ fiat_p224_uint1 x259;
+ fiat_p224_addcarryx_u32(&x258, &x259, x257, x244, x224);
+ uint32_t x260;
+ fiat_p224_uint1 x261;
+ fiat_p224_addcarryx_u32(&x260, &x261, x259, x246, x226);
+ uint32_t x262;
+ fiat_p224_uint1 x263;
+ fiat_p224_addcarryx_u32(&x262, &x263, x261, x248, x228);
+ uint32_t x264;
+ fiat_p224_uint1 x265;
+ fiat_p224_addcarryx_u32(&x264, &x265, x263, x250, x230);
+ uint32_t x266;
+ fiat_p224_uint1 x267;
+ fiat_p224_addcarryx_u32(&x266, &x267, x251, 0x0, x239);
+ uint32_t x268;
+ fiat_p224_uint1 x269;
+ fiat_p224_addcarryx_u32(&x268, &x269, x265, x266, x234);
+ uint32_t x270;
+ fiat_p224_uint1 x271;
+ fiat_p224_addcarryx_u32(&x270, &x271, 0x0, (arg1[6]), x254);
+ uint32_t x272;
+ fiat_p224_uint1 x273;
+ fiat_p224_addcarryx_u32(&x272, &x273, x271, 0x0, x256);
+ uint32_t x274;
+ fiat_p224_uint1 x275;
+ fiat_p224_addcarryx_u32(&x274, &x275, x273, 0x0, x258);
+ uint32_t x276;
+ fiat_p224_uint1 x277;
+ fiat_p224_addcarryx_u32(&x276, &x277, x275, 0x0, x260);
+ uint32_t x278;
+ fiat_p224_uint1 x279;
+ fiat_p224_addcarryx_u32(&x278, &x279, x277, 0x0, x262);
+ uint32_t x280;
+ fiat_p224_uint1 x281;
+ fiat_p224_addcarryx_u32(&x280, &x281, x279, 0x0, x264);
+ uint32_t x282;
+ fiat_p224_uint1 x283;
+ fiat_p224_addcarryx_u32(&x282, &x283, x281, 0x0, x268);
+ uint32_t x284;
+ fiat_p224_uint1 x285;
+ fiat_p224_addcarryx_u32(&x284, &x285, x269, 0x0, x235);
+ uint32_t x286;
+ fiat_p224_uint1 x287;
+ fiat_p224_addcarryx_u32(&x286, &x287, x283, 0x0, (fiat_p224_uint1)x284);
+ uint32_t x288;
+ uint32_t x289;
+ fiat_p224_mulx_u32(&x288, &x289, x270, UINT32_C(0xffffffff));
+ uint32_t x290;
+ uint32_t x291;
+ fiat_p224_mulx_u32(&x290, &x291, x288, UINT32_C(0xffffffff));
+ uint32_t x292;
+ uint32_t x293;
+ fiat_p224_mulx_u32(&x292, &x293, x288, UINT32_C(0xffffffff));
+ uint32_t x294;
+ uint32_t x295;
+ fiat_p224_mulx_u32(&x294, &x295, x288, UINT32_C(0xffffffff));
+ uint32_t x296;
+ uint32_t x297;
+ fiat_p224_mulx_u32(&x296, &x297, x288, UINT32_C(0xffffffff));
+ uint32_t x298;
+ fiat_p224_uint1 x299;
+ fiat_p224_addcarryx_u32(&x298, &x299, 0x0, x294, x297);
+ uint32_t x300;
+ fiat_p224_uint1 x301;
+ fiat_p224_addcarryx_u32(&x300, &x301, x299, x292, x295);
+ uint32_t x302;
+ fiat_p224_uint1 x303;
+ fiat_p224_addcarryx_u32(&x302, &x303, x301, x290, x293);
+ uint32_t x304;
+ fiat_p224_uint1 x305;
+ fiat_p224_addcarryx_u32(&x304, &x305, 0x0, x288, x270);
+ uint32_t x306;
+ fiat_p224_uint1 x307;
+ fiat_p224_addcarryx_u32(&x306, &x307, x305, 0x0, x272);
+ uint32_t x308;
+ fiat_p224_uint1 x309;
+ fiat_p224_addcarryx_u32(&x308, &x309, x307, 0x0, x274);
+ uint32_t x310;
+ fiat_p224_uint1 x311;
+ fiat_p224_addcarryx_u32(&x310, &x311, x309, x296, x276);
+ uint32_t x312;
+ fiat_p224_uint1 x313;
+ fiat_p224_addcarryx_u32(&x312, &x313, x311, x298, x278);
+ uint32_t x314;
+ fiat_p224_uint1 x315;
+ fiat_p224_addcarryx_u32(&x314, &x315, x313, x300, x280);
+ uint32_t x316;
+ fiat_p224_uint1 x317;
+ fiat_p224_addcarryx_u32(&x316, &x317, x315, x302, x282);
+ uint32_t x318;
+ fiat_p224_uint1 x319;
+ fiat_p224_addcarryx_u32(&x318, &x319, x303, 0x0, x291);
+ uint32_t x320;
+ fiat_p224_uint1 x321;
+ fiat_p224_addcarryx_u32(&x320, &x321, x317, x318, x286);
+ uint32_t x322;
+ fiat_p224_uint1 x323;
+ fiat_p224_subborrowx_u32(&x322, &x323, 0x0, x306, 0x1);
+ uint32_t x324;
+ fiat_p224_uint1 x325;
+ fiat_p224_subborrowx_u32(&x324, &x325, x323, x308, 0x0);
+ uint32_t x326;
+ fiat_p224_uint1 x327;
+ fiat_p224_subborrowx_u32(&x326, &x327, x325, x310, 0x0);
+ uint32_t x328;
+ fiat_p224_uint1 x329;
+ fiat_p224_subborrowx_u32(&x328, &x329, x327, x312, UINT32_C(0xffffffff));
+ uint32_t x330;
+ fiat_p224_uint1 x331;
+ fiat_p224_subborrowx_u32(&x330, &x331, x329, x314, UINT32_C(0xffffffff));
+ uint32_t x332;
+ fiat_p224_uint1 x333;
+ fiat_p224_subborrowx_u32(&x332, &x333, x331, x316, UINT32_C(0xffffffff));
+ uint32_t x334;
+ fiat_p224_uint1 x335;
+ fiat_p224_subborrowx_u32(&x334, &x335, x333, x320, UINT32_C(0xffffffff));
+ uint32_t x336;
+ fiat_p224_uint1 x337;
+ fiat_p224_addcarryx_u32(&x336, &x337, x321, 0x0, x287);
+ uint32_t x338;
+ fiat_p224_uint1 x339;
+ fiat_p224_subborrowx_u32(&x338, &x339, x335, (fiat_p224_uint1)x336, 0x0);
+ uint32_t x340;
+ fiat_p224_cmovznz_u32(&x340, x339, x322, x306);
+ uint32_t x341;
+ fiat_p224_cmovznz_u32(&x341, x339, x324, x308);
+ uint32_t x342;
+ fiat_p224_cmovznz_u32(&x342, x339, x326, x310);
+ uint32_t x343;
+ fiat_p224_cmovznz_u32(&x343, x339, x328, x312);
+ uint32_t x344;
+ fiat_p224_cmovznz_u32(&x344, x339, x330, x314);
+ uint32_t x345;
+ fiat_p224_cmovznz_u32(&x345, x339, x332, x316);
+ uint32_t x346;
+ fiat_p224_cmovznz_u32(&x346, x339, x334, x320);
+ out1[0] = x340;
+ out1[1] = x341;
+ out1[2] = x342;
+ out1[3] = x343;
+ out1[4] = x344;
+ out1[5] = x345;
+ out1[6] = x346;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ */
+static void fiat_p224_nonzero(uint32_t* out1, const uint32_t arg1[7]) {
+ uint32_t x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | ((arg1[4]) | ((arg1[5]) | ((arg1[6]) | (uint32_t)0x0)))))));
+ *out1 = x1;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p224_selectznz(uint32_t out1[7], fiat_p224_uint1 arg1, const uint32_t arg2[7], const uint32_t arg3[7]) {
+ uint32_t x1;
+ fiat_p224_cmovznz_u32(&x1, arg1, (arg2[0]), (arg3[0]));
+ uint32_t x2;
+ fiat_p224_cmovznz_u32(&x2, arg1, (arg2[1]), (arg3[1]));
+ uint32_t x3;
+ fiat_p224_cmovznz_u32(&x3, arg1, (arg2[2]), (arg3[2]));
+ uint32_t x4;
+ fiat_p224_cmovznz_u32(&x4, arg1, (arg2[3]), (arg3[3]));
+ uint32_t x5;
+ fiat_p224_cmovznz_u32(&x5, arg1, (arg2[4]), (arg3[4]));
+ uint32_t x6;
+ fiat_p224_cmovznz_u32(&x6, arg1, (arg2[5]), (arg3[5]));
+ uint32_t x7;
+ fiat_p224_cmovznz_u32(&x7, arg1, (arg2[6]), (arg3[6]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
+ */
+static void fiat_p224_to_bytes(uint8_t out1[28], const uint32_t arg1[7]) {
+ uint32_t x1 = (arg1[6]);
+ uint32_t x2 = (arg1[5]);
+ uint32_t x3 = (arg1[4]);
+ uint32_t x4 = (arg1[3]);
+ uint32_t x5 = (arg1[2]);
+ uint32_t x6 = (arg1[1]);
+ uint32_t x7 = (arg1[0]);
+ uint32_t x8 = (x7 >> 8);
+ uint8_t x9 = (uint8_t)(x7 & UINT8_C(0xff));
+ uint32_t x10 = (x8 >> 8);
+ uint8_t x11 = (uint8_t)(x8 & UINT8_C(0xff));
+ uint8_t x12 = (uint8_t)(x10 >> 8);
+ uint8_t x13 = (uint8_t)(x10 & UINT8_C(0xff));
+ fiat_p224_uint1 x14 = (fiat_p224_uint1)(x12 >> 8);
+ uint8_t x15 = (uint8_t)(x12 & UINT8_C(0xff));
+ uint32_t x16 = (x14 + x6);
+ uint32_t x17 = (x16 >> 8);
+ uint8_t x18 = (uint8_t)(x16 & UINT8_C(0xff));
+ uint32_t x19 = (x17 >> 8);
+ uint8_t x20 = (uint8_t)(x17 & UINT8_C(0xff));
+ uint8_t x21 = (uint8_t)(x19 >> 8);
+ uint8_t x22 = (uint8_t)(x19 & UINT8_C(0xff));
+ fiat_p224_uint1 x23 = (fiat_p224_uint1)(x21 >> 8);
+ uint8_t x24 = (uint8_t)(x21 & UINT8_C(0xff));
+ uint32_t x25 = (x23 + x5);
+ uint32_t x26 = (x25 >> 8);
+ uint8_t x27 = (uint8_t)(x25 & UINT8_C(0xff));
+ uint32_t x28 = (x26 >> 8);
+ uint8_t x29 = (uint8_t)(x26 & UINT8_C(0xff));
+ uint8_t x30 = (uint8_t)(x28 >> 8);
+ uint8_t x31 = (uint8_t)(x28 & UINT8_C(0xff));
+ fiat_p224_uint1 x32 = (fiat_p224_uint1)(x30 >> 8);
+ uint8_t x33 = (uint8_t)(x30 & UINT8_C(0xff));
+ uint32_t x34 = (x32 + x4);
+ uint32_t x35 = (x34 >> 8);
+ uint8_t x36 = (uint8_t)(x34 & UINT8_C(0xff));
+ uint32_t x37 = (x35 >> 8);
+ uint8_t x38 = (uint8_t)(x35 & UINT8_C(0xff));
+ uint8_t x39 = (uint8_t)(x37 >> 8);
+ uint8_t x40 = (uint8_t)(x37 & UINT8_C(0xff));
+ fiat_p224_uint1 x41 = (fiat_p224_uint1)(x39 >> 8);
+ uint8_t x42 = (uint8_t)(x39 & UINT8_C(0xff));
+ uint32_t x43 = (x41 + x3);
+ uint32_t x44 = (x43 >> 8);
+ uint8_t x45 = (uint8_t)(x43 & UINT8_C(0xff));
+ uint32_t x46 = (x44 >> 8);
+ uint8_t x47 = (uint8_t)(x44 & UINT8_C(0xff));
+ uint8_t x48 = (uint8_t)(x46 >> 8);
+ uint8_t x49 = (uint8_t)(x46 & UINT8_C(0xff));
+ fiat_p224_uint1 x50 = (fiat_p224_uint1)(x48 >> 8);
+ uint8_t x51 = (uint8_t)(x48 & UINT8_C(0xff));
+ uint32_t x52 = (x50 + x2);
+ uint32_t x53 = (x52 >> 8);
+ uint8_t x54 = (uint8_t)(x52 & UINT8_C(0xff));
+ uint32_t x55 = (x53 >> 8);
+ uint8_t x56 = (uint8_t)(x53 & UINT8_C(0xff));
+ uint8_t x57 = (uint8_t)(x55 >> 8);
+ uint8_t x58 = (uint8_t)(x55 & UINT8_C(0xff));
+ fiat_p224_uint1 x59 = (fiat_p224_uint1)(x57 >> 8);
+ uint8_t x60 = (uint8_t)(x57 & UINT8_C(0xff));
+ uint32_t x61 = (x59 + x1);
+ uint32_t x62 = (x61 >> 8);
+ uint8_t x63 = (uint8_t)(x61 & UINT8_C(0xff));
+ uint32_t x64 = (x62 >> 8);
+ uint8_t x65 = (uint8_t)(x62 & UINT8_C(0xff));
+ uint8_t x66 = (uint8_t)(x64 >> 8);
+ uint8_t x67 = (uint8_t)(x64 & UINT8_C(0xff));
+ out1[0] = x9;
+ out1[1] = x11;
+ out1[2] = x13;
+ out1[3] = x15;
+ out1[4] = x18;
+ out1[5] = x20;
+ out1[6] = x22;
+ out1[7] = x24;
+ out1[8] = x27;
+ out1[9] = x29;
+ out1[10] = x31;
+ out1[11] = x33;
+ out1[12] = x36;
+ out1[13] = x38;
+ out1[14] = x40;
+ out1[15] = x42;
+ out1[16] = x45;
+ out1[17] = x47;
+ out1[18] = x49;
+ out1[19] = x51;
+ out1[20] = x54;
+ out1[21] = x56;
+ out1[22] = x58;
+ out1[23] = x60;
+ out1[24] = x63;
+ out1[25] = x65;
+ out1[26] = x67;
+ out1[27] = x66;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p224_from_bytes(uint32_t out1[7], const uint8_t arg1[28]) {
+ uint32_t x1 = ((uint32_t)(arg1[27]) << 24);
+ uint32_t x2 = ((uint32_t)(arg1[26]) << 16);
+ uint32_t x3 = ((uint32_t)(arg1[25]) << 8);
+ uint8_t x4 = (arg1[24]);
+ uint32_t x5 = ((uint32_t)(arg1[23]) << 24);
+ uint32_t x6 = ((uint32_t)(arg1[22]) << 16);
+ uint32_t x7 = ((uint32_t)(arg1[21]) << 8);
+ uint8_t x8 = (arg1[20]);
+ uint32_t x9 = ((uint32_t)(arg1[19]) << 24);
+ uint32_t x10 = ((uint32_t)(arg1[18]) << 16);
+ uint32_t x11 = ((uint32_t)(arg1[17]) << 8);
+ uint8_t x12 = (arg1[16]);
+ uint32_t x13 = ((uint32_t)(arg1[15]) << 24);
+ uint32_t x14 = ((uint32_t)(arg1[14]) << 16);
+ uint32_t x15 = ((uint32_t)(arg1[13]) << 8);
+ uint8_t x16 = (arg1[12]);
+ uint32_t x17 = ((uint32_t)(arg1[11]) << 24);
+ uint32_t x18 = ((uint32_t)(arg1[10]) << 16);
+ uint32_t x19 = ((uint32_t)(arg1[9]) << 8);
+ uint8_t x20 = (arg1[8]);
+ uint32_t x21 = ((uint32_t)(arg1[7]) << 24);
+ uint32_t x22 = ((uint32_t)(arg1[6]) << 16);
+ uint32_t x23 = ((uint32_t)(arg1[5]) << 8);
+ uint8_t x24 = (arg1[4]);
+ uint32_t x25 = ((uint32_t)(arg1[3]) << 24);
+ uint32_t x26 = ((uint32_t)(arg1[2]) << 16);
+ uint32_t x27 = ((uint32_t)(arg1[1]) << 8);
+ uint8_t x28 = (arg1[0]);
+ uint32_t x29 = (x28 + (x27 + (x26 + x25)));
+ fiat_p224_uint1 x30 = (fiat_p224_uint1)((uint64_t)x29 >> 32);
+ uint32_t x31 = (x29 & UINT32_C(0xffffffff));
+ uint32_t x32 = (x4 + (x3 + (x2 + x1)));
+ uint32_t x33 = (x8 + (x7 + (x6 + x5)));
+ uint32_t x34 = (x12 + (x11 + (x10 + x9)));
+ uint32_t x35 = (x16 + (x15 + (x14 + x13)));
+ uint32_t x36 = (x20 + (x19 + (x18 + x17)));
+ uint32_t x37 = (x24 + (x23 + (x22 + x21)));
+ uint32_t x38 = (x30 + x37);
+ fiat_p224_uint1 x39 = (fiat_p224_uint1)((uint64_t)x38 >> 32);
+ uint32_t x40 = (x38 & UINT32_C(0xffffffff));
+ uint32_t x41 = (x39 + x36);
+ fiat_p224_uint1 x42 = (fiat_p224_uint1)((uint64_t)x41 >> 32);
+ uint32_t x43 = (x41 & UINT32_C(0xffffffff));
+ uint32_t x44 = (x42 + x35);
+ fiat_p224_uint1 x45 = (fiat_p224_uint1)((uint64_t)x44 >> 32);
+ uint32_t x46 = (x44 & UINT32_C(0xffffffff));
+ uint32_t x47 = (x45 + x34);
+ fiat_p224_uint1 x48 = (fiat_p224_uint1)((uint64_t)x47 >> 32);
+ uint32_t x49 = (x47 & UINT32_C(0xffffffff));
+ uint32_t x50 = (x48 + x33);
+ fiat_p224_uint1 x51 = (fiat_p224_uint1)((uint64_t)x50 >> 32);
+ uint32_t x52 = (x50 & UINT32_C(0xffffffff));
+ uint32_t x53 = (x51 + x32);
+ out1[0] = x31;
+ out1[1] = x40;
+ out1[2] = x43;
+ out1[3] = x46;
+ out1[4] = x49;
+ out1[5] = x52;
+ out1[6] = x53;
+}
+
diff --git a/p224_64.c b/p224_64.c
new file mode 100644
index 000000000..6ef3781bb
--- /dev/null
+++ b/p224_64.c
@@ -0,0 +1,1329 @@
+/* Autogenerated */
+/* curve description: p224 */
+/* requested operations: (all) */
+/* s = 0x100000000000000000000000000000000000000000000000000000000 (from "2^224") */
+/* c = [(79228162514264337593543950336, 1), (1, -1)] (from "2^96,1;1,-1") */
+/* machine_wordsize = 64 (from "64") */
+/* */
+/* NOTE: In addition to the bounds specified above each function, all */
+/* functions synthesized for this Montgomery arithmetic require the */
+/* input to be strictly less than the prime modulus (s-c), and also */
+/* require the input to be in the unique saturated representation. */
+/* All functions also ensure that these two properties are true of */
+/* return values. */
+
+#include <stdint.h>
+typedef unsigned char fiat_p224_uint1;
+typedef signed char fiat_p224_int1;
+typedef signed __int128 fiat_p224_int128;
+typedef unsigned __int128 fiat_p224_uint128;
+
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffffffffffff]
+ * arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p224_addcarryx_u64(uint64_t* out1, fiat_p224_uint1* out2, fiat_p224_uint1 arg1, uint64_t arg2, uint64_t arg3) {
+ fiat_p224_uint128 x1 = ((arg1 + (fiat_p224_uint128)arg2) + arg3);
+ uint64_t x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+ fiat_p224_uint1 x3 = (fiat_p224_uint1)(x1 >> 64);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffffffffffff]
+ * arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p224_subborrowx_u64(uint64_t* out1, fiat_p224_uint1* out2, fiat_p224_uint1 arg1, uint64_t arg2, uint64_t arg3) {
+ fiat_p224_int128 x1 = ((arg2 - (fiat_p224_int128)arg1) - arg3);
+ fiat_p224_int1 x2 = (fiat_p224_int1)((fiat_p224_uint128)x1 >> 64);
+ uint64_t x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+ *out1 = x3;
+ *out2 = (fiat_p224_uint1)(0x0 - x2);
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0xffffffffffffffff]
+ * arg2: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ * out2: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_p224_mulx_u64(uint64_t* out1, uint64_t* out2, uint64_t arg1, uint64_t arg2) {
+ fiat_p224_uint128 x1 = ((fiat_p224_uint128)arg1 * arg2);
+ uint64_t x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+ uint64_t x3 = (uint64_t)(x1 >> 64);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffffffffffff]
+ * arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_p224_cmovznz_u64(uint64_t* out1, fiat_p224_uint1 arg1, uint64_t arg2, uint64_t arg3) {
+ fiat_p224_uint1 x1 = (!(!arg1));
+ uint64_t x2 = ((fiat_p224_int1)(0x0 - x1) & UINT64_C(0xffffffffffffffff));
+ uint64_t x3 = ((x2 & arg3) | (uint64_t)((fiat_p224_uint128)(~x2) & arg2));
+ *out1 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p224_mul(uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
+ uint64_t x1 = (arg1[1]);
+ uint64_t x2 = (arg1[2]);
+ uint64_t x3 = (arg1[3]);
+ uint64_t x4 = (arg1[0]);
+ uint64_t x5;
+ uint64_t x6;
+ fiat_p224_mulx_u64(&x5, &x6, x4, (arg2[3]));
+ uint64_t x7;
+ uint64_t x8;
+ fiat_p224_mulx_u64(&x7, &x8, x4, (arg2[2]));
+ uint64_t x9;
+ uint64_t x10;
+ fiat_p224_mulx_u64(&x9, &x10, x4, (arg2[1]));
+ uint64_t x11;
+ uint64_t x12;
+ fiat_p224_mulx_u64(&x11, &x12, x4, (arg2[0]));
+ uint64_t x13;
+ fiat_p224_uint1 x14;
+ fiat_p224_addcarryx_u64(&x13, &x14, 0x0, x9, x12);
+ uint64_t x15;
+ fiat_p224_uint1 x16;
+ fiat_p224_addcarryx_u64(&x15, &x16, x14, x7, x10);
+ uint64_t x17;
+ fiat_p224_uint1 x18;
+ fiat_p224_addcarryx_u64(&x17, &x18, x16, x5, x8);
+ uint64_t x19;
+ fiat_p224_uint1 x20;
+ fiat_p224_addcarryx_u64(&x19, &x20, x18, 0x0, x6);
+ uint64_t x21;
+ uint64_t x22;
+ fiat_p224_mulx_u64(&x21, &x22, x11, UINT64_C(0xffffffffffffffff));
+ uint64_t x23;
+ uint64_t x24;
+ fiat_p224_mulx_u64(&x23, &x24, x21, UINT32_C(0xffffffff));
+ uint64_t x25;
+ uint64_t x26;
+ fiat_p224_mulx_u64(&x25, &x26, x21, UINT64_C(0xffffffffffffffff));
+ uint64_t x27;
+ uint64_t x28;
+ fiat_p224_mulx_u64(&x27, &x28, x21, UINT64_C(0xffffffff00000000));
+ uint64_t x29;
+ fiat_p224_uint1 x30;
+ fiat_p224_addcarryx_u64(&x29, &x30, 0x0, x25, x28);
+ uint64_t x31;
+ fiat_p224_uint1 x32;
+ fiat_p224_addcarryx_u64(&x31, &x32, x30, x23, x26);
+ uint64_t x33;
+ fiat_p224_uint1 x34;
+ fiat_p224_addcarryx_u64(&x33, &x34, x32, 0x0, x24);
+ uint64_t x35;
+ fiat_p224_uint1 x36;
+ fiat_p224_addcarryx_u64(&x35, &x36, 0x0, x21, x11);
+ uint64_t x37;
+ fiat_p224_uint1 x38;
+ fiat_p224_addcarryx_u64(&x37, &x38, x36, x27, x13);
+ uint64_t x39;
+ fiat_p224_uint1 x40;
+ fiat_p224_addcarryx_u64(&x39, &x40, x38, x29, x15);
+ uint64_t x41;
+ fiat_p224_uint1 x42;
+ fiat_p224_addcarryx_u64(&x41, &x42, x40, x31, x17);
+ uint64_t x43;
+ fiat_p224_uint1 x44;
+ fiat_p224_addcarryx_u64(&x43, &x44, x42, x33, x19);
+ uint64_t x45;
+ fiat_p224_uint1 x46;
+ fiat_p224_addcarryx_u64(&x45, &x46, x44, 0x0, 0x0);
+ uint64_t x47;
+ uint64_t x48;
+ fiat_p224_mulx_u64(&x47, &x48, x1, (arg2[3]));
+ uint64_t x49;
+ uint64_t x50;
+ fiat_p224_mulx_u64(&x49, &x50, x1, (arg2[2]));
+ uint64_t x51;
+ uint64_t x52;
+ fiat_p224_mulx_u64(&x51, &x52, x1, (arg2[1]));
+ uint64_t x53;
+ uint64_t x54;
+ fiat_p224_mulx_u64(&x53, &x54, x1, (arg2[0]));
+ uint64_t x55;
+ fiat_p224_uint1 x56;
+ fiat_p224_addcarryx_u64(&x55, &x56, 0x0, x51, x54);
+ uint64_t x57;
+ fiat_p224_uint1 x58;
+ fiat_p224_addcarryx_u64(&x57, &x58, x56, x49, x52);
+ uint64_t x59;
+ fiat_p224_uint1 x60;
+ fiat_p224_addcarryx_u64(&x59, &x60, x58, x47, x50);
+ uint64_t x61;
+ fiat_p224_uint1 x62;
+ fiat_p224_addcarryx_u64(&x61, &x62, x60, 0x0, x48);
+ uint64_t x63;
+ fiat_p224_uint1 x64;
+ fiat_p224_addcarryx_u64(&x63, &x64, 0x0, x53, x37);
+ uint64_t x65;
+ fiat_p224_uint1 x66;
+ fiat_p224_addcarryx_u64(&x65, &x66, x64, x55, x39);
+ uint64_t x67;
+ fiat_p224_uint1 x68;
+ fiat_p224_addcarryx_u64(&x67, &x68, x66, x57, x41);
+ uint64_t x69;
+ fiat_p224_uint1 x70;
+ fiat_p224_addcarryx_u64(&x69, &x70, x68, x59, x43);
+ uint64_t x71;
+ fiat_p224_uint1 x72;
+ fiat_p224_addcarryx_u64(&x71, &x72, x70, x61, (fiat_p224_uint1)x45);
+ uint64_t x73;
+ uint64_t x74;
+ fiat_p224_mulx_u64(&x73, &x74, x63, UINT64_C(0xffffffffffffffff));
+ uint64_t x75;
+ uint64_t x76;
+ fiat_p224_mulx_u64(&x75, &x76, x73, UINT32_C(0xffffffff));
+ uint64_t x77;
+ uint64_t x78;
+ fiat_p224_mulx_u64(&x77, &x78, x73, UINT64_C(0xffffffffffffffff));
+ uint64_t x79;
+ uint64_t x80;
+ fiat_p224_mulx_u64(&x79, &x80, x73, UINT64_C(0xffffffff00000000));
+ uint64_t x81;
+ fiat_p224_uint1 x82;
+ fiat_p224_addcarryx_u64(&x81, &x82, 0x0, x77, x80);
+ uint64_t x83;
+ fiat_p224_uint1 x84;
+ fiat_p224_addcarryx_u64(&x83, &x84, x82, x75, x78);
+ uint64_t x85;
+ fiat_p224_uint1 x86;
+ fiat_p224_addcarryx_u64(&x85, &x86, x84, 0x0, x76);
+ uint64_t x87;
+ fiat_p224_uint1 x88;
+ fiat_p224_addcarryx_u64(&x87, &x88, 0x0, x73, x63);
+ uint64_t x89;
+ fiat_p224_uint1 x90;
+ fiat_p224_addcarryx_u64(&x89, &x90, x88, x79, x65);
+ uint64_t x91;
+ fiat_p224_uint1 x92;
+ fiat_p224_addcarryx_u64(&x91, &x92, x90, x81, x67);
+ uint64_t x93;
+ fiat_p224_uint1 x94;
+ fiat_p224_addcarryx_u64(&x93, &x94, x92, x83, x69);
+ uint64_t x95;
+ fiat_p224_uint1 x96;
+ fiat_p224_addcarryx_u64(&x95, &x96, x94, x85, x71);
+ uint64_t x97;
+ fiat_p224_uint1 x98;
+ fiat_p224_addcarryx_u64(&x97, &x98, x96, 0x0, x72);
+ uint64_t x99;
+ uint64_t x100;
+ fiat_p224_mulx_u64(&x99, &x100, x2, (arg2[3]));
+ uint64_t x101;
+ uint64_t x102;
+ fiat_p224_mulx_u64(&x101, &x102, x2, (arg2[2]));
+ uint64_t x103;
+ uint64_t x104;
+ fiat_p224_mulx_u64(&x103, &x104, x2, (arg2[1]));
+ uint64_t x105;
+ uint64_t x106;
+ fiat_p224_mulx_u64(&x105, &x106, x2, (arg2[0]));
+ uint64_t x107;
+ fiat_p224_uint1 x108;
+ fiat_p224_addcarryx_u64(&x107, &x108, 0x0, x103, x106);
+ uint64_t x109;
+ fiat_p224_uint1 x110;
+ fiat_p224_addcarryx_u64(&x109, &x110, x108, x101, x104);
+ uint64_t x111;
+ fiat_p224_uint1 x112;
+ fiat_p224_addcarryx_u64(&x111, &x112, x110, x99, x102);
+ uint64_t x113;
+ fiat_p224_uint1 x114;
+ fiat_p224_addcarryx_u64(&x113, &x114, x112, 0x0, x100);
+ uint64_t x115;
+ fiat_p224_uint1 x116;
+ fiat_p224_addcarryx_u64(&x115, &x116, 0x0, x105, x89);
+ uint64_t x117;
+ fiat_p224_uint1 x118;
+ fiat_p224_addcarryx_u64(&x117, &x118, x116, x107, x91);
+ uint64_t x119;
+ fiat_p224_uint1 x120;
+ fiat_p224_addcarryx_u64(&x119, &x120, x118, x109, x93);
+ uint64_t x121;
+ fiat_p224_uint1 x122;
+ fiat_p224_addcarryx_u64(&x121, &x122, x120, x111, x95);
+ uint64_t x123;
+ fiat_p224_uint1 x124;
+ fiat_p224_addcarryx_u64(&x123, &x124, x122, x113, x97);
+ uint64_t x125;
+ uint64_t x126;
+ fiat_p224_mulx_u64(&x125, &x126, x115, UINT64_C(0xffffffffffffffff));
+ uint64_t x127;
+ uint64_t x128;
+ fiat_p224_mulx_u64(&x127, &x128, x125, UINT32_C(0xffffffff));
+ uint64_t x129;
+ uint64_t x130;
+ fiat_p224_mulx_u64(&x129, &x130, x125, UINT64_C(0xffffffffffffffff));
+ uint64_t x131;
+ uint64_t x132;
+ fiat_p224_mulx_u64(&x131, &x132, x125, UINT64_C(0xffffffff00000000));
+ uint64_t x133;
+ fiat_p224_uint1 x134;
+ fiat_p224_addcarryx_u64(&x133, &x134, 0x0, x129, x132);
+ uint64_t x135;
+ fiat_p224_uint1 x136;
+ fiat_p224_addcarryx_u64(&x135, &x136, x134, x127, x130);
+ uint64_t x137;
+ fiat_p224_uint1 x138;
+ fiat_p224_addcarryx_u64(&x137, &x138, x136, 0x0, x128);
+ uint64_t x139;
+ fiat_p224_uint1 x140;
+ fiat_p224_addcarryx_u64(&x139, &x140, 0x0, x125, x115);
+ uint64_t x141;
+ fiat_p224_uint1 x142;
+ fiat_p224_addcarryx_u64(&x141, &x142, x140, x131, x117);
+ uint64_t x143;
+ fiat_p224_uint1 x144;
+ fiat_p224_addcarryx_u64(&x143, &x144, x142, x133, x119);
+ uint64_t x145;
+ fiat_p224_uint1 x146;
+ fiat_p224_addcarryx_u64(&x145, &x146, x144, x135, x121);
+ uint64_t x147;
+ fiat_p224_uint1 x148;
+ fiat_p224_addcarryx_u64(&x147, &x148, x146, x137, x123);
+ uint64_t x149;
+ fiat_p224_uint1 x150;
+ fiat_p224_addcarryx_u64(&x149, &x150, x148, 0x0, x124);
+ uint64_t x151;
+ uint64_t x152;
+ fiat_p224_mulx_u64(&x151, &x152, x3, (arg2[3]));
+ uint64_t x153;
+ uint64_t x154;
+ fiat_p224_mulx_u64(&x153, &x154, x3, (arg2[2]));
+ uint64_t x155;
+ uint64_t x156;
+ fiat_p224_mulx_u64(&x155, &x156, x3, (arg2[1]));
+ uint64_t x157;
+ uint64_t x158;
+ fiat_p224_mulx_u64(&x157, &x158, x3, (arg2[0]));
+ uint64_t x159;
+ fiat_p224_uint1 x160;
+ fiat_p224_addcarryx_u64(&x159, &x160, 0x0, x155, x158);
+ uint64_t x161;
+ fiat_p224_uint1 x162;
+ fiat_p224_addcarryx_u64(&x161, &x162, x160, x153, x156);
+ uint64_t x163;
+ fiat_p224_uint1 x164;
+ fiat_p224_addcarryx_u64(&x163, &x164, x162, x151, x154);
+ uint64_t x165;
+ fiat_p224_uint1 x166;
+ fiat_p224_addcarryx_u64(&x165, &x166, x164, 0x0, x152);
+ uint64_t x167;
+ fiat_p224_uint1 x168;
+ fiat_p224_addcarryx_u64(&x167, &x168, 0x0, x157, x141);
+ uint64_t x169;
+ fiat_p224_uint1 x170;
+ fiat_p224_addcarryx_u64(&x169, &x170, x168, x159, x143);
+ uint64_t x171;
+ fiat_p224_uint1 x172;
+ fiat_p224_addcarryx_u64(&x171, &x172, x170, x161, x145);
+ uint64_t x173;
+ fiat_p224_uint1 x174;
+ fiat_p224_addcarryx_u64(&x173, &x174, x172, x163, x147);
+ uint64_t x175;
+ fiat_p224_uint1 x176;
+ fiat_p224_addcarryx_u64(&x175, &x176, x174, x165, x149);
+ uint64_t x177;
+ uint64_t x178;
+ fiat_p224_mulx_u64(&x177, &x178, x167, UINT64_C(0xffffffffffffffff));
+ uint64_t x179;
+ uint64_t x180;
+ fiat_p224_mulx_u64(&x179, &x180, x177, UINT32_C(0xffffffff));
+ uint64_t x181;
+ uint64_t x182;
+ fiat_p224_mulx_u64(&x181, &x182, x177, UINT64_C(0xffffffffffffffff));
+ uint64_t x183;
+ uint64_t x184;
+ fiat_p224_mulx_u64(&x183, &x184, x177, UINT64_C(0xffffffff00000000));
+ uint64_t x185;
+ fiat_p224_uint1 x186;
+ fiat_p224_addcarryx_u64(&x185, &x186, 0x0, x181, x184);
+ uint64_t x187;
+ fiat_p224_uint1 x188;
+ fiat_p224_addcarryx_u64(&x187, &x188, x186, x179, x182);
+ uint64_t x189;
+ fiat_p224_uint1 x190;
+ fiat_p224_addcarryx_u64(&x189, &x190, x188, 0x0, x180);
+ uint64_t x191;
+ fiat_p224_uint1 x192;
+ fiat_p224_addcarryx_u64(&x191, &x192, 0x0, x177, x167);
+ uint64_t x193;
+ fiat_p224_uint1 x194;
+ fiat_p224_addcarryx_u64(&x193, &x194, x192, x183, x169);
+ uint64_t x195;
+ fiat_p224_uint1 x196;
+ fiat_p224_addcarryx_u64(&x195, &x196, x194, x185, x171);
+ uint64_t x197;
+ fiat_p224_uint1 x198;
+ fiat_p224_addcarryx_u64(&x197, &x198, x196, x187, x173);
+ uint64_t x199;
+ fiat_p224_uint1 x200;
+ fiat_p224_addcarryx_u64(&x199, &x200, x198, x189, x175);
+ uint64_t x201;
+ fiat_p224_uint1 x202;
+ fiat_p224_addcarryx_u64(&x201, &x202, x200, 0x0, x176);
+ uint64_t x203;
+ fiat_p224_uint1 x204;
+ fiat_p224_subborrowx_u64(&x203, &x204, 0x0, x193, 0x1);
+ uint64_t x205;
+ fiat_p224_uint1 x206;
+ fiat_p224_subborrowx_u64(&x205, &x206, x204, x195, UINT64_C(0xffffffff00000000));
+ uint64_t x207;
+ fiat_p224_uint1 x208;
+ fiat_p224_subborrowx_u64(&x207, &x208, x206, x197, UINT64_C(0xffffffffffffffff));
+ uint64_t x209;
+ fiat_p224_uint1 x210;
+ fiat_p224_subborrowx_u64(&x209, &x210, x208, x199, UINT32_C(0xffffffff));
+ uint64_t x211;
+ fiat_p224_uint1 x212;
+ fiat_p224_subborrowx_u64(&x211, &x212, x210, x201, 0x0);
+ uint64_t x213;
+ fiat_p224_cmovznz_u64(&x213, x212, x203, x193);
+ uint64_t x214;
+ fiat_p224_cmovznz_u64(&x214, x212, x205, x195);
+ uint64_t x215;
+ fiat_p224_cmovznz_u64(&x215, x212, x207, x197);
+ uint64_t x216;
+ fiat_p224_cmovznz_u64(&x216, x212, x209, x199);
+ out1[0] = x213;
+ out1[1] = x214;
+ out1[2] = x215;
+ out1[3] = x216;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p224_square(uint64_t out1[4], const uint64_t arg1[4]) {
+ uint64_t x1 = (arg1[1]);
+ uint64_t x2 = (arg1[2]);
+ uint64_t x3 = (arg1[3]);
+ uint64_t x4 = (arg1[0]);
+ uint64_t x5;
+ uint64_t x6;
+ fiat_p224_mulx_u64(&x5, &x6, x4, (arg1[3]));
+ uint64_t x7;
+ uint64_t x8;
+ fiat_p224_mulx_u64(&x7, &x8, x4, (arg1[2]));
+ uint64_t x9;
+ uint64_t x10;
+ fiat_p224_mulx_u64(&x9, &x10, x4, (arg1[1]));
+ uint64_t x11;
+ uint64_t x12;
+ fiat_p224_mulx_u64(&x11, &x12, x4, (arg1[0]));
+ uint64_t x13;
+ fiat_p224_uint1 x14;
+ fiat_p224_addcarryx_u64(&x13, &x14, 0x0, x9, x12);
+ uint64_t x15;
+ fiat_p224_uint1 x16;
+ fiat_p224_addcarryx_u64(&x15, &x16, x14, x7, x10);
+ uint64_t x17;
+ fiat_p224_uint1 x18;
+ fiat_p224_addcarryx_u64(&x17, &x18, x16, x5, x8);
+ uint64_t x19;
+ fiat_p224_uint1 x20;
+ fiat_p224_addcarryx_u64(&x19, &x20, x18, 0x0, x6);
+ uint64_t x21;
+ uint64_t x22;
+ fiat_p224_mulx_u64(&x21, &x22, x11, UINT64_C(0xffffffffffffffff));
+ uint64_t x23;
+ uint64_t x24;
+ fiat_p224_mulx_u64(&x23, &x24, x21, UINT32_C(0xffffffff));
+ uint64_t x25;
+ uint64_t x26;
+ fiat_p224_mulx_u64(&x25, &x26, x21, UINT64_C(0xffffffffffffffff));
+ uint64_t x27;
+ uint64_t x28;
+ fiat_p224_mulx_u64(&x27, &x28, x21, UINT64_C(0xffffffff00000000));
+ uint64_t x29;
+ fiat_p224_uint1 x30;
+ fiat_p224_addcarryx_u64(&x29, &x30, 0x0, x25, x28);
+ uint64_t x31;
+ fiat_p224_uint1 x32;
+ fiat_p224_addcarryx_u64(&x31, &x32, x30, x23, x26);
+ uint64_t x33;
+ fiat_p224_uint1 x34;
+ fiat_p224_addcarryx_u64(&x33, &x34, x32, 0x0, x24);
+ uint64_t x35;
+ fiat_p224_uint1 x36;
+ fiat_p224_addcarryx_u64(&x35, &x36, 0x0, x21, x11);
+ uint64_t x37;
+ fiat_p224_uint1 x38;
+ fiat_p224_addcarryx_u64(&x37, &x38, x36, x27, x13);
+ uint64_t x39;
+ fiat_p224_uint1 x40;
+ fiat_p224_addcarryx_u64(&x39, &x40, x38, x29, x15);
+ uint64_t x41;
+ fiat_p224_uint1 x42;
+ fiat_p224_addcarryx_u64(&x41, &x42, x40, x31, x17);
+ uint64_t x43;
+ fiat_p224_uint1 x44;
+ fiat_p224_addcarryx_u64(&x43, &x44, x42, x33, x19);
+ uint64_t x45;
+ fiat_p224_uint1 x46;
+ fiat_p224_addcarryx_u64(&x45, &x46, x44, 0x0, 0x0);
+ uint64_t x47;
+ uint64_t x48;
+ fiat_p224_mulx_u64(&x47, &x48, x1, (arg1[3]));
+ uint64_t x49;
+ uint64_t x50;
+ fiat_p224_mulx_u64(&x49, &x50, x1, (arg1[2]));
+ uint64_t x51;
+ uint64_t x52;
+ fiat_p224_mulx_u64(&x51, &x52, x1, (arg1[1]));
+ uint64_t x53;
+ uint64_t x54;
+ fiat_p224_mulx_u64(&x53, &x54, x1, (arg1[0]));
+ uint64_t x55;
+ fiat_p224_uint1 x56;
+ fiat_p224_addcarryx_u64(&x55, &x56, 0x0, x51, x54);
+ uint64_t x57;
+ fiat_p224_uint1 x58;
+ fiat_p224_addcarryx_u64(&x57, &x58, x56, x49, x52);
+ uint64_t x59;
+ fiat_p224_uint1 x60;
+ fiat_p224_addcarryx_u64(&x59, &x60, x58, x47, x50);
+ uint64_t x61;
+ fiat_p224_uint1 x62;
+ fiat_p224_addcarryx_u64(&x61, &x62, x60, 0x0, x48);
+ uint64_t x63;
+ fiat_p224_uint1 x64;
+ fiat_p224_addcarryx_u64(&x63, &x64, 0x0, x53, x37);
+ uint64_t x65;
+ fiat_p224_uint1 x66;
+ fiat_p224_addcarryx_u64(&x65, &x66, x64, x55, x39);
+ uint64_t x67;
+ fiat_p224_uint1 x68;
+ fiat_p224_addcarryx_u64(&x67, &x68, x66, x57, x41);
+ uint64_t x69;
+ fiat_p224_uint1 x70;
+ fiat_p224_addcarryx_u64(&x69, &x70, x68, x59, x43);
+ uint64_t x71;
+ fiat_p224_uint1 x72;
+ fiat_p224_addcarryx_u64(&x71, &x72, x70, x61, (fiat_p224_uint1)x45);
+ uint64_t x73;
+ uint64_t x74;
+ fiat_p224_mulx_u64(&x73, &x74, x63, UINT64_C(0xffffffffffffffff));
+ uint64_t x75;
+ uint64_t x76;
+ fiat_p224_mulx_u64(&x75, &x76, x73, UINT32_C(0xffffffff));
+ uint64_t x77;
+ uint64_t x78;
+ fiat_p224_mulx_u64(&x77, &x78, x73, UINT64_C(0xffffffffffffffff));
+ uint64_t x79;
+ uint64_t x80;
+ fiat_p224_mulx_u64(&x79, &x80, x73, UINT64_C(0xffffffff00000000));
+ uint64_t x81;
+ fiat_p224_uint1 x82;
+ fiat_p224_addcarryx_u64(&x81, &x82, 0x0, x77, x80);
+ uint64_t x83;
+ fiat_p224_uint1 x84;
+ fiat_p224_addcarryx_u64(&x83, &x84, x82, x75, x78);
+ uint64_t x85;
+ fiat_p224_uint1 x86;
+ fiat_p224_addcarryx_u64(&x85, &x86, x84, 0x0, x76);
+ uint64_t x87;
+ fiat_p224_uint1 x88;
+ fiat_p224_addcarryx_u64(&x87, &x88, 0x0, x73, x63);
+ uint64_t x89;
+ fiat_p224_uint1 x90;
+ fiat_p224_addcarryx_u64(&x89, &x90, x88, x79, x65);
+ uint64_t x91;
+ fiat_p224_uint1 x92;
+ fiat_p224_addcarryx_u64(&x91, &x92, x90, x81, x67);
+ uint64_t x93;
+ fiat_p224_uint1 x94;
+ fiat_p224_addcarryx_u64(&x93, &x94, x92, x83, x69);
+ uint64_t x95;
+ fiat_p224_uint1 x96;
+ fiat_p224_addcarryx_u64(&x95, &x96, x94, x85, x71);
+ uint64_t x97;
+ fiat_p224_uint1 x98;
+ fiat_p224_addcarryx_u64(&x97, &x98, x96, 0x0, x72);
+ uint64_t x99;
+ uint64_t x100;
+ fiat_p224_mulx_u64(&x99, &x100, x2, (arg1[3]));
+ uint64_t x101;
+ uint64_t x102;
+ fiat_p224_mulx_u64(&x101, &x102, x2, (arg1[2]));
+ uint64_t x103;
+ uint64_t x104;
+ fiat_p224_mulx_u64(&x103, &x104, x2, (arg1[1]));
+ uint64_t x105;
+ uint64_t x106;
+ fiat_p224_mulx_u64(&x105, &x106, x2, (arg1[0]));
+ uint64_t x107;
+ fiat_p224_uint1 x108;
+ fiat_p224_addcarryx_u64(&x107, &x108, 0x0, x103, x106);
+ uint64_t x109;
+ fiat_p224_uint1 x110;
+ fiat_p224_addcarryx_u64(&x109, &x110, x108, x101, x104);
+ uint64_t x111;
+ fiat_p224_uint1 x112;
+ fiat_p224_addcarryx_u64(&x111, &x112, x110, x99, x102);
+ uint64_t x113;
+ fiat_p224_uint1 x114;
+ fiat_p224_addcarryx_u64(&x113, &x114, x112, 0x0, x100);
+ uint64_t x115;
+ fiat_p224_uint1 x116;
+ fiat_p224_addcarryx_u64(&x115, &x116, 0x0, x105, x89);
+ uint64_t x117;
+ fiat_p224_uint1 x118;
+ fiat_p224_addcarryx_u64(&x117, &x118, x116, x107, x91);
+ uint64_t x119;
+ fiat_p224_uint1 x120;
+ fiat_p224_addcarryx_u64(&x119, &x120, x118, x109, x93);
+ uint64_t x121;
+ fiat_p224_uint1 x122;
+ fiat_p224_addcarryx_u64(&x121, &x122, x120, x111, x95);
+ uint64_t x123;
+ fiat_p224_uint1 x124;
+ fiat_p224_addcarryx_u64(&x123, &x124, x122, x113, x97);
+ uint64_t x125;
+ uint64_t x126;
+ fiat_p224_mulx_u64(&x125, &x126, x115, UINT64_C(0xffffffffffffffff));
+ uint64_t x127;
+ uint64_t x128;
+ fiat_p224_mulx_u64(&x127, &x128, x125, UINT32_C(0xffffffff));
+ uint64_t x129;
+ uint64_t x130;
+ fiat_p224_mulx_u64(&x129, &x130, x125, UINT64_C(0xffffffffffffffff));
+ uint64_t x131;
+ uint64_t x132;
+ fiat_p224_mulx_u64(&x131, &x132, x125, UINT64_C(0xffffffff00000000));
+ uint64_t x133;
+ fiat_p224_uint1 x134;
+ fiat_p224_addcarryx_u64(&x133, &x134, 0x0, x129, x132);
+ uint64_t x135;
+ fiat_p224_uint1 x136;
+ fiat_p224_addcarryx_u64(&x135, &x136, x134, x127, x130);
+ uint64_t x137;
+ fiat_p224_uint1 x138;
+ fiat_p224_addcarryx_u64(&x137, &x138, x136, 0x0, x128);
+ uint64_t x139;
+ fiat_p224_uint1 x140;
+ fiat_p224_addcarryx_u64(&x139, &x140, 0x0, x125, x115);
+ uint64_t x141;
+ fiat_p224_uint1 x142;
+ fiat_p224_addcarryx_u64(&x141, &x142, x140, x131, x117);
+ uint64_t x143;
+ fiat_p224_uint1 x144;
+ fiat_p224_addcarryx_u64(&x143, &x144, x142, x133, x119);
+ uint64_t x145;
+ fiat_p224_uint1 x146;
+ fiat_p224_addcarryx_u64(&x145, &x146, x144, x135, x121);
+ uint64_t x147;
+ fiat_p224_uint1 x148;
+ fiat_p224_addcarryx_u64(&x147, &x148, x146, x137, x123);
+ uint64_t x149;
+ fiat_p224_uint1 x150;
+ fiat_p224_addcarryx_u64(&x149, &x150, x148, 0x0, x124);
+ uint64_t x151;
+ uint64_t x152;
+ fiat_p224_mulx_u64(&x151, &x152, x3, (arg1[3]));
+ uint64_t x153;
+ uint64_t x154;
+ fiat_p224_mulx_u64(&x153, &x154, x3, (arg1[2]));
+ uint64_t x155;
+ uint64_t x156;
+ fiat_p224_mulx_u64(&x155, &x156, x3, (arg1[1]));
+ uint64_t x157;
+ uint64_t x158;
+ fiat_p224_mulx_u64(&x157, &x158, x3, (arg1[0]));
+ uint64_t x159;
+ fiat_p224_uint1 x160;
+ fiat_p224_addcarryx_u64(&x159, &x160, 0x0, x155, x158);
+ uint64_t x161;
+ fiat_p224_uint1 x162;
+ fiat_p224_addcarryx_u64(&x161, &x162, x160, x153, x156);
+ uint64_t x163;
+ fiat_p224_uint1 x164;
+ fiat_p224_addcarryx_u64(&x163, &x164, x162, x151, x154);
+ uint64_t x165;
+ fiat_p224_uint1 x166;
+ fiat_p224_addcarryx_u64(&x165, &x166, x164, 0x0, x152);
+ uint64_t x167;
+ fiat_p224_uint1 x168;
+ fiat_p224_addcarryx_u64(&x167, &x168, 0x0, x157, x141);
+ uint64_t x169;
+ fiat_p224_uint1 x170;
+ fiat_p224_addcarryx_u64(&x169, &x170, x168, x159, x143);
+ uint64_t x171;
+ fiat_p224_uint1 x172;
+ fiat_p224_addcarryx_u64(&x171, &x172, x170, x161, x145);
+ uint64_t x173;
+ fiat_p224_uint1 x174;
+ fiat_p224_addcarryx_u64(&x173, &x174, x172, x163, x147);
+ uint64_t x175;
+ fiat_p224_uint1 x176;
+ fiat_p224_addcarryx_u64(&x175, &x176, x174, x165, x149);
+ uint64_t x177;
+ uint64_t x178;
+ fiat_p224_mulx_u64(&x177, &x178, x167, UINT64_C(0xffffffffffffffff));
+ uint64_t x179;
+ uint64_t x180;
+ fiat_p224_mulx_u64(&x179, &x180, x177, UINT32_C(0xffffffff));
+ uint64_t x181;
+ uint64_t x182;
+ fiat_p224_mulx_u64(&x181, &x182, x177, UINT64_C(0xffffffffffffffff));
+ uint64_t x183;
+ uint64_t x184;
+ fiat_p224_mulx_u64(&x183, &x184, x177, UINT64_C(0xffffffff00000000));
+ uint64_t x185;
+ fiat_p224_uint1 x186;
+ fiat_p224_addcarryx_u64(&x185, &x186, 0x0, x181, x184);
+ uint64_t x187;
+ fiat_p224_uint1 x188;
+ fiat_p224_addcarryx_u64(&x187, &x188, x186, x179, x182);
+ uint64_t x189;
+ fiat_p224_uint1 x190;
+ fiat_p224_addcarryx_u64(&x189, &x190, x188, 0x0, x180);
+ uint64_t x191;
+ fiat_p224_uint1 x192;
+ fiat_p224_addcarryx_u64(&x191, &x192, 0x0, x177, x167);
+ uint64_t x193;
+ fiat_p224_uint1 x194;
+ fiat_p224_addcarryx_u64(&x193, &x194, x192, x183, x169);
+ uint64_t x195;
+ fiat_p224_uint1 x196;
+ fiat_p224_addcarryx_u64(&x195, &x196, x194, x185, x171);
+ uint64_t x197;
+ fiat_p224_uint1 x198;
+ fiat_p224_addcarryx_u64(&x197, &x198, x196, x187, x173);
+ uint64_t x199;
+ fiat_p224_uint1 x200;
+ fiat_p224_addcarryx_u64(&x199, &x200, x198, x189, x175);
+ uint64_t x201;
+ fiat_p224_uint1 x202;
+ fiat_p224_addcarryx_u64(&x201, &x202, x200, 0x0, x176);
+ uint64_t x203;
+ fiat_p224_uint1 x204;
+ fiat_p224_subborrowx_u64(&x203, &x204, 0x0, x193, 0x1);
+ uint64_t x205;
+ fiat_p224_uint1 x206;
+ fiat_p224_subborrowx_u64(&x205, &x206, x204, x195, UINT64_C(0xffffffff00000000));
+ uint64_t x207;
+ fiat_p224_uint1 x208;
+ fiat_p224_subborrowx_u64(&x207, &x208, x206, x197, UINT64_C(0xffffffffffffffff));
+ uint64_t x209;
+ fiat_p224_uint1 x210;
+ fiat_p224_subborrowx_u64(&x209, &x210, x208, x199, UINT32_C(0xffffffff));
+ uint64_t x211;
+ fiat_p224_uint1 x212;
+ fiat_p224_subborrowx_u64(&x211, &x212, x210, x201, 0x0);
+ uint64_t x213;
+ fiat_p224_cmovznz_u64(&x213, x212, x203, x193);
+ uint64_t x214;
+ fiat_p224_cmovznz_u64(&x214, x212, x205, x195);
+ uint64_t x215;
+ fiat_p224_cmovznz_u64(&x215, x212, x207, x197);
+ uint64_t x216;
+ fiat_p224_cmovznz_u64(&x216, x212, x209, x199);
+ out1[0] = x213;
+ out1[1] = x214;
+ out1[2] = x215;
+ out1[3] = x216;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p224_add(uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
+ uint64_t x1;
+ fiat_p224_uint1 x2;
+ fiat_p224_addcarryx_u64(&x1, &x2, 0x0, (arg2[0]), (arg1[0]));
+ uint64_t x3;
+ fiat_p224_uint1 x4;
+ fiat_p224_addcarryx_u64(&x3, &x4, x2, (arg2[1]), (arg1[1]));
+ uint64_t x5;
+ fiat_p224_uint1 x6;
+ fiat_p224_addcarryx_u64(&x5, &x6, x4, (arg2[2]), (arg1[2]));
+ uint64_t x7;
+ fiat_p224_uint1 x8;
+ fiat_p224_addcarryx_u64(&x7, &x8, x6, (arg2[3]), (arg1[3]));
+ uint64_t x9;
+ fiat_p224_uint1 x10;
+ fiat_p224_subborrowx_u64(&x9, &x10, 0x0, x1, 0x1);
+ uint64_t x11;
+ fiat_p224_uint1 x12;
+ fiat_p224_subborrowx_u64(&x11, &x12, x10, x3, UINT64_C(0xffffffff00000000));
+ uint64_t x13;
+ fiat_p224_uint1 x14;
+ fiat_p224_subborrowx_u64(&x13, &x14, x12, x5, UINT64_C(0xffffffffffffffff));
+ uint64_t x15;
+ fiat_p224_uint1 x16;
+ fiat_p224_subborrowx_u64(&x15, &x16, x14, x7, UINT32_C(0xffffffff));
+ uint64_t x17;
+ fiat_p224_uint1 x18;
+ fiat_p224_subborrowx_u64(&x17, &x18, x16, x8, 0x0);
+ uint64_t x19;
+ fiat_p224_cmovznz_u64(&x19, x18, x9, x1);
+ uint64_t x20;
+ fiat_p224_cmovznz_u64(&x20, x18, x11, x3);
+ uint64_t x21;
+ fiat_p224_cmovznz_u64(&x21, x18, x13, x5);
+ uint64_t x22;
+ fiat_p224_cmovznz_u64(&x22, x18, x15, x7);
+ out1[0] = x19;
+ out1[1] = x20;
+ out1[2] = x21;
+ out1[3] = x22;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p224_sub(uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
+ uint64_t x1;
+ fiat_p224_uint1 x2;
+ fiat_p224_subborrowx_u64(&x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+ uint64_t x3;
+ fiat_p224_uint1 x4;
+ fiat_p224_subborrowx_u64(&x3, &x4, x2, (arg1[1]), (arg2[1]));
+ uint64_t x5;
+ fiat_p224_uint1 x6;
+ fiat_p224_subborrowx_u64(&x5, &x6, x4, (arg1[2]), (arg2[2]));
+ uint64_t x7;
+ fiat_p224_uint1 x8;
+ fiat_p224_subborrowx_u64(&x7, &x8, x6, (arg1[3]), (arg2[3]));
+ uint64_t x9;
+ fiat_p224_cmovznz_u64(&x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
+ uint64_t x10;
+ fiat_p224_uint1 x11;
+ fiat_p224_addcarryx_u64(&x10, &x11, 0x0, (fiat_p224_uint1)(x9 & 0x1), x1);
+ uint64_t x12;
+ fiat_p224_uint1 x13;
+ fiat_p224_addcarryx_u64(&x12, &x13, x11, (x9 & UINT64_C(0xffffffff00000000)), x3);
+ uint64_t x14;
+ fiat_p224_uint1 x15;
+ fiat_p224_addcarryx_u64(&x14, &x15, x13, (x9 & UINT64_C(0xffffffffffffffff)), x5);
+ uint64_t x16;
+ fiat_p224_uint1 x17;
+ fiat_p224_addcarryx_u64(&x16, &x17, x15, (x9 & UINT32_C(0xffffffff)), x7);
+ out1[0] = x10;
+ out1[1] = x12;
+ out1[2] = x14;
+ out1[3] = x16;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p224_opp(uint64_t out1[4], const uint64_t arg1[4]) {
+ uint64_t x1;
+ fiat_p224_uint1 x2;
+ fiat_p224_subborrowx_u64(&x1, &x2, 0x0, 0x0, (arg1[0]));
+ uint64_t x3;
+ fiat_p224_uint1 x4;
+ fiat_p224_subborrowx_u64(&x3, &x4, x2, 0x0, (arg1[1]));
+ uint64_t x5;
+ fiat_p224_uint1 x6;
+ fiat_p224_subborrowx_u64(&x5, &x6, x4, 0x0, (arg1[2]));
+ uint64_t x7;
+ fiat_p224_uint1 x8;
+ fiat_p224_subborrowx_u64(&x7, &x8, x6, 0x0, (arg1[3]));
+ uint64_t x9;
+ fiat_p224_cmovznz_u64(&x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
+ uint64_t x10;
+ fiat_p224_uint1 x11;
+ fiat_p224_addcarryx_u64(&x10, &x11, 0x0, (fiat_p224_uint1)(x9 & 0x1), x1);
+ uint64_t x12;
+ fiat_p224_uint1 x13;
+ fiat_p224_addcarryx_u64(&x12, &x13, x11, (x9 & UINT64_C(0xffffffff00000000)), x3);
+ uint64_t x14;
+ fiat_p224_uint1 x15;
+ fiat_p224_addcarryx_u64(&x14, &x15, x13, (x9 & UINT64_C(0xffffffffffffffff)), x5);
+ uint64_t x16;
+ fiat_p224_uint1 x17;
+ fiat_p224_addcarryx_u64(&x16, &x17, x15, (x9 & UINT32_C(0xffffffff)), x7);
+ out1[0] = x10;
+ out1[1] = x12;
+ out1[2] = x14;
+ out1[3] = x16;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p224_from_montgomery(uint64_t out1[4], const uint64_t arg1[4]) {
+ uint64_t x1 = (arg1[0]);
+ uint64_t x2;
+ uint64_t x3;
+ fiat_p224_mulx_u64(&x2, &x3, x1, UINT64_C(0xffffffffffffffff));
+ uint64_t x4;
+ uint64_t x5;
+ fiat_p224_mulx_u64(&x4, &x5, x2, UINT32_C(0xffffffff));
+ uint64_t x6;
+ uint64_t x7;
+ fiat_p224_mulx_u64(&x6, &x7, x2, UINT64_C(0xffffffffffffffff));
+ uint64_t x8;
+ uint64_t x9;
+ fiat_p224_mulx_u64(&x8, &x9, x2, UINT64_C(0xffffffff00000000));
+ uint64_t x10;
+ fiat_p224_uint1 x11;
+ fiat_p224_addcarryx_u64(&x10, &x11, 0x0, x6, x9);
+ uint64_t x12;
+ fiat_p224_uint1 x13;
+ fiat_p224_addcarryx_u64(&x12, &x13, x11, x4, x7);
+ uint64_t x14;
+ fiat_p224_uint1 x15;
+ fiat_p224_addcarryx_u64(&x14, &x15, 0x0, x2, x1);
+ uint64_t x16;
+ fiat_p224_uint1 x17;
+ fiat_p224_addcarryx_u64(&x16, &x17, x15, x8, 0x0);
+ uint64_t x18;
+ fiat_p224_uint1 x19;
+ fiat_p224_addcarryx_u64(&x18, &x19, x17, x10, 0x0);
+ uint64_t x20;
+ fiat_p224_uint1 x21;
+ fiat_p224_addcarryx_u64(&x20, &x21, x19, x12, 0x0);
+ uint64_t x22;
+ fiat_p224_uint1 x23;
+ fiat_p224_addcarryx_u64(&x22, &x23, x13, 0x0, x5);
+ uint64_t x24;
+ fiat_p224_uint1 x25;
+ fiat_p224_addcarryx_u64(&x24, &x25, x21, x22, 0x0);
+ uint64_t x26;
+ fiat_p224_uint1 x27;
+ fiat_p224_addcarryx_u64(&x26, &x27, 0x0, (arg1[1]), x16);
+ uint64_t x28;
+ fiat_p224_uint1 x29;
+ fiat_p224_addcarryx_u64(&x28, &x29, x27, 0x0, x18);
+ uint64_t x30;
+ fiat_p224_uint1 x31;
+ fiat_p224_addcarryx_u64(&x30, &x31, x29, 0x0, x20);
+ uint64_t x32;
+ fiat_p224_uint1 x33;
+ fiat_p224_addcarryx_u64(&x32, &x33, x31, 0x0, x24);
+ uint64_t x34;
+ fiat_p224_uint1 x35;
+ fiat_p224_addcarryx_u64(&x34, &x35, x25, 0x0, 0x0);
+ uint64_t x36;
+ fiat_p224_uint1 x37;
+ fiat_p224_addcarryx_u64(&x36, &x37, x33, 0x0, (fiat_p224_uint1)x34);
+ uint64_t x38;
+ uint64_t x39;
+ fiat_p224_mulx_u64(&x38, &x39, x26, UINT64_C(0xffffffffffffffff));
+ uint64_t x40;
+ uint64_t x41;
+ fiat_p224_mulx_u64(&x40, &x41, x38, UINT32_C(0xffffffff));
+ uint64_t x42;
+ uint64_t x43;
+ fiat_p224_mulx_u64(&x42, &x43, x38, UINT64_C(0xffffffffffffffff));
+ uint64_t x44;
+ uint64_t x45;
+ fiat_p224_mulx_u64(&x44, &x45, x38, UINT64_C(0xffffffff00000000));
+ uint64_t x46;
+ fiat_p224_uint1 x47;
+ fiat_p224_addcarryx_u64(&x46, &x47, 0x0, x42, x45);
+ uint64_t x48;
+ fiat_p224_uint1 x49;
+ fiat_p224_addcarryx_u64(&x48, &x49, x47, x40, x43);
+ uint64_t x50;
+ fiat_p224_uint1 x51;
+ fiat_p224_addcarryx_u64(&x50, &x51, 0x0, x38, x26);
+ uint64_t x52;
+ fiat_p224_uint1 x53;
+ fiat_p224_addcarryx_u64(&x52, &x53, x51, x44, x28);
+ uint64_t x54;
+ fiat_p224_uint1 x55;
+ fiat_p224_addcarryx_u64(&x54, &x55, x53, x46, x30);
+ uint64_t x56;
+ fiat_p224_uint1 x57;
+ fiat_p224_addcarryx_u64(&x56, &x57, x55, x48, x32);
+ uint64_t x58;
+ fiat_p224_uint1 x59;
+ fiat_p224_addcarryx_u64(&x58, &x59, x49, 0x0, x41);
+ uint64_t x60;
+ fiat_p224_uint1 x61;
+ fiat_p224_addcarryx_u64(&x60, &x61, x57, x58, (fiat_p224_uint1)x36);
+ uint64_t x62;
+ fiat_p224_uint1 x63;
+ fiat_p224_addcarryx_u64(&x62, &x63, 0x0, (arg1[2]), x52);
+ uint64_t x64;
+ fiat_p224_uint1 x65;
+ fiat_p224_addcarryx_u64(&x64, &x65, x63, 0x0, x54);
+ uint64_t x66;
+ fiat_p224_uint1 x67;
+ fiat_p224_addcarryx_u64(&x66, &x67, x65, 0x0, x56);
+ uint64_t x68;
+ fiat_p224_uint1 x69;
+ fiat_p224_addcarryx_u64(&x68, &x69, x67, 0x0, x60);
+ uint64_t x70;
+ fiat_p224_uint1 x71;
+ fiat_p224_addcarryx_u64(&x70, &x71, x61, 0x0, x37);
+ uint64_t x72;
+ fiat_p224_uint1 x73;
+ fiat_p224_addcarryx_u64(&x72, &x73, x69, 0x0, (fiat_p224_uint1)x70);
+ uint64_t x74;
+ uint64_t x75;
+ fiat_p224_mulx_u64(&x74, &x75, x62, UINT64_C(0xffffffffffffffff));
+ uint64_t x76;
+ uint64_t x77;
+ fiat_p224_mulx_u64(&x76, &x77, x74, UINT32_C(0xffffffff));
+ uint64_t x78;
+ uint64_t x79;
+ fiat_p224_mulx_u64(&x78, &x79, x74, UINT64_C(0xffffffffffffffff));
+ uint64_t x80;
+ uint64_t x81;
+ fiat_p224_mulx_u64(&x80, &x81, x74, UINT64_C(0xffffffff00000000));
+ uint64_t x82;
+ fiat_p224_uint1 x83;
+ fiat_p224_addcarryx_u64(&x82, &x83, 0x0, x78, x81);
+ uint64_t x84;
+ fiat_p224_uint1 x85;
+ fiat_p224_addcarryx_u64(&x84, &x85, x83, x76, x79);
+ uint64_t x86;
+ fiat_p224_uint1 x87;
+ fiat_p224_addcarryx_u64(&x86, &x87, 0x0, x74, x62);
+ uint64_t x88;
+ fiat_p224_uint1 x89;
+ fiat_p224_addcarryx_u64(&x88, &x89, x87, x80, x64);
+ uint64_t x90;
+ fiat_p224_uint1 x91;
+ fiat_p224_addcarryx_u64(&x90, &x91, x89, x82, x66);
+ uint64_t x92;
+ fiat_p224_uint1 x93;
+ fiat_p224_addcarryx_u64(&x92, &x93, x91, x84, x68);
+ uint64_t x94;
+ fiat_p224_uint1 x95;
+ fiat_p224_addcarryx_u64(&x94, &x95, x85, 0x0, x77);
+ uint64_t x96;
+ fiat_p224_uint1 x97;
+ fiat_p224_addcarryx_u64(&x96, &x97, x93, x94, (fiat_p224_uint1)x72);
+ uint64_t x98;
+ fiat_p224_uint1 x99;
+ fiat_p224_addcarryx_u64(&x98, &x99, 0x0, (arg1[3]), x88);
+ uint64_t x100;
+ fiat_p224_uint1 x101;
+ fiat_p224_addcarryx_u64(&x100, &x101, x99, 0x0, x90);
+ uint64_t x102;
+ fiat_p224_uint1 x103;
+ fiat_p224_addcarryx_u64(&x102, &x103, x101, 0x0, x92);
+ uint64_t x104;
+ fiat_p224_uint1 x105;
+ fiat_p224_addcarryx_u64(&x104, &x105, x103, 0x0, x96);
+ uint64_t x106;
+ fiat_p224_uint1 x107;
+ fiat_p224_addcarryx_u64(&x106, &x107, x97, 0x0, x73);
+ uint64_t x108;
+ fiat_p224_uint1 x109;
+ fiat_p224_addcarryx_u64(&x108, &x109, x105, 0x0, (fiat_p224_uint1)x106);
+ uint64_t x110;
+ uint64_t x111;
+ fiat_p224_mulx_u64(&x110, &x111, x98, UINT64_C(0xffffffffffffffff));
+ uint64_t x112;
+ uint64_t x113;
+ fiat_p224_mulx_u64(&x112, &x113, x110, UINT32_C(0xffffffff));
+ uint64_t x114;
+ uint64_t x115;
+ fiat_p224_mulx_u64(&x114, &x115, x110, UINT64_C(0xffffffffffffffff));
+ uint64_t x116;
+ uint64_t x117;
+ fiat_p224_mulx_u64(&x116, &x117, x110, UINT64_C(0xffffffff00000000));
+ uint64_t x118;
+ fiat_p224_uint1 x119;
+ fiat_p224_addcarryx_u64(&x118, &x119, 0x0, x114, x117);
+ uint64_t x120;
+ fiat_p224_uint1 x121;
+ fiat_p224_addcarryx_u64(&x120, &x121, x119, x112, x115);
+ uint64_t x122;
+ fiat_p224_uint1 x123;
+ fiat_p224_addcarryx_u64(&x122, &x123, 0x0, x110, x98);
+ uint64_t x124;
+ fiat_p224_uint1 x125;
+ fiat_p224_addcarryx_u64(&x124, &x125, x123, x116, x100);
+ uint64_t x126;
+ fiat_p224_uint1 x127;
+ fiat_p224_addcarryx_u64(&x126, &x127, x125, x118, x102);
+ uint64_t x128;
+ fiat_p224_uint1 x129;
+ fiat_p224_addcarryx_u64(&x128, &x129, x127, x120, x104);
+ uint64_t x130;
+ fiat_p224_uint1 x131;
+ fiat_p224_addcarryx_u64(&x130, &x131, x121, 0x0, x113);
+ uint64_t x132;
+ fiat_p224_uint1 x133;
+ fiat_p224_addcarryx_u64(&x132, &x133, x129, x130, (fiat_p224_uint1)x108);
+ uint64_t x134;
+ fiat_p224_uint1 x135;
+ fiat_p224_subborrowx_u64(&x134, &x135, 0x0, x124, 0x1);
+ uint64_t x136;
+ fiat_p224_uint1 x137;
+ fiat_p224_subborrowx_u64(&x136, &x137, x135, x126, UINT64_C(0xffffffff00000000));
+ uint64_t x138;
+ fiat_p224_uint1 x139;
+ fiat_p224_subborrowx_u64(&x138, &x139, x137, x128, UINT64_C(0xffffffffffffffff));
+ uint64_t x140;
+ fiat_p224_uint1 x141;
+ fiat_p224_subborrowx_u64(&x140, &x141, x139, x132, UINT32_C(0xffffffff));
+ uint64_t x142;
+ fiat_p224_uint1 x143;
+ fiat_p224_addcarryx_u64(&x142, &x143, x133, 0x0, x109);
+ uint64_t x144;
+ fiat_p224_uint1 x145;
+ fiat_p224_subborrowx_u64(&x144, &x145, x141, (fiat_p224_uint1)x142, 0x0);
+ uint64_t x146;
+ fiat_p224_cmovznz_u64(&x146, x145, x134, x124);
+ uint64_t x147;
+ fiat_p224_cmovznz_u64(&x147, x145, x136, x126);
+ uint64_t x148;
+ fiat_p224_cmovznz_u64(&x148, x145, x138, x128);
+ uint64_t x149;
+ fiat_p224_cmovznz_u64(&x149, x145, x140, x132);
+ out1[0] = x146;
+ out1[1] = x147;
+ out1[2] = x148;
+ out1[3] = x149;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_p224_nonzero(uint64_t* out1, const uint64_t arg1[4]) {
+ uint64_t x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | (uint64_t)0x0))));
+ *out1 = x1;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p224_selectznz(uint64_t out1[4], fiat_p224_uint1 arg1, const uint64_t arg2[4], const uint64_t arg3[4]) {
+ uint64_t x1;
+ fiat_p224_cmovznz_u64(&x1, arg1, (arg2[0]), (arg3[0]));
+ uint64_t x2;
+ fiat_p224_cmovznz_u64(&x2, arg1, (arg2[1]), (arg3[1]));
+ uint64_t x3;
+ fiat_p224_cmovznz_u64(&x3, arg1, (arg2[2]), (arg3[2]));
+ uint64_t x4;
+ fiat_p224_cmovznz_u64(&x4, arg1, (arg2[3]), (arg3[3]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x0], [0x0 ~> 0x0], [0x0 ~> 0x0], [0x0 ~> 0x0]]
+ */
+static void fiat_p224_to_bytes(uint8_t out1[32], const uint64_t arg1[4]) {
+ uint64_t x1 = (arg1[3]);
+ uint64_t x2 = (arg1[2]);
+ uint64_t x3 = (arg1[1]);
+ uint64_t x4 = (arg1[0]);
+ uint64_t x5 = (x4 >> 8);
+ uint8_t x6 = (uint8_t)(x4 & UINT8_C(0xff));
+ uint64_t x7 = (x5 >> 8);
+ uint8_t x8 = (uint8_t)(x5 & UINT8_C(0xff));
+ uint64_t x9 = (x7 >> 8);
+ uint8_t x10 = (uint8_t)(x7 & UINT8_C(0xff));
+ uint64_t x11 = (x9 >> 8);
+ uint8_t x12 = (uint8_t)(x9 & UINT8_C(0xff));
+ uint64_t x13 = (x11 >> 8);
+ uint8_t x14 = (uint8_t)(x11 & UINT8_C(0xff));
+ uint64_t x15 = (x13 >> 8);
+ uint8_t x16 = (uint8_t)(x13 & UINT8_C(0xff));
+ uint8_t x17 = (uint8_t)(x15 >> 8);
+ uint8_t x18 = (uint8_t)(x15 & UINT8_C(0xff));
+ fiat_p224_uint1 x19 = (fiat_p224_uint1)(x17 >> 8);
+ uint8_t x20 = (uint8_t)(x17 & UINT8_C(0xff));
+ uint64_t x21 = (x19 + x3);
+ uint64_t x22 = (x21 >> 8);
+ uint8_t x23 = (uint8_t)(x21 & UINT8_C(0xff));
+ uint64_t x24 = (x22 >> 8);
+ uint8_t x25 = (uint8_t)(x22 & 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));
+ uint8_t x34 = (uint8_t)(x32 >> 8);
+ uint8_t x35 = (uint8_t)(x32 & UINT8_C(0xff));
+ fiat_p224_uint1 x36 = (fiat_p224_uint1)(x34 >> 8);
+ uint8_t x37 = (uint8_t)(x34 & UINT8_C(0xff));
+ uint64_t x38 = (x36 + x2);
+ 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);
+ uint8_t x46 = (uint8_t)(x43 & UINT8_C(0xff));
+ uint64_t x47 = (x45 >> 8);
+ uint8_t x48 = (uint8_t)(x45 & UINT8_C(0xff));
+ uint64_t x49 = (x47 >> 8);
+ uint8_t x50 = (uint8_t)(x47 & UINT8_C(0xff));
+ uint8_t x51 = (uint8_t)(x49 >> 8);
+ uint8_t x52 = (uint8_t)(x49 & UINT8_C(0xff));
+ fiat_p224_uint1 x53 = (fiat_p224_uint1)(x51 >> 8);
+ uint8_t x54 = (uint8_t)(x51 & UINT8_C(0xff));
+ uint64_t x55 = (x53 + x1);
+ uint64_t x56 = (x55 >> 8);
+ uint8_t x57 = (uint8_t)(x55 & UINT8_C(0xff));
+ uint64_t x58 = (x56 >> 8);
+ uint8_t x59 = (uint8_t)(x56 & UINT8_C(0xff));
+ uint8_t x60 = (uint8_t)(x58 >> 8);
+ uint8_t x61 = (uint8_t)(x58 & UINT8_C(0xff));
+ fiat_p224_uint1 x62 = (fiat_p224_uint1)(x60 >> 8);
+ uint8_t x63 = (uint8_t)(x60 & UINT8_C(0xff));
+ fiat_p224_uint1 x64 = (fiat_p224_uint1)(x62 >> 8);
+ fiat_p224_uint1 x65 = (fiat_p224_uint1)(x62 & UINT8_C(0xff));
+ fiat_p224_uint1 x66 = (fiat_p224_uint1)(x64 >> 8);
+ fiat_p224_uint1 x67 = (fiat_p224_uint1)(x64 & UINT8_C(0xff));
+ fiat_p224_uint1 x68 = (fiat_p224_uint1)(x66 >> 8);
+ fiat_p224_uint1 x69 = (fiat_p224_uint1)(x66 & UINT8_C(0xff));
+ out1[0] = x6;
+ out1[1] = x8;
+ out1[2] = x10;
+ out1[3] = x12;
+ out1[4] = x14;
+ out1[5] = x16;
+ out1[6] = x18;
+ out1[7] = x20;
+ out1[8] = x23;
+ out1[9] = x25;
+ out1[10] = x27;
+ out1[11] = x29;
+ out1[12] = x31;
+ out1[13] = x33;
+ out1[14] = x35;
+ 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] = x54;
+ out1[24] = x57;
+ out1[25] = x59;
+ out1[26] = x61;
+ out1[27] = x63;
+ out1[28] = x65;
+ out1[29] = x67;
+ out1[30] = x69;
+ out1[31] = x68;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x0], [0x0 ~> 0x0], [0x0 ~> 0x0], [0x0 ~> 0x0]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p224_from_bytes(uint64_t out1[4], const uint8_t arg1[32]) {
+ fiat_p224_uint1 x1 = (fiat_p224_uint1)((uint64_t)(fiat_p224_uint1)(arg1[31]) << 56);
+ fiat_p224_uint1 x2 = (fiat_p224_uint1)((uint64_t)(fiat_p224_uint1)(arg1[30]) << 48);
+ fiat_p224_uint1 x3 = (fiat_p224_uint1)((uint64_t)(fiat_p224_uint1)(arg1[29]) << 40);
+ fiat_p224_uint1 x4 = (fiat_p224_uint1)((uint64_t)(fiat_p224_uint1)(arg1[28]) << 32);
+ uint64_t x5 = ((uint64_t)(arg1[27]) << 24);
+ uint64_t x6 = ((uint64_t)(arg1[26]) << 16);
+ uint64_t x7 = ((uint64_t)(arg1[25]) << 8);
+ uint8_t x8 = (arg1[24]);
+ uint64_t x9 = ((uint64_t)(arg1[23]) << 56);
+ uint64_t x10 = ((uint64_t)(arg1[22]) << 48);
+ uint64_t x11 = ((uint64_t)(arg1[21]) << 40);
+ uint64_t x12 = ((uint64_t)(arg1[20]) << 32);
+ uint64_t x13 = ((uint64_t)(arg1[19]) << 24);
+ uint64_t x14 = ((uint64_t)(arg1[18]) << 16);
+ uint64_t x15 = ((uint64_t)(arg1[17]) << 8);
+ uint8_t x16 = (arg1[16]);
+ uint64_t x17 = ((uint64_t)(arg1[15]) << 56);
+ uint64_t x18 = ((uint64_t)(arg1[14]) << 48);
+ uint64_t x19 = ((uint64_t)(arg1[13]) << 40);
+ uint64_t x20 = ((uint64_t)(arg1[12]) << 32);
+ uint64_t x21 = ((uint64_t)(arg1[11]) << 24);
+ uint64_t x22 = ((uint64_t)(arg1[10]) << 16);
+ uint64_t x23 = ((uint64_t)(arg1[9]) << 8);
+ uint8_t x24 = (arg1[8]);
+ uint64_t x25 = ((uint64_t)(arg1[7]) << 56);
+ uint64_t x26 = ((uint64_t)(arg1[6]) << 48);
+ uint64_t x27 = ((uint64_t)(arg1[5]) << 40);
+ uint64_t x28 = ((uint64_t)(arg1[4]) << 32);
+ uint64_t x29 = ((uint64_t)(arg1[3]) << 24);
+ uint64_t x30 = ((uint64_t)(arg1[2]) << 16);
+ uint64_t x31 = ((uint64_t)(arg1[1]) << 8);
+ uint8_t x32 = (arg1[0]);
+ uint64_t x33 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + (x26 + x25)))))));
+ fiat_p224_uint1 x34 = (fiat_p224_uint1)((fiat_p224_uint128)x33 >> 64);
+ uint64_t x35 = (x33 & UINT64_C(0xffffffffffffffff));
+ uint64_t x36 = (x8 + (x7 + (x6 + (x5 + (uint64_t)(fiat_p224_uint1)(x4 + (fiat_p224_uint1)(x3 + (fiat_p224_uint1)(x2 + x1)))))));
+ uint64_t x37 = (x16 + (x15 + (x14 + (x13 + (x12 + (x11 + (x10 + x9)))))));
+ uint64_t x38 = (x24 + (x23 + (x22 + (x21 + (x20 + (x19 + (x18 + x17)))))));
+ uint64_t x39 = (x34 + x38);
+ fiat_p224_uint1 x40 = (fiat_p224_uint1)((fiat_p224_uint128)x39 >> 64);
+ uint64_t x41 = (x39 & UINT64_C(0xffffffffffffffff));
+ uint64_t x42 = (x40 + x37);
+ fiat_p224_uint1 x43 = (fiat_p224_uint1)((fiat_p224_uint128)x42 >> 64);
+ uint64_t x44 = (x42 & UINT64_C(0xffffffffffffffff));
+ uint64_t x45 = (x43 + x36);
+ out1[0] = x35;
+ out1[1] = x41;
+ out1[2] = x44;
+ out1[3] = x45;
+}
+
diff --git a/p256_32.c b/p256_32.c
index 5fc3d8679..944a7209c 100644
--- a/p256_32.c
+++ b/p256_32.c
@@ -4,6 +4,13 @@
/* s = 0x10000000000000000000000000000000000000000000000000000000000000000 (from "2^256") */
/* c = [(26959946667150639794667015087019630673637144422540572481103610249216, 1), (6277101735386680763835789423207666416102355444464034512896, -1), (79228162514264337593543950336, -1), (1, 1)] (from "2^224,1;2^192,-1;2^96,-1;1,1") */
/* machine_wordsize = 32 (from "32") */
+/* */
+/* NOTE: In addition to the bounds specified above each function, all */
+/* functions synthesized for this Montgomery arithmetic require the */
+/* input to be strictly less than the prime modulus (s-c), and also */
+/* require the input to be in the unique saturated representation. */
+/* All functions also ensure that these two properties are true of */
+/* return values. */
#include <stdint.h>
typedef unsigned char fiat_p256_uint1;
@@ -3165,157 +3172,115 @@ static void fiat_p256_selectznz(uint32_t out1[8], fiat_p256_uint1 arg1, const ui
* out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
*/
static void fiat_p256_to_bytes(uint8_t out1[32], const uint32_t arg1[8]) {
- uint32_t x1;
- fiat_p256_uint1 x2;
- fiat_p256_subborrowx_u32(&x1, &x2, 0x0, (arg1[0]), UINT32_C(0xffffffff));
- uint32_t x3;
- fiat_p256_uint1 x4;
- fiat_p256_subborrowx_u32(&x3, &x4, x2, (arg1[1]), UINT32_C(0xffffffff));
- uint32_t x5;
- fiat_p256_uint1 x6;
- fiat_p256_subborrowx_u32(&x5, &x6, x4, (arg1[2]), UINT32_C(0xffffffff));
- uint32_t x7;
- fiat_p256_uint1 x8;
- fiat_p256_subborrowx_u32(&x7, &x8, x6, (arg1[3]), 0x0);
- uint32_t x9;
- fiat_p256_uint1 x10;
- fiat_p256_subborrowx_u32(&x9, &x10, x8, (arg1[4]), 0x0);
- uint32_t x11;
- fiat_p256_uint1 x12;
- fiat_p256_subborrowx_u32(&x11, &x12, x10, (arg1[5]), 0x0);
- uint32_t x13;
- fiat_p256_uint1 x14;
- fiat_p256_subborrowx_u32(&x13, &x14, x12, (arg1[6]), 0x1);
- uint32_t x15;
- fiat_p256_uint1 x16;
- fiat_p256_subborrowx_u32(&x15, &x16, x14, (arg1[7]), UINT32_C(0xffffffff));
- uint32_t x17;
- fiat_p256_cmovznz_u32(&x17, x16, 0x0, UINT32_C(0xffffffff));
- uint32_t x18;
- fiat_p256_uint1 x19;
- fiat_p256_addcarryx_u32(&x18, &x19, 0x0, (x17 & UINT32_C(0xffffffff)), x1);
- uint32_t x20;
- fiat_p256_uint1 x21;
- fiat_p256_addcarryx_u32(&x20, &x21, x19, (x17 & UINT32_C(0xffffffff)), x3);
- uint32_t x22;
- fiat_p256_uint1 x23;
- fiat_p256_addcarryx_u32(&x22, &x23, x21, (x17 & UINT32_C(0xffffffff)), x5);
- uint32_t x24;
- fiat_p256_uint1 x25;
- fiat_p256_addcarryx_u32(&x24, &x25, x23, 0x0, x7);
- uint32_t x26;
- fiat_p256_uint1 x27;
- fiat_p256_addcarryx_u32(&x26, &x27, x25, 0x0, x9);
- uint32_t x28;
- fiat_p256_uint1 x29;
- fiat_p256_addcarryx_u32(&x28, &x29, x27, 0x0, x11);
- uint32_t x30;
- fiat_p256_uint1 x31;
- fiat_p256_addcarryx_u32(&x30, &x31, x29, (fiat_p256_uint1)(x17 & 0x1), x13);
- uint32_t x32;
- fiat_p256_uint1 x33;
- fiat_p256_addcarryx_u32(&x32, &x33, x31, (x17 & UINT32_C(0xffffffff)), x15);
- uint32_t x34 = (x18 >> 8);
- uint8_t x35 = (uint8_t)(x18 & UINT8_C(0xff));
- uint32_t x36 = (x34 >> 8);
- uint8_t x37 = (uint8_t)(x34 & UINT8_C(0xff));
- uint8_t x38 = (uint8_t)(x36 >> 8);
+ uint32_t x1 = (arg1[7]);
+ uint32_t x2 = (arg1[6]);
+ uint32_t x3 = (arg1[5]);
+ uint32_t x4 = (arg1[4]);
+ uint32_t x5 = (arg1[3]);
+ uint32_t x6 = (arg1[2]);
+ uint32_t x7 = (arg1[1]);
+ uint32_t x8 = (arg1[0]);
+ uint32_t x9 = (x8 >> 8);
+ uint8_t x10 = (uint8_t)(x8 & UINT8_C(0xff));
+ uint32_t x11 = (x9 >> 8);
+ uint8_t x12 = (uint8_t)(x9 & UINT8_C(0xff));
+ uint8_t x13 = (uint8_t)(x11 >> 8);
+ uint8_t x14 = (uint8_t)(x11 & UINT8_C(0xff));
+ fiat_p256_uint1 x15 = (fiat_p256_uint1)(x13 >> 8);
+ uint8_t x16 = (uint8_t)(x13 & UINT8_C(0xff));
+ uint32_t x17 = (x15 + x7);
+ uint32_t x18 = (x17 >> 8);
+ uint8_t x19 = (uint8_t)(x17 & UINT8_C(0xff));
+ uint32_t x20 = (x18 >> 8);
+ uint8_t x21 = (uint8_t)(x18 & UINT8_C(0xff));
+ uint8_t x22 = (uint8_t)(x20 >> 8);
+ uint8_t x23 = (uint8_t)(x20 & UINT8_C(0xff));
+ fiat_p256_uint1 x24 = (fiat_p256_uint1)(x22 >> 8);
+ uint8_t x25 = (uint8_t)(x22 & UINT8_C(0xff));
+ uint32_t x26 = (x24 + x6);
+ uint32_t x27 = (x26 >> 8);
+ uint8_t x28 = (uint8_t)(x26 & UINT8_C(0xff));
+ uint32_t x29 = (x27 >> 8);
+ uint8_t x30 = (uint8_t)(x27 & UINT8_C(0xff));
+ uint8_t x31 = (uint8_t)(x29 >> 8);
+ uint8_t x32 = (uint8_t)(x29 & UINT8_C(0xff));
+ fiat_p256_uint1 x33 = (fiat_p256_uint1)(x31 >> 8);
+ uint8_t x34 = (uint8_t)(x31 & UINT8_C(0xff));
+ uint32_t x35 = (x33 + x5);
+ uint32_t x36 = (x35 >> 8);
+ uint8_t x37 = (uint8_t)(x35 & UINT8_C(0xff));
+ uint32_t x38 = (x36 >> 8);
uint8_t x39 = (uint8_t)(x36 & UINT8_C(0xff));
- fiat_p256_uint1 x40 = (fiat_p256_uint1)(x38 >> 8);
+ uint8_t x40 = (uint8_t)(x38 >> 8);
uint8_t x41 = (uint8_t)(x38 & UINT8_C(0xff));
- uint32_t x42 = (x40 + x20);
- uint32_t x43 = (x42 >> 8);
- uint8_t x44 = (uint8_t)(x42 & UINT8_C(0xff));
- uint32_t x45 = (x43 >> 8);
- uint8_t x46 = (uint8_t)(x43 & UINT8_C(0xff));
- uint8_t x47 = (uint8_t)(x45 >> 8);
+ fiat_p256_uint1 x42 = (fiat_p256_uint1)(x40 >> 8);
+ uint8_t x43 = (uint8_t)(x40 & UINT8_C(0xff));
+ uint32_t x44 = (x42 + x4);
+ uint32_t x45 = (x44 >> 8);
+ uint8_t x46 = (uint8_t)(x44 & UINT8_C(0xff));
+ uint32_t x47 = (x45 >> 8);
uint8_t x48 = (uint8_t)(x45 & UINT8_C(0xff));
- fiat_p256_uint1 x49 = (fiat_p256_uint1)(x47 >> 8);
+ uint8_t x49 = (uint8_t)(x47 >> 8);
uint8_t x50 = (uint8_t)(x47 & UINT8_C(0xff));
- uint32_t x51 = (x49 + x22);
- uint32_t x52 = (x51 >> 8);
- uint8_t x53 = (uint8_t)(x51 & UINT8_C(0xff));
- uint32_t x54 = (x52 >> 8);
- uint8_t x55 = (uint8_t)(x52 & UINT8_C(0xff));
- uint8_t x56 = (uint8_t)(x54 >> 8);
+ fiat_p256_uint1 x51 = (fiat_p256_uint1)(x49 >> 8);
+ uint8_t x52 = (uint8_t)(x49 & UINT8_C(0xff));
+ uint32_t x53 = (x51 + x3);
+ uint32_t x54 = (x53 >> 8);
+ uint8_t x55 = (uint8_t)(x53 & UINT8_C(0xff));
+ uint32_t x56 = (x54 >> 8);
uint8_t x57 = (uint8_t)(x54 & UINT8_C(0xff));
- fiat_p256_uint1 x58 = (fiat_p256_uint1)(x56 >> 8);
+ uint8_t x58 = (uint8_t)(x56 >> 8);
uint8_t x59 = (uint8_t)(x56 & UINT8_C(0xff));
- uint32_t x60 = (x58 + x24);
- uint32_t x61 = (x60 >> 8);
- uint8_t x62 = (uint8_t)(x60 & UINT8_C(0xff));
- uint32_t x63 = (x61 >> 8);
- uint8_t x64 = (uint8_t)(x61 & UINT8_C(0xff));
- uint8_t x65 = (uint8_t)(x63 >> 8);
+ fiat_p256_uint1 x60 = (fiat_p256_uint1)(x58 >> 8);
+ uint8_t x61 = (uint8_t)(x58 & UINT8_C(0xff));
+ uint32_t x62 = (x60 + x2);
+ uint32_t x63 = (x62 >> 8);
+ uint8_t x64 = (uint8_t)(x62 & UINT8_C(0xff));
+ uint32_t x65 = (x63 >> 8);
uint8_t x66 = (uint8_t)(x63 & UINT8_C(0xff));
- fiat_p256_uint1 x67 = (fiat_p256_uint1)(x65 >> 8);
+ uint8_t x67 = (uint8_t)(x65 >> 8);
uint8_t x68 = (uint8_t)(x65 & UINT8_C(0xff));
- uint32_t x69 = (x67 + x26);
- uint32_t x70 = (x69 >> 8);
- uint8_t x71 = (uint8_t)(x69 & UINT8_C(0xff));
- uint32_t x72 = (x70 >> 8);
- uint8_t x73 = (uint8_t)(x70 & UINT8_C(0xff));
- uint8_t x74 = (uint8_t)(x72 >> 8);
+ fiat_p256_uint1 x69 = (fiat_p256_uint1)(x67 >> 8);
+ uint8_t x70 = (uint8_t)(x67 & UINT8_C(0xff));
+ uint32_t x71 = (x69 + x1);
+ uint32_t x72 = (x71 >> 8);
+ uint8_t x73 = (uint8_t)(x71 & UINT8_C(0xff));
+ uint32_t x74 = (x72 >> 8);
uint8_t x75 = (uint8_t)(x72 & UINT8_C(0xff));
- fiat_p256_uint1 x76 = (fiat_p256_uint1)(x74 >> 8);
+ uint8_t x76 = (uint8_t)(x74 >> 8);
uint8_t x77 = (uint8_t)(x74 & UINT8_C(0xff));
- uint32_t x78 = (x76 + x28);
- uint32_t x79 = (x78 >> 8);
- uint8_t x80 = (uint8_t)(x78 & UINT8_C(0xff));
- uint32_t x81 = (x79 >> 8);
- uint8_t x82 = (uint8_t)(x79 & UINT8_C(0xff));
- uint8_t x83 = (uint8_t)(x81 >> 8);
- uint8_t x84 = (uint8_t)(x81 & UINT8_C(0xff));
- fiat_p256_uint1 x85 = (fiat_p256_uint1)(x83 >> 8);
- uint8_t x86 = (uint8_t)(x83 & UINT8_C(0xff));
- uint32_t x87 = (x85 + x30);
- uint32_t x88 = (x87 >> 8);
- uint8_t x89 = (uint8_t)(x87 & UINT8_C(0xff));
- uint32_t x90 = (x88 >> 8);
- uint8_t x91 = (uint8_t)(x88 & UINT8_C(0xff));
- uint8_t x92 = (uint8_t)(x90 >> 8);
- uint8_t x93 = (uint8_t)(x90 & UINT8_C(0xff));
- fiat_p256_uint1 x94 = (fiat_p256_uint1)(x92 >> 8);
- uint8_t x95 = (uint8_t)(x92 & UINT8_C(0xff));
- uint32_t x96 = (x94 + x32);
- uint32_t x97 = (x96 >> 8);
- uint8_t x98 = (uint8_t)(x96 & UINT8_C(0xff));
- uint32_t x99 = (x97 >> 8);
- uint8_t x100 = (uint8_t)(x97 & UINT8_C(0xff));
- uint8_t x101 = (uint8_t)(x99 >> 8);
- uint8_t x102 = (uint8_t)(x99 & UINT8_C(0xff));
- out1[0] = x35;
- out1[1] = x37;
- out1[2] = x39;
- out1[3] = x41;
- out1[4] = x44;
- out1[5] = x46;
- out1[6] = x48;
- out1[7] = x50;
- out1[8] = x53;
- out1[9] = x55;
- out1[10] = x57;
- out1[11] = x59;
- out1[12] = x62;
- out1[13] = x64;
- out1[14] = x66;
- out1[15] = x68;
- out1[16] = x71;
- out1[17] = x73;
- out1[18] = x75;
- out1[19] = x77;
- out1[20] = x80;
- out1[21] = x82;
- out1[22] = x84;
- out1[23] = x86;
- out1[24] = x89;
- out1[25] = x91;
- out1[26] = x93;
- out1[27] = x95;
- out1[28] = x98;
- out1[29] = x100;
- out1[30] = x102;
- out1[31] = x101;
+ out1[0] = x10;
+ out1[1] = x12;
+ out1[2] = x14;
+ out1[3] = x16;
+ out1[4] = x19;
+ out1[5] = x21;
+ out1[6] = x23;
+ out1[7] = x25;
+ out1[8] = x28;
+ out1[9] = x30;
+ out1[10] = x32;
+ out1[11] = x34;
+ out1[12] = x37;
+ out1[13] = x39;
+ out1[14] = x41;
+ out1[15] = x43;
+ out1[16] = x46;
+ out1[17] = x48;
+ out1[18] = x50;
+ out1[19] = x52;
+ out1[20] = x55;
+ out1[21] = x57;
+ out1[22] = x59;
+ out1[23] = x61;
+ out1[24] = x64;
+ out1[25] = x66;
+ out1[26] = x68;
+ out1[27] = x70;
+ out1[28] = x73;
+ out1[29] = x75;
+ out1[30] = x77;
+ out1[31] = x76;
}
/*
diff --git a/p256_64.c b/p256_64.c
index 1449d3175..56cb29fbc 100644
--- a/p256_64.c
+++ b/p256_64.c
@@ -4,6 +4,13 @@
/* s = 0x10000000000000000000000000000000000000000000000000000000000000000 (from "2^256") */
/* c = [(26959946667150639794667015087019630673637144422540572481103610249216, 1), (6277101735386680763835789423207666416102355444464034512896, -1), (79228162514264337593543950336, -1), (1, 1)] (from "2^224,1;2^192,-1;2^96,-1;1,1") */
/* machine_wordsize = 64 (from "64") */
+/* */
+/* NOTE: In addition to the bounds specified above each function, all */
+/* functions synthesized for this Montgomery arithmetic require the */
+/* input to be strictly less than the prime modulus (s-c), and also */
+/* require the input to be in the unique saturated representation. */
+/* All functions also ensure that these two properties are true of */
+/* return values. */
#include <stdint.h>
typedef unsigned char fiat_p256_uint1;
@@ -1159,129 +1166,107 @@ static void fiat_p256_selectznz(uint64_t out1[4], fiat_p256_uint1 arg1, const ui
* out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
*/
static void fiat_p256_to_bytes(uint8_t out1[32], const uint64_t arg1[4]) {
- uint64_t x1;
- fiat_p256_uint1 x2;
- fiat_p256_subborrowx_u64(&x1, &x2, 0x0, (arg1[0]), UINT64_C(0xffffffffffffffff));
- uint64_t x3;
- fiat_p256_uint1 x4;
- fiat_p256_subborrowx_u64(&x3, &x4, x2, (arg1[1]), UINT32_C(0xffffffff));
- uint64_t x5;
- fiat_p256_uint1 x6;
- fiat_p256_subborrowx_u64(&x5, &x6, x4, (arg1[2]), 0x0);
- uint64_t x7;
- fiat_p256_uint1 x8;
- fiat_p256_subborrowx_u64(&x7, &x8, x6, (arg1[3]), UINT64_C(0xffffffff00000001));
- uint64_t x9;
- fiat_p256_cmovznz_u64(&x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
- uint64_t x10;
- fiat_p256_uint1 x11;
- fiat_p256_addcarryx_u64(&x10, &x11, 0x0, (x9 & UINT64_C(0xffffffffffffffff)), x1);
- uint64_t x12;
- fiat_p256_uint1 x13;
- fiat_p256_addcarryx_u64(&x12, &x13, x11, (x9 & UINT32_C(0xffffffff)), x3);
- uint64_t x14;
- fiat_p256_uint1 x15;
- fiat_p256_addcarryx_u64(&x14, &x15, x13, 0x0, x5);
- uint64_t x16;
- fiat_p256_uint1 x17;
- fiat_p256_addcarryx_u64(&x16, &x17, x15, (x9 & UINT64_C(0xffffffff00000001)), x7);
- uint64_t x18 = (x10 >> 8);
- uint8_t x19 = (uint8_t)(x10 & UINT8_C(0xff));
- uint64_t x20 = (x18 >> 8);
- uint8_t x21 = (uint8_t)(x18 & UINT8_C(0xff));
- uint64_t x22 = (x20 >> 8);
- uint8_t x23 = (uint8_t)(x20 & UINT8_C(0xff));
+ uint64_t x1 = (arg1[3]);
+ uint64_t x2 = (arg1[2]);
+ uint64_t x3 = (arg1[1]);
+ uint64_t x4 = (arg1[0]);
+ uint64_t x5 = (x4 >> 8);
+ uint8_t x6 = (uint8_t)(x4 & UINT8_C(0xff));
+ uint64_t x7 = (x5 >> 8);
+ uint8_t x8 = (uint8_t)(x5 & UINT8_C(0xff));
+ uint64_t x9 = (x7 >> 8);
+ uint8_t x10 = (uint8_t)(x7 & UINT8_C(0xff));
+ uint64_t x11 = (x9 >> 8);
+ uint8_t x12 = (uint8_t)(x9 & UINT8_C(0xff));
+ uint64_t x13 = (x11 >> 8);
+ uint8_t x14 = (uint8_t)(x11 & UINT8_C(0xff));
+ uint64_t x15 = (x13 >> 8);
+ uint8_t x16 = (uint8_t)(x13 & UINT8_C(0xff));
+ uint8_t x17 = (uint8_t)(x15 >> 8);
+ uint8_t x18 = (uint8_t)(x15 & UINT8_C(0xff));
+ fiat_p256_uint1 x19 = (fiat_p256_uint1)(x17 >> 8);
+ uint8_t x20 = (uint8_t)(x17 & UINT8_C(0xff));
+ uint64_t x21 = (x19 + x3);
+ uint64_t x22 = (x21 >> 8);
+ uint8_t x23 = (uint8_t)(x21 & UINT8_C(0xff));
uint64_t x24 = (x22 >> 8);
uint8_t x25 = (uint8_t)(x22 & 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));
- uint8_t x30 = (uint8_t)(x28 >> 8);
+ uint64_t x30 = (x28 >> 8);
uint8_t x31 = (uint8_t)(x28 & UINT8_C(0xff));
- fiat_p256_uint1 x32 = (fiat_p256_uint1)(x30 >> 8);
+ uint64_t x32 = (x30 >> 8);
uint8_t x33 = (uint8_t)(x30 & UINT8_C(0xff));
- uint64_t x34 = (x32 + x12);
- uint64_t x35 = (x34 >> 8);
- uint8_t x36 = (uint8_t)(x34 & UINT8_C(0xff));
- uint64_t x37 = (x35 >> 8);
- uint8_t x38 = (uint8_t)(x35 & UINT8_C(0xff));
- uint64_t x39 = (x37 >> 8);
- uint8_t x40 = (uint8_t)(x37 & UINT8_C(0xff));
+ uint8_t x34 = (uint8_t)(x32 >> 8);
+ uint8_t x35 = (uint8_t)(x32 & UINT8_C(0xff));
+ fiat_p256_uint1 x36 = (fiat_p256_uint1)(x34 >> 8);
+ uint8_t x37 = (uint8_t)(x34 & UINT8_C(0xff));
+ uint64_t x38 = (x36 + x2);
+ 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);
uint8_t x46 = (uint8_t)(x43 & UINT8_C(0xff));
- uint8_t x47 = (uint8_t)(x45 >> 8);
+ uint64_t x47 = (x45 >> 8);
uint8_t x48 = (uint8_t)(x45 & UINT8_C(0xff));
- fiat_p256_uint1 x49 = (fiat_p256_uint1)(x47 >> 8);
+ uint64_t x49 = (x47 >> 8);
uint8_t x50 = (uint8_t)(x47 & UINT8_C(0xff));
- uint64_t x51 = (x49 + x14);
- uint64_t x52 = (x51 >> 8);
- uint8_t x53 = (uint8_t)(x51 & UINT8_C(0xff));
- uint64_t x54 = (x52 >> 8);
- uint8_t x55 = (uint8_t)(x52 & UINT8_C(0xff));
- uint64_t x56 = (x54 >> 8);
- uint8_t x57 = (uint8_t)(x54 & UINT8_C(0xff));
+ uint8_t x51 = (uint8_t)(x49 >> 8);
+ uint8_t x52 = (uint8_t)(x49 & UINT8_C(0xff));
+ fiat_p256_uint1 x53 = (fiat_p256_uint1)(x51 >> 8);
+ uint8_t x54 = (uint8_t)(x51 & UINT8_C(0xff));
+ uint64_t x55 = (x53 + x1);
+ uint64_t x56 = (x55 >> 8);
+ uint8_t x57 = (uint8_t)(x55 & UINT8_C(0xff));
uint64_t x58 = (x56 >> 8);
uint8_t x59 = (uint8_t)(x56 & 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));
- uint8_t x64 = (uint8_t)(x62 >> 8);
+ uint64_t x64 = (x62 >> 8);
uint8_t x65 = (uint8_t)(x62 & UINT8_C(0xff));
- fiat_p256_uint1 x66 = (fiat_p256_uint1)(x64 >> 8);
+ uint64_t x66 = (x64 >> 8);
uint8_t x67 = (uint8_t)(x64 & UINT8_C(0xff));
- uint64_t x68 = (x66 + x16);
- uint64_t x69 = (x68 >> 8);
- uint8_t x70 = (uint8_t)(x68 & UINT8_C(0xff));
- uint64_t x71 = (x69 >> 8);
- uint8_t x72 = (uint8_t)(x69 & 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));
- uint8_t x81 = (uint8_t)(x79 >> 8);
- uint8_t x82 = (uint8_t)(x79 & UINT8_C(0xff));
- out1[0] = x19;
- out1[1] = x21;
- out1[2] = x23;
- out1[3] = x25;
- out1[4] = x27;
- out1[5] = x29;
- out1[6] = x31;
- out1[7] = x33;
- out1[8] = x36;
- out1[9] = x38;
- out1[10] = x40;
- out1[11] = x42;
- out1[12] = x44;
- out1[13] = x46;
- out1[14] = x48;
- out1[15] = x50;
- out1[16] = x53;
- out1[17] = x55;
- out1[18] = x57;
- out1[19] = x59;
- out1[20] = x61;
- out1[21] = x63;
- out1[22] = x65;
- out1[23] = x67;
- out1[24] = x70;
- out1[25] = x72;
- out1[26] = x74;
- out1[27] = x76;
- out1[28] = x78;
- out1[29] = x80;
- out1[30] = x82;
- out1[31] = x81;
+ uint8_t x68 = (uint8_t)(x66 >> 8);
+ uint8_t x69 = (uint8_t)(x66 & UINT8_C(0xff));
+ out1[0] = x6;
+ out1[1] = x8;
+ out1[2] = x10;
+ out1[3] = x12;
+ out1[4] = x14;
+ out1[5] = x16;
+ out1[6] = x18;
+ out1[7] = x20;
+ out1[8] = x23;
+ out1[9] = x25;
+ out1[10] = x27;
+ out1[11] = x29;
+ out1[12] = x31;
+ out1[13] = x33;
+ out1[14] = x35;
+ 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] = x54;
+ out1[24] = x57;
+ out1[25] = x59;
+ out1[26] = x61;
+ out1[27] = x63;
+ out1[28] = x65;
+ out1[29] = x67;
+ out1[30] = x69;
+ out1[31] = x68;
}
/*
diff --git a/p384_32.c b/p384_32.c
new file mode 100644
index 000000000..b3af80385
--- /dev/null
+++ b/p384_32.c
@@ -0,0 +1,7566 @@
+/* Autogenerated */
+/* curve description: p384 */
+/* requested operations: (all) */
+/* s = 0x1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (from "2^384") */
+/* c = [(340282366920938463463374607431768211456, 1), (79228162514264337593543950336, 1), (4294967296, -1), (1, 1)] (from "2^128,1;2^96,1;2^32,-1;1,1") */
+/* machine_wordsize = 32 (from "32") */
+/* */
+/* NOTE: In addition to the bounds specified above each function, all */
+/* functions synthesized for this Montgomery arithmetic require the */
+/* input to be strictly less than the prime modulus (s-c), and also */
+/* require the input to be in the unique saturated representation. */
+/* All functions also ensure that these two properties are true of */
+/* return values. */
+
+#include <stdint.h>
+typedef unsigned char fiat_p384_uint1;
+typedef signed char fiat_p384_int1;
+
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffff]
+ * arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p384_addcarryx_u32(uint32_t* out1, fiat_p384_uint1* out2, fiat_p384_uint1 arg1, uint32_t arg2, uint32_t arg3) {
+ uint64_t x1 = ((arg1 + (uint64_t)arg2) + arg3);
+ uint32_t x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+ fiat_p384_uint1 x3 = (fiat_p384_uint1)(x1 >> 32);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffff]
+ * arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p384_subborrowx_u32(uint32_t* out1, fiat_p384_uint1* out2, fiat_p384_uint1 arg1, uint32_t arg2, uint32_t arg3) {
+ int64_t x1 = ((arg2 - (int64_t)arg1) - arg3);
+ fiat_p384_int1 x2 = (fiat_p384_int1)((uint64_t)x1 >> 32);
+ uint32_t x3 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+ *out1 = x3;
+ *out2 = (fiat_p384_uint1)(0x0 - x2);
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0xffffffff]
+ * arg2: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ * out2: [0x0 ~> 0xffffffff]
+ */
+static void fiat_p384_mulx_u32(uint32_t* out1, uint32_t* out2, uint32_t arg1, uint32_t arg2) {
+ uint64_t x1 = ((uint64_t)arg1 * arg2);
+ uint32_t x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+ uint32_t x3 = (uint32_t)(x1 >> 32);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffff]
+ * arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ */
+static void fiat_p384_cmovznz_u32(uint32_t* out1, fiat_p384_uint1 arg1, uint32_t arg2, uint32_t arg3) {
+ fiat_p384_uint1 x1 = (!(!arg1));
+ uint32_t x2 = ((fiat_p384_int1)(0x0 - x1) & UINT32_C(0xffffffff));
+ uint32_t x3 = ((x2 & arg3) | (uint32_t)((uint64_t)(~x2) & arg2));
+ *out1 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p384_mul(uint32_t out1[12], const uint32_t arg1[12], const uint32_t arg2[12]) {
+ uint32_t x1 = (arg1[1]);
+ uint32_t x2 = (arg1[2]);
+ uint32_t x3 = (arg1[3]);
+ uint32_t x4 = (arg1[4]);
+ uint32_t x5 = (arg1[5]);
+ uint32_t x6 = (arg1[6]);
+ uint32_t x7 = (arg1[7]);
+ uint32_t x8 = (arg1[8]);
+ uint32_t x9 = (arg1[9]);
+ uint32_t x10 = (arg1[10]);
+ uint32_t x11 = (arg1[11]);
+ uint32_t x12 = (arg1[0]);
+ uint32_t x13;
+ uint32_t x14;
+ fiat_p384_mulx_u32(&x13, &x14, x12, (arg2[11]));
+ uint32_t x15;
+ uint32_t x16;
+ fiat_p384_mulx_u32(&x15, &x16, x12, (arg2[10]));
+ uint32_t x17;
+ uint32_t x18;
+ fiat_p384_mulx_u32(&x17, &x18, x12, (arg2[9]));
+ uint32_t x19;
+ uint32_t x20;
+ fiat_p384_mulx_u32(&x19, &x20, x12, (arg2[8]));
+ uint32_t x21;
+ uint32_t x22;
+ fiat_p384_mulx_u32(&x21, &x22, x12, (arg2[7]));
+ uint32_t x23;
+ uint32_t x24;
+ fiat_p384_mulx_u32(&x23, &x24, x12, (arg2[6]));
+ uint32_t x25;
+ uint32_t x26;
+ fiat_p384_mulx_u32(&x25, &x26, x12, (arg2[5]));
+ uint32_t x27;
+ uint32_t x28;
+ fiat_p384_mulx_u32(&x27, &x28, x12, (arg2[4]));
+ uint32_t x29;
+ uint32_t x30;
+ fiat_p384_mulx_u32(&x29, &x30, x12, (arg2[3]));
+ uint32_t x31;
+ uint32_t x32;
+ fiat_p384_mulx_u32(&x31, &x32, x12, (arg2[2]));
+ uint32_t x33;
+ uint32_t x34;
+ fiat_p384_mulx_u32(&x33, &x34, x12, (arg2[1]));
+ uint32_t x35;
+ uint32_t x36;
+ fiat_p384_mulx_u32(&x35, &x36, x12, (arg2[0]));
+ uint32_t x37;
+ fiat_p384_uint1 x38;
+ fiat_p384_addcarryx_u32(&x37, &x38, 0x0, x33, x36);
+ uint32_t x39;
+ fiat_p384_uint1 x40;
+ fiat_p384_addcarryx_u32(&x39, &x40, x38, x31, x34);
+ uint32_t x41;
+ fiat_p384_uint1 x42;
+ fiat_p384_addcarryx_u32(&x41, &x42, x40, x29, x32);
+ uint32_t x43;
+ fiat_p384_uint1 x44;
+ fiat_p384_addcarryx_u32(&x43, &x44, x42, x27, x30);
+ uint32_t x45;
+ fiat_p384_uint1 x46;
+ fiat_p384_addcarryx_u32(&x45, &x46, x44, x25, x28);
+ uint32_t x47;
+ fiat_p384_uint1 x48;
+ fiat_p384_addcarryx_u32(&x47, &x48, x46, x23, x26);
+ uint32_t x49;
+ fiat_p384_uint1 x50;
+ fiat_p384_addcarryx_u32(&x49, &x50, x48, x21, x24);
+ uint32_t x51;
+ fiat_p384_uint1 x52;
+ fiat_p384_addcarryx_u32(&x51, &x52, x50, x19, x22);
+ uint32_t x53;
+ fiat_p384_uint1 x54;
+ fiat_p384_addcarryx_u32(&x53, &x54, x52, x17, x20);
+ uint32_t x55;
+ fiat_p384_uint1 x56;
+ fiat_p384_addcarryx_u32(&x55, &x56, x54, x15, x18);
+ uint32_t x57;
+ fiat_p384_uint1 x58;
+ fiat_p384_addcarryx_u32(&x57, &x58, x56, x13, x16);
+ uint32_t x59;
+ fiat_p384_uint1 x60;
+ fiat_p384_addcarryx_u32(&x59, &x60, x58, 0x0, x14);
+ uint32_t x61;
+ uint32_t x62;
+ fiat_p384_mulx_u32(&x61, &x62, x35, UINT32_C(0xffffffff));
+ uint32_t x63;
+ uint32_t x64;
+ fiat_p384_mulx_u32(&x63, &x64, x35, UINT32_C(0xffffffff));
+ uint32_t x65;
+ uint32_t x66;
+ fiat_p384_mulx_u32(&x65, &x66, x35, UINT32_C(0xffffffff));
+ uint32_t x67;
+ uint32_t x68;
+ fiat_p384_mulx_u32(&x67, &x68, x35, UINT32_C(0xffffffff));
+ uint32_t x69;
+ uint32_t x70;
+ fiat_p384_mulx_u32(&x69, &x70, x35, UINT32_C(0xffffffff));
+ uint32_t x71;
+ uint32_t x72;
+ fiat_p384_mulx_u32(&x71, &x72, x35, UINT32_C(0xffffffff));
+ uint32_t x73;
+ uint32_t x74;
+ fiat_p384_mulx_u32(&x73, &x74, x35, UINT32_C(0xffffffff));
+ uint32_t x75;
+ uint32_t x76;
+ fiat_p384_mulx_u32(&x75, &x76, x35, UINT32_C(0xfffffffe));
+ uint32_t x77;
+ uint32_t x78;
+ fiat_p384_mulx_u32(&x77, &x78, x35, UINT32_C(0xffffffff));
+ uint32_t x79;
+ uint32_t x80;
+ fiat_p384_mulx_u32(&x79, &x80, x35, UINT32_C(0xffffffff));
+ uint32_t x81;
+ fiat_p384_uint1 x82;
+ fiat_p384_addcarryx_u32(&x81, &x82, 0x0, x75, x78);
+ uint32_t x83;
+ fiat_p384_uint1 x84;
+ fiat_p384_addcarryx_u32(&x83, &x84, x82, x73, x76);
+ uint32_t x85;
+ fiat_p384_uint1 x86;
+ fiat_p384_addcarryx_u32(&x85, &x86, x84, x71, x74);
+ uint32_t x87;
+ fiat_p384_uint1 x88;
+ fiat_p384_addcarryx_u32(&x87, &x88, x86, x69, x72);
+ uint32_t x89;
+ fiat_p384_uint1 x90;
+ fiat_p384_addcarryx_u32(&x89, &x90, x88, x67, x70);
+ uint32_t x91;
+ fiat_p384_uint1 x92;
+ fiat_p384_addcarryx_u32(&x91, &x92, x90, x65, x68);
+ uint32_t x93;
+ fiat_p384_uint1 x94;
+ fiat_p384_addcarryx_u32(&x93, &x94, x92, x63, x66);
+ uint32_t x95;
+ fiat_p384_uint1 x96;
+ fiat_p384_addcarryx_u32(&x95, &x96, x94, x61, x64);
+ uint32_t x97;
+ fiat_p384_uint1 x98;
+ fiat_p384_addcarryx_u32(&x97, &x98, x96, 0x0, x62);
+ uint32_t x99;
+ fiat_p384_uint1 x100;
+ fiat_p384_addcarryx_u32(&x99, &x100, 0x0, x79, x35);
+ uint32_t x101;
+ fiat_p384_uint1 x102;
+ fiat_p384_addcarryx_u32(&x101, &x102, x100, x80, x37);
+ uint32_t x103;
+ fiat_p384_uint1 x104;
+ fiat_p384_addcarryx_u32(&x103, &x104, x102, 0x0, x39);
+ uint32_t x105;
+ fiat_p384_uint1 x106;
+ fiat_p384_addcarryx_u32(&x105, &x106, x104, x77, x41);
+ uint32_t x107;
+ fiat_p384_uint1 x108;
+ fiat_p384_addcarryx_u32(&x107, &x108, x106, x81, x43);
+ uint32_t x109;
+ fiat_p384_uint1 x110;
+ fiat_p384_addcarryx_u32(&x109, &x110, x108, x83, x45);
+ uint32_t x111;
+ fiat_p384_uint1 x112;
+ fiat_p384_addcarryx_u32(&x111, &x112, x110, x85, x47);
+ uint32_t x113;
+ fiat_p384_uint1 x114;
+ fiat_p384_addcarryx_u32(&x113, &x114, x112, x87, x49);
+ uint32_t x115;
+ fiat_p384_uint1 x116;
+ fiat_p384_addcarryx_u32(&x115, &x116, x114, x89, x51);
+ uint32_t x117;
+ fiat_p384_uint1 x118;
+ fiat_p384_addcarryx_u32(&x117, &x118, x116, x91, x53);
+ uint32_t x119;
+ fiat_p384_uint1 x120;
+ fiat_p384_addcarryx_u32(&x119, &x120, x118, x93, x55);
+ uint32_t x121;
+ fiat_p384_uint1 x122;
+ fiat_p384_addcarryx_u32(&x121, &x122, x120, x95, x57);
+ uint32_t x123;
+ fiat_p384_uint1 x124;
+ fiat_p384_addcarryx_u32(&x123, &x124, x122, x97, x59);
+ uint32_t x125;
+ fiat_p384_uint1 x126;
+ fiat_p384_addcarryx_u32(&x125, &x126, x124, 0x0, 0x0);
+ uint32_t x127;
+ uint32_t x128;
+ fiat_p384_mulx_u32(&x127, &x128, x1, (arg2[11]));
+ uint32_t x129;
+ uint32_t x130;
+ fiat_p384_mulx_u32(&x129, &x130, x1, (arg2[10]));
+ uint32_t x131;
+ uint32_t x132;
+ fiat_p384_mulx_u32(&x131, &x132, x1, (arg2[9]));
+ uint32_t x133;
+ uint32_t x134;
+ fiat_p384_mulx_u32(&x133, &x134, x1, (arg2[8]));
+ uint32_t x135;
+ uint32_t x136;
+ fiat_p384_mulx_u32(&x135, &x136, x1, (arg2[7]));
+ uint32_t x137;
+ uint32_t x138;
+ fiat_p384_mulx_u32(&x137, &x138, x1, (arg2[6]));
+ uint32_t x139;
+ uint32_t x140;
+ fiat_p384_mulx_u32(&x139, &x140, x1, (arg2[5]));
+ uint32_t x141;
+ uint32_t x142;
+ fiat_p384_mulx_u32(&x141, &x142, x1, (arg2[4]));
+ uint32_t x143;
+ uint32_t x144;
+ fiat_p384_mulx_u32(&x143, &x144, x1, (arg2[3]));
+ uint32_t x145;
+ uint32_t x146;
+ fiat_p384_mulx_u32(&x145, &x146, x1, (arg2[2]));
+ uint32_t x147;
+ uint32_t x148;
+ fiat_p384_mulx_u32(&x147, &x148, x1, (arg2[1]));
+ uint32_t x149;
+ uint32_t x150;
+ fiat_p384_mulx_u32(&x149, &x150, x1, (arg2[0]));
+ uint32_t x151;
+ fiat_p384_uint1 x152;
+ fiat_p384_addcarryx_u32(&x151, &x152, 0x0, x147, x150);
+ uint32_t x153;
+ fiat_p384_uint1 x154;
+ fiat_p384_addcarryx_u32(&x153, &x154, x152, x145, x148);
+ uint32_t x155;
+ fiat_p384_uint1 x156;
+ fiat_p384_addcarryx_u32(&x155, &x156, x154, x143, x146);
+ uint32_t x157;
+ fiat_p384_uint1 x158;
+ fiat_p384_addcarryx_u32(&x157, &x158, x156, x141, x144);
+ uint32_t x159;
+ fiat_p384_uint1 x160;
+ fiat_p384_addcarryx_u32(&x159, &x160, x158, x139, x142);
+ uint32_t x161;
+ fiat_p384_uint1 x162;
+ fiat_p384_addcarryx_u32(&x161, &x162, x160, x137, x140);
+ uint32_t x163;
+ fiat_p384_uint1 x164;
+ fiat_p384_addcarryx_u32(&x163, &x164, x162, x135, x138);
+ uint32_t x165;
+ fiat_p384_uint1 x166;
+ fiat_p384_addcarryx_u32(&x165, &x166, x164, x133, x136);
+ uint32_t x167;
+ fiat_p384_uint1 x168;
+ fiat_p384_addcarryx_u32(&x167, &x168, x166, x131, x134);
+ uint32_t x169;
+ fiat_p384_uint1 x170;
+ fiat_p384_addcarryx_u32(&x169, &x170, x168, x129, x132);
+ uint32_t x171;
+ fiat_p384_uint1 x172;
+ fiat_p384_addcarryx_u32(&x171, &x172, x170, x127, x130);
+ uint32_t x173;
+ fiat_p384_uint1 x174;
+ fiat_p384_addcarryx_u32(&x173, &x174, x172, 0x0, x128);
+ uint32_t x175;
+ fiat_p384_uint1 x176;
+ fiat_p384_addcarryx_u32(&x175, &x176, 0x0, x149, x101);
+ uint32_t x177;
+ fiat_p384_uint1 x178;
+ fiat_p384_addcarryx_u32(&x177, &x178, x176, x151, x103);
+ uint32_t x179;
+ fiat_p384_uint1 x180;
+ fiat_p384_addcarryx_u32(&x179, &x180, x178, x153, x105);
+ uint32_t x181;
+ fiat_p384_uint1 x182;
+ fiat_p384_addcarryx_u32(&x181, &x182, x180, x155, x107);
+ uint32_t x183;
+ fiat_p384_uint1 x184;
+ fiat_p384_addcarryx_u32(&x183, &x184, x182, x157, x109);
+ uint32_t x185;
+ fiat_p384_uint1 x186;
+ fiat_p384_addcarryx_u32(&x185, &x186, x184, x159, x111);
+ uint32_t x187;
+ fiat_p384_uint1 x188;
+ fiat_p384_addcarryx_u32(&x187, &x188, x186, x161, x113);
+ uint32_t x189;
+ fiat_p384_uint1 x190;
+ fiat_p384_addcarryx_u32(&x189, &x190, x188, x163, x115);
+ uint32_t x191;
+ fiat_p384_uint1 x192;
+ fiat_p384_addcarryx_u32(&x191, &x192, x190, x165, x117);
+ uint32_t x193;
+ fiat_p384_uint1 x194;
+ fiat_p384_addcarryx_u32(&x193, &x194, x192, x167, x119);
+ uint32_t x195;
+ fiat_p384_uint1 x196;
+ fiat_p384_addcarryx_u32(&x195, &x196, x194, x169, x121);
+ uint32_t x197;
+ fiat_p384_uint1 x198;
+ fiat_p384_addcarryx_u32(&x197, &x198, x196, x171, x123);
+ uint32_t x199;
+ fiat_p384_uint1 x200;
+ fiat_p384_addcarryx_u32(&x199, &x200, x198, x173, (fiat_p384_uint1)x125);
+ uint32_t x201;
+ uint32_t x202;
+ fiat_p384_mulx_u32(&x201, &x202, x175, UINT32_C(0xffffffff));
+ uint32_t x203;
+ uint32_t x204;
+ fiat_p384_mulx_u32(&x203, &x204, x175, UINT32_C(0xffffffff));
+ uint32_t x205;
+ uint32_t x206;
+ fiat_p384_mulx_u32(&x205, &x206, x175, UINT32_C(0xffffffff));
+ uint32_t x207;
+ uint32_t x208;
+ fiat_p384_mulx_u32(&x207, &x208, x175, UINT32_C(0xffffffff));
+ uint32_t x209;
+ uint32_t x210;
+ fiat_p384_mulx_u32(&x209, &x210, x175, UINT32_C(0xffffffff));
+ uint32_t x211;
+ uint32_t x212;
+ fiat_p384_mulx_u32(&x211, &x212, x175, UINT32_C(0xffffffff));
+ uint32_t x213;
+ uint32_t x214;
+ fiat_p384_mulx_u32(&x213, &x214, x175, UINT32_C(0xffffffff));
+ uint32_t x215;
+ uint32_t x216;
+ fiat_p384_mulx_u32(&x215, &x216, x175, UINT32_C(0xfffffffe));
+ uint32_t x217;
+ uint32_t x218;
+ fiat_p384_mulx_u32(&x217, &x218, x175, UINT32_C(0xffffffff));
+ uint32_t x219;
+ uint32_t x220;
+ fiat_p384_mulx_u32(&x219, &x220, x175, UINT32_C(0xffffffff));
+ uint32_t x221;
+ fiat_p384_uint1 x222;
+ fiat_p384_addcarryx_u32(&x221, &x222, 0x0, x215, x218);
+ uint32_t x223;
+ fiat_p384_uint1 x224;
+ fiat_p384_addcarryx_u32(&x223, &x224, x222, x213, x216);
+ uint32_t x225;
+ fiat_p384_uint1 x226;
+ fiat_p384_addcarryx_u32(&x225, &x226, x224, x211, x214);
+ uint32_t x227;
+ fiat_p384_uint1 x228;
+ fiat_p384_addcarryx_u32(&x227, &x228, x226, x209, x212);
+ uint32_t x229;
+ fiat_p384_uint1 x230;
+ fiat_p384_addcarryx_u32(&x229, &x230, x228, x207, x210);
+ uint32_t x231;
+ fiat_p384_uint1 x232;
+ fiat_p384_addcarryx_u32(&x231, &x232, x230, x205, x208);
+ uint32_t x233;
+ fiat_p384_uint1 x234;
+ fiat_p384_addcarryx_u32(&x233, &x234, x232, x203, x206);
+ uint32_t x235;
+ fiat_p384_uint1 x236;
+ fiat_p384_addcarryx_u32(&x235, &x236, x234, x201, x204);
+ uint32_t x237;
+ fiat_p384_uint1 x238;
+ fiat_p384_addcarryx_u32(&x237, &x238, x236, 0x0, x202);
+ uint32_t x239;
+ fiat_p384_uint1 x240;
+ fiat_p384_addcarryx_u32(&x239, &x240, 0x0, x219, x175);
+ uint32_t x241;
+ fiat_p384_uint1 x242;
+ fiat_p384_addcarryx_u32(&x241, &x242, x240, x220, x177);
+ uint32_t x243;
+ fiat_p384_uint1 x244;
+ fiat_p384_addcarryx_u32(&x243, &x244, x242, 0x0, x179);
+ uint32_t x245;
+ fiat_p384_uint1 x246;
+ fiat_p384_addcarryx_u32(&x245, &x246, x244, x217, x181);
+ uint32_t x247;
+ fiat_p384_uint1 x248;
+ fiat_p384_addcarryx_u32(&x247, &x248, x246, x221, x183);
+ uint32_t x249;
+ fiat_p384_uint1 x250;
+ fiat_p384_addcarryx_u32(&x249, &x250, x248, x223, x185);
+ uint32_t x251;
+ fiat_p384_uint1 x252;
+ fiat_p384_addcarryx_u32(&x251, &x252, x250, x225, x187);
+ uint32_t x253;
+ fiat_p384_uint1 x254;
+ fiat_p384_addcarryx_u32(&x253, &x254, x252, x227, x189);
+ uint32_t x255;
+ fiat_p384_uint1 x256;
+ fiat_p384_addcarryx_u32(&x255, &x256, x254, x229, x191);
+ uint32_t x257;
+ fiat_p384_uint1 x258;
+ fiat_p384_addcarryx_u32(&x257, &x258, x256, x231, x193);
+ uint32_t x259;
+ fiat_p384_uint1 x260;
+ fiat_p384_addcarryx_u32(&x259, &x260, x258, x233, x195);
+ uint32_t x261;
+ fiat_p384_uint1 x262;
+ fiat_p384_addcarryx_u32(&x261, &x262, x260, x235, x197);
+ uint32_t x263;
+ fiat_p384_uint1 x264;
+ fiat_p384_addcarryx_u32(&x263, &x264, x262, x237, x199);
+ uint32_t x265;
+ fiat_p384_uint1 x266;
+ fiat_p384_addcarryx_u32(&x265, &x266, x264, 0x0, x200);
+ uint32_t x267;
+ uint32_t x268;
+ fiat_p384_mulx_u32(&x267, &x268, x2, (arg2[11]));
+ uint32_t x269;
+ uint32_t x270;
+ fiat_p384_mulx_u32(&x269, &x270, x2, (arg2[10]));
+ uint32_t x271;
+ uint32_t x272;
+ fiat_p384_mulx_u32(&x271, &x272, x2, (arg2[9]));
+ uint32_t x273;
+ uint32_t x274;
+ fiat_p384_mulx_u32(&x273, &x274, x2, (arg2[8]));
+ uint32_t x275;
+ uint32_t x276;
+ fiat_p384_mulx_u32(&x275, &x276, x2, (arg2[7]));
+ uint32_t x277;
+ uint32_t x278;
+ fiat_p384_mulx_u32(&x277, &x278, x2, (arg2[6]));
+ uint32_t x279;
+ uint32_t x280;
+ fiat_p384_mulx_u32(&x279, &x280, x2, (arg2[5]));
+ uint32_t x281;
+ uint32_t x282;
+ fiat_p384_mulx_u32(&x281, &x282, x2, (arg2[4]));
+ uint32_t x283;
+ uint32_t x284;
+ fiat_p384_mulx_u32(&x283, &x284, x2, (arg2[3]));
+ uint32_t x285;
+ uint32_t x286;
+ fiat_p384_mulx_u32(&x285, &x286, x2, (arg2[2]));
+ uint32_t x287;
+ uint32_t x288;
+ fiat_p384_mulx_u32(&x287, &x288, x2, (arg2[1]));
+ uint32_t x289;
+ uint32_t x290;
+ fiat_p384_mulx_u32(&x289, &x290, x2, (arg2[0]));
+ uint32_t x291;
+ fiat_p384_uint1 x292;
+ fiat_p384_addcarryx_u32(&x291, &x292, 0x0, x287, x290);
+ uint32_t x293;
+ fiat_p384_uint1 x294;
+ fiat_p384_addcarryx_u32(&x293, &x294, x292, x285, x288);
+ uint32_t x295;
+ fiat_p384_uint1 x296;
+ fiat_p384_addcarryx_u32(&x295, &x296, x294, x283, x286);
+ uint32_t x297;
+ fiat_p384_uint1 x298;
+ fiat_p384_addcarryx_u32(&x297, &x298, x296, x281, x284);
+ uint32_t x299;
+ fiat_p384_uint1 x300;
+ fiat_p384_addcarryx_u32(&x299, &x300, x298, x279, x282);
+ uint32_t x301;
+ fiat_p384_uint1 x302;
+ fiat_p384_addcarryx_u32(&x301, &x302, x300, x277, x280);
+ uint32_t x303;
+ fiat_p384_uint1 x304;
+ fiat_p384_addcarryx_u32(&x303, &x304, x302, x275, x278);
+ uint32_t x305;
+ fiat_p384_uint1 x306;
+ fiat_p384_addcarryx_u32(&x305, &x306, x304, x273, x276);
+ uint32_t x307;
+ fiat_p384_uint1 x308;
+ fiat_p384_addcarryx_u32(&x307, &x308, x306, x271, x274);
+ uint32_t x309;
+ fiat_p384_uint1 x310;
+ fiat_p384_addcarryx_u32(&x309, &x310, x308, x269, x272);
+ uint32_t x311;
+ fiat_p384_uint1 x312;
+ fiat_p384_addcarryx_u32(&x311, &x312, x310, x267, x270);
+ uint32_t x313;
+ fiat_p384_uint1 x314;
+ fiat_p384_addcarryx_u32(&x313, &x314, x312, 0x0, x268);
+ uint32_t x315;
+ fiat_p384_uint1 x316;
+ fiat_p384_addcarryx_u32(&x315, &x316, 0x0, x289, x241);
+ uint32_t x317;
+ fiat_p384_uint1 x318;
+ fiat_p384_addcarryx_u32(&x317, &x318, x316, x291, x243);
+ uint32_t x319;
+ fiat_p384_uint1 x320;
+ fiat_p384_addcarryx_u32(&x319, &x320, x318, x293, x245);
+ uint32_t x321;
+ fiat_p384_uint1 x322;
+ fiat_p384_addcarryx_u32(&x321, &x322, x320, x295, x247);
+ uint32_t x323;
+ fiat_p384_uint1 x324;
+ fiat_p384_addcarryx_u32(&x323, &x324, x322, x297, x249);
+ uint32_t x325;
+ fiat_p384_uint1 x326;
+ fiat_p384_addcarryx_u32(&x325, &x326, x324, x299, x251);
+ uint32_t x327;
+ fiat_p384_uint1 x328;
+ fiat_p384_addcarryx_u32(&x327, &x328, x326, x301, x253);
+ uint32_t x329;
+ fiat_p384_uint1 x330;
+ fiat_p384_addcarryx_u32(&x329, &x330, x328, x303, x255);
+ uint32_t x331;
+ fiat_p384_uint1 x332;
+ fiat_p384_addcarryx_u32(&x331, &x332, x330, x305, x257);
+ uint32_t x333;
+ fiat_p384_uint1 x334;
+ fiat_p384_addcarryx_u32(&x333, &x334, x332, x307, x259);
+ uint32_t x335;
+ fiat_p384_uint1 x336;
+ fiat_p384_addcarryx_u32(&x335, &x336, x334, x309, x261);
+ uint32_t x337;
+ fiat_p384_uint1 x338;
+ fiat_p384_addcarryx_u32(&x337, &x338, x336, x311, x263);
+ uint32_t x339;
+ fiat_p384_uint1 x340;
+ fiat_p384_addcarryx_u32(&x339, &x340, x338, x313, x265);
+ uint32_t x341;
+ uint32_t x342;
+ fiat_p384_mulx_u32(&x341, &x342, x315, UINT32_C(0xffffffff));
+ uint32_t x343;
+ uint32_t x344;
+ fiat_p384_mulx_u32(&x343, &x344, x315, UINT32_C(0xffffffff));
+ uint32_t x345;
+ uint32_t x346;
+ fiat_p384_mulx_u32(&x345, &x346, x315, UINT32_C(0xffffffff));
+ uint32_t x347;
+ uint32_t x348;
+ fiat_p384_mulx_u32(&x347, &x348, x315, UINT32_C(0xffffffff));
+ uint32_t x349;
+ uint32_t x350;
+ fiat_p384_mulx_u32(&x349, &x350, x315, UINT32_C(0xffffffff));
+ uint32_t x351;
+ uint32_t x352;
+ fiat_p384_mulx_u32(&x351, &x352, x315, UINT32_C(0xffffffff));
+ uint32_t x353;
+ uint32_t x354;
+ fiat_p384_mulx_u32(&x353, &x354, x315, UINT32_C(0xffffffff));
+ uint32_t x355;
+ uint32_t x356;
+ fiat_p384_mulx_u32(&x355, &x356, x315, UINT32_C(0xfffffffe));
+ uint32_t x357;
+ uint32_t x358;
+ fiat_p384_mulx_u32(&x357, &x358, x315, UINT32_C(0xffffffff));
+ uint32_t x359;
+ uint32_t x360;
+ fiat_p384_mulx_u32(&x359, &x360, x315, UINT32_C(0xffffffff));
+ uint32_t x361;
+ fiat_p384_uint1 x362;
+ fiat_p384_addcarryx_u32(&x361, &x362, 0x0, x355, x358);
+ uint32_t x363;
+ fiat_p384_uint1 x364;
+ fiat_p384_addcarryx_u32(&x363, &x364, x362, x353, x356);
+ uint32_t x365;
+ fiat_p384_uint1 x366;
+ fiat_p384_addcarryx_u32(&x365, &x366, x364, x351, x354);
+ uint32_t x367;
+ fiat_p384_uint1 x368;
+ fiat_p384_addcarryx_u32(&x367, &x368, x366, x349, x352);
+ uint32_t x369;
+ fiat_p384_uint1 x370;
+ fiat_p384_addcarryx_u32(&x369, &x370, x368, x347, x350);
+ uint32_t x371;
+ fiat_p384_uint1 x372;
+ fiat_p384_addcarryx_u32(&x371, &x372, x370, x345, x348);
+ uint32_t x373;
+ fiat_p384_uint1 x374;
+ fiat_p384_addcarryx_u32(&x373, &x374, x372, x343, x346);
+ uint32_t x375;
+ fiat_p384_uint1 x376;
+ fiat_p384_addcarryx_u32(&x375, &x376, x374, x341, x344);
+ uint32_t x377;
+ fiat_p384_uint1 x378;
+ fiat_p384_addcarryx_u32(&x377, &x378, x376, 0x0, x342);
+ uint32_t x379;
+ fiat_p384_uint1 x380;
+ fiat_p384_addcarryx_u32(&x379, &x380, 0x0, x359, x315);
+ uint32_t x381;
+ fiat_p384_uint1 x382;
+ fiat_p384_addcarryx_u32(&x381, &x382, x380, x360, x317);
+ uint32_t x383;
+ fiat_p384_uint1 x384;
+ fiat_p384_addcarryx_u32(&x383, &x384, x382, 0x0, x319);
+ uint32_t x385;
+ fiat_p384_uint1 x386;
+ fiat_p384_addcarryx_u32(&x385, &x386, x384, x357, x321);
+ uint32_t x387;
+ fiat_p384_uint1 x388;
+ fiat_p384_addcarryx_u32(&x387, &x388, x386, x361, x323);
+ uint32_t x389;
+ fiat_p384_uint1 x390;
+ fiat_p384_addcarryx_u32(&x389, &x390, x388, x363, x325);
+ uint32_t x391;
+ fiat_p384_uint1 x392;
+ fiat_p384_addcarryx_u32(&x391, &x392, x390, x365, x327);
+ uint32_t x393;
+ fiat_p384_uint1 x394;
+ fiat_p384_addcarryx_u32(&x393, &x394, x392, x367, x329);
+ uint32_t x395;
+ fiat_p384_uint1 x396;
+ fiat_p384_addcarryx_u32(&x395, &x396, x394, x369, x331);
+ uint32_t x397;
+ fiat_p384_uint1 x398;
+ fiat_p384_addcarryx_u32(&x397, &x398, x396, x371, x333);
+ uint32_t x399;
+ fiat_p384_uint1 x400;
+ fiat_p384_addcarryx_u32(&x399, &x400, x398, x373, x335);
+ uint32_t x401;
+ fiat_p384_uint1 x402;
+ fiat_p384_addcarryx_u32(&x401, &x402, x400, x375, x337);
+ uint32_t x403;
+ fiat_p384_uint1 x404;
+ fiat_p384_addcarryx_u32(&x403, &x404, x402, x377, x339);
+ uint32_t x405;
+ fiat_p384_uint1 x406;
+ fiat_p384_addcarryx_u32(&x405, &x406, x404, 0x0, x340);
+ uint32_t x407;
+ uint32_t x408;
+ fiat_p384_mulx_u32(&x407, &x408, x3, (arg2[11]));
+ uint32_t x409;
+ uint32_t x410;
+ fiat_p384_mulx_u32(&x409, &x410, x3, (arg2[10]));
+ uint32_t x411;
+ uint32_t x412;
+ fiat_p384_mulx_u32(&x411, &x412, x3, (arg2[9]));
+ uint32_t x413;
+ uint32_t x414;
+ fiat_p384_mulx_u32(&x413, &x414, x3, (arg2[8]));
+ uint32_t x415;
+ uint32_t x416;
+ fiat_p384_mulx_u32(&x415, &x416, x3, (arg2[7]));
+ uint32_t x417;
+ uint32_t x418;
+ fiat_p384_mulx_u32(&x417, &x418, x3, (arg2[6]));
+ uint32_t x419;
+ uint32_t x420;
+ fiat_p384_mulx_u32(&x419, &x420, x3, (arg2[5]));
+ uint32_t x421;
+ uint32_t x422;
+ fiat_p384_mulx_u32(&x421, &x422, x3, (arg2[4]));
+ uint32_t x423;
+ uint32_t x424;
+ fiat_p384_mulx_u32(&x423, &x424, x3, (arg2[3]));
+ uint32_t x425;
+ uint32_t x426;
+ fiat_p384_mulx_u32(&x425, &x426, x3, (arg2[2]));
+ uint32_t x427;
+ uint32_t x428;
+ fiat_p384_mulx_u32(&x427, &x428, x3, (arg2[1]));
+ uint32_t x429;
+ uint32_t x430;
+ fiat_p384_mulx_u32(&x429, &x430, x3, (arg2[0]));
+ uint32_t x431;
+ fiat_p384_uint1 x432;
+ fiat_p384_addcarryx_u32(&x431, &x432, 0x0, x427, x430);
+ uint32_t x433;
+ fiat_p384_uint1 x434;
+ fiat_p384_addcarryx_u32(&x433, &x434, x432, x425, x428);
+ uint32_t x435;
+ fiat_p384_uint1 x436;
+ fiat_p384_addcarryx_u32(&x435, &x436, x434, x423, x426);
+ uint32_t x437;
+ fiat_p384_uint1 x438;
+ fiat_p384_addcarryx_u32(&x437, &x438, x436, x421, x424);
+ uint32_t x439;
+ fiat_p384_uint1 x440;
+ fiat_p384_addcarryx_u32(&x439, &x440, x438, x419, x422);
+ uint32_t x441;
+ fiat_p384_uint1 x442;
+ fiat_p384_addcarryx_u32(&x441, &x442, x440, x417, x420);
+ uint32_t x443;
+ fiat_p384_uint1 x444;
+ fiat_p384_addcarryx_u32(&x443, &x444, x442, x415, x418);
+ uint32_t x445;
+ fiat_p384_uint1 x446;
+ fiat_p384_addcarryx_u32(&x445, &x446, x444, x413, x416);
+ uint32_t x447;
+ fiat_p384_uint1 x448;
+ fiat_p384_addcarryx_u32(&x447, &x448, x446, x411, x414);
+ uint32_t x449;
+ fiat_p384_uint1 x450;
+ fiat_p384_addcarryx_u32(&x449, &x450, x448, x409, x412);
+ uint32_t x451;
+ fiat_p384_uint1 x452;
+ fiat_p384_addcarryx_u32(&x451, &x452, x450, x407, x410);
+ uint32_t x453;
+ fiat_p384_uint1 x454;
+ fiat_p384_addcarryx_u32(&x453, &x454, x452, 0x0, x408);
+ uint32_t x455;
+ fiat_p384_uint1 x456;
+ fiat_p384_addcarryx_u32(&x455, &x456, 0x0, x429, x381);
+ uint32_t x457;
+ fiat_p384_uint1 x458;
+ fiat_p384_addcarryx_u32(&x457, &x458, x456, x431, x383);
+ uint32_t x459;
+ fiat_p384_uint1 x460;
+ fiat_p384_addcarryx_u32(&x459, &x460, x458, x433, x385);
+ uint32_t x461;
+ fiat_p384_uint1 x462;
+ fiat_p384_addcarryx_u32(&x461, &x462, x460, x435, x387);
+ uint32_t x463;
+ fiat_p384_uint1 x464;
+ fiat_p384_addcarryx_u32(&x463, &x464, x462, x437, x389);
+ uint32_t x465;
+ fiat_p384_uint1 x466;
+ fiat_p384_addcarryx_u32(&x465, &x466, x464, x439, x391);
+ uint32_t x467;
+ fiat_p384_uint1 x468;
+ fiat_p384_addcarryx_u32(&x467, &x468, x466, x441, x393);
+ uint32_t x469;
+ fiat_p384_uint1 x470;
+ fiat_p384_addcarryx_u32(&x469, &x470, x468, x443, x395);
+ uint32_t x471;
+ fiat_p384_uint1 x472;
+ fiat_p384_addcarryx_u32(&x471, &x472, x470, x445, x397);
+ uint32_t x473;
+ fiat_p384_uint1 x474;
+ fiat_p384_addcarryx_u32(&x473, &x474, x472, x447, x399);
+ uint32_t x475;
+ fiat_p384_uint1 x476;
+ fiat_p384_addcarryx_u32(&x475, &x476, x474, x449, x401);
+ uint32_t x477;
+ fiat_p384_uint1 x478;
+ fiat_p384_addcarryx_u32(&x477, &x478, x476, x451, x403);
+ uint32_t x479;
+ fiat_p384_uint1 x480;
+ fiat_p384_addcarryx_u32(&x479, &x480, x478, x453, x405);
+ uint32_t x481;
+ uint32_t x482;
+ fiat_p384_mulx_u32(&x481, &x482, x455, UINT32_C(0xffffffff));
+ uint32_t x483;
+ uint32_t x484;
+ fiat_p384_mulx_u32(&x483, &x484, x455, UINT32_C(0xffffffff));
+ uint32_t x485;
+ uint32_t x486;
+ fiat_p384_mulx_u32(&x485, &x486, x455, UINT32_C(0xffffffff));
+ uint32_t x487;
+ uint32_t x488;
+ fiat_p384_mulx_u32(&x487, &x488, x455, UINT32_C(0xffffffff));
+ uint32_t x489;
+ uint32_t x490;
+ fiat_p384_mulx_u32(&x489, &x490, x455, UINT32_C(0xffffffff));
+ uint32_t x491;
+ uint32_t x492;
+ fiat_p384_mulx_u32(&x491, &x492, x455, UINT32_C(0xffffffff));
+ uint32_t x493;
+ uint32_t x494;
+ fiat_p384_mulx_u32(&x493, &x494, x455, UINT32_C(0xffffffff));
+ uint32_t x495;
+ uint32_t x496;
+ fiat_p384_mulx_u32(&x495, &x496, x455, UINT32_C(0xfffffffe));
+ uint32_t x497;
+ uint32_t x498;
+ fiat_p384_mulx_u32(&x497, &x498, x455, UINT32_C(0xffffffff));
+ uint32_t x499;
+ uint32_t x500;
+ fiat_p384_mulx_u32(&x499, &x500, x455, UINT32_C(0xffffffff));
+ uint32_t x501;
+ fiat_p384_uint1 x502;
+ fiat_p384_addcarryx_u32(&x501, &x502, 0x0, x495, x498);
+ uint32_t x503;
+ fiat_p384_uint1 x504;
+ fiat_p384_addcarryx_u32(&x503, &x504, x502, x493, x496);
+ uint32_t x505;
+ fiat_p384_uint1 x506;
+ fiat_p384_addcarryx_u32(&x505, &x506, x504, x491, x494);
+ uint32_t x507;
+ fiat_p384_uint1 x508;
+ fiat_p384_addcarryx_u32(&x507, &x508, x506, x489, x492);
+ uint32_t x509;
+ fiat_p384_uint1 x510;
+ fiat_p384_addcarryx_u32(&x509, &x510, x508, x487, x490);
+ uint32_t x511;
+ fiat_p384_uint1 x512;
+ fiat_p384_addcarryx_u32(&x511, &x512, x510, x485, x488);
+ uint32_t x513;
+ fiat_p384_uint1 x514;
+ fiat_p384_addcarryx_u32(&x513, &x514, x512, x483, x486);
+ uint32_t x515;
+ fiat_p384_uint1 x516;
+ fiat_p384_addcarryx_u32(&x515, &x516, x514, x481, x484);
+ uint32_t x517;
+ fiat_p384_uint1 x518;
+ fiat_p384_addcarryx_u32(&x517, &x518, x516, 0x0, x482);
+ uint32_t x519;
+ fiat_p384_uint1 x520;
+ fiat_p384_addcarryx_u32(&x519, &x520, 0x0, x499, x455);
+ uint32_t x521;
+ fiat_p384_uint1 x522;
+ fiat_p384_addcarryx_u32(&x521, &x522, x520, x500, x457);
+ uint32_t x523;
+ fiat_p384_uint1 x524;
+ fiat_p384_addcarryx_u32(&x523, &x524, x522, 0x0, x459);
+ uint32_t x525;
+ fiat_p384_uint1 x526;
+ fiat_p384_addcarryx_u32(&x525, &x526, x524, x497, x461);
+ uint32_t x527;
+ fiat_p384_uint1 x528;
+ fiat_p384_addcarryx_u32(&x527, &x528, x526, x501, x463);
+ uint32_t x529;
+ fiat_p384_uint1 x530;
+ fiat_p384_addcarryx_u32(&x529, &x530, x528, x503, x465);
+ uint32_t x531;
+ fiat_p384_uint1 x532;
+ fiat_p384_addcarryx_u32(&x531, &x532, x530, x505, x467);
+ uint32_t x533;
+ fiat_p384_uint1 x534;
+ fiat_p384_addcarryx_u32(&x533, &x534, x532, x507, x469);
+ uint32_t x535;
+ fiat_p384_uint1 x536;
+ fiat_p384_addcarryx_u32(&x535, &x536, x534, x509, x471);
+ uint32_t x537;
+ fiat_p384_uint1 x538;
+ fiat_p384_addcarryx_u32(&x537, &x538, x536, x511, x473);
+ uint32_t x539;
+ fiat_p384_uint1 x540;
+ fiat_p384_addcarryx_u32(&x539, &x540, x538, x513, x475);
+ uint32_t x541;
+ fiat_p384_uint1 x542;
+ fiat_p384_addcarryx_u32(&x541, &x542, x540, x515, x477);
+ uint32_t x543;
+ fiat_p384_uint1 x544;
+ fiat_p384_addcarryx_u32(&x543, &x544, x542, x517, x479);
+ uint32_t x545;
+ fiat_p384_uint1 x546;
+ fiat_p384_addcarryx_u32(&x545, &x546, x544, 0x0, x480);
+ uint32_t x547;
+ uint32_t x548;
+ fiat_p384_mulx_u32(&x547, &x548, x4, (arg2[11]));
+ uint32_t x549;
+ uint32_t x550;
+ fiat_p384_mulx_u32(&x549, &x550, x4, (arg2[10]));
+ uint32_t x551;
+ uint32_t x552;
+ fiat_p384_mulx_u32(&x551, &x552, x4, (arg2[9]));
+ uint32_t x553;
+ uint32_t x554;
+ fiat_p384_mulx_u32(&x553, &x554, x4, (arg2[8]));
+ uint32_t x555;
+ uint32_t x556;
+ fiat_p384_mulx_u32(&x555, &x556, x4, (arg2[7]));
+ uint32_t x557;
+ uint32_t x558;
+ fiat_p384_mulx_u32(&x557, &x558, x4, (arg2[6]));
+ uint32_t x559;
+ uint32_t x560;
+ fiat_p384_mulx_u32(&x559, &x560, x4, (arg2[5]));
+ uint32_t x561;
+ uint32_t x562;
+ fiat_p384_mulx_u32(&x561, &x562, x4, (arg2[4]));
+ uint32_t x563;
+ uint32_t x564;
+ fiat_p384_mulx_u32(&x563, &x564, x4, (arg2[3]));
+ uint32_t x565;
+ uint32_t x566;
+ fiat_p384_mulx_u32(&x565, &x566, x4, (arg2[2]));
+ uint32_t x567;
+ uint32_t x568;
+ fiat_p384_mulx_u32(&x567, &x568, x4, (arg2[1]));
+ uint32_t x569;
+ uint32_t x570;
+ fiat_p384_mulx_u32(&x569, &x570, x4, (arg2[0]));
+ uint32_t x571;
+ fiat_p384_uint1 x572;
+ fiat_p384_addcarryx_u32(&x571, &x572, 0x0, x567, x570);
+ uint32_t x573;
+ fiat_p384_uint1 x574;
+ fiat_p384_addcarryx_u32(&x573, &x574, x572, x565, x568);
+ uint32_t x575;
+ fiat_p384_uint1 x576;
+ fiat_p384_addcarryx_u32(&x575, &x576, x574, x563, x566);
+ uint32_t x577;
+ fiat_p384_uint1 x578;
+ fiat_p384_addcarryx_u32(&x577, &x578, x576, x561, x564);
+ uint32_t x579;
+ fiat_p384_uint1 x580;
+ fiat_p384_addcarryx_u32(&x579, &x580, x578, x559, x562);
+ uint32_t x581;
+ fiat_p384_uint1 x582;
+ fiat_p384_addcarryx_u32(&x581, &x582, x580, x557, x560);
+ uint32_t x583;
+ fiat_p384_uint1 x584;
+ fiat_p384_addcarryx_u32(&x583, &x584, x582, x555, x558);
+ uint32_t x585;
+ fiat_p384_uint1 x586;
+ fiat_p384_addcarryx_u32(&x585, &x586, x584, x553, x556);
+ uint32_t x587;
+ fiat_p384_uint1 x588;
+ fiat_p384_addcarryx_u32(&x587, &x588, x586, x551, x554);
+ uint32_t x589;
+ fiat_p384_uint1 x590;
+ fiat_p384_addcarryx_u32(&x589, &x590, x588, x549, x552);
+ uint32_t x591;
+ fiat_p384_uint1 x592;
+ fiat_p384_addcarryx_u32(&x591, &x592, x590, x547, x550);
+ uint32_t x593;
+ fiat_p384_uint1 x594;
+ fiat_p384_addcarryx_u32(&x593, &x594, x592, 0x0, x548);
+ uint32_t x595;
+ fiat_p384_uint1 x596;
+ fiat_p384_addcarryx_u32(&x595, &x596, 0x0, x569, x521);
+ uint32_t x597;
+ fiat_p384_uint1 x598;
+ fiat_p384_addcarryx_u32(&x597, &x598, x596, x571, x523);
+ uint32_t x599;
+ fiat_p384_uint1 x600;
+ fiat_p384_addcarryx_u32(&x599, &x600, x598, x573, x525);
+ uint32_t x601;
+ fiat_p384_uint1 x602;
+ fiat_p384_addcarryx_u32(&x601, &x602, x600, x575, x527);
+ uint32_t x603;
+ fiat_p384_uint1 x604;
+ fiat_p384_addcarryx_u32(&x603, &x604, x602, x577, x529);
+ uint32_t x605;
+ fiat_p384_uint1 x606;
+ fiat_p384_addcarryx_u32(&x605, &x606, x604, x579, x531);
+ uint32_t x607;
+ fiat_p384_uint1 x608;
+ fiat_p384_addcarryx_u32(&x607, &x608, x606, x581, x533);
+ uint32_t x609;
+ fiat_p384_uint1 x610;
+ fiat_p384_addcarryx_u32(&x609, &x610, x608, x583, x535);
+ uint32_t x611;
+ fiat_p384_uint1 x612;
+ fiat_p384_addcarryx_u32(&x611, &x612, x610, x585, x537);
+ uint32_t x613;
+ fiat_p384_uint1 x614;
+ fiat_p384_addcarryx_u32(&x613, &x614, x612, x587, x539);
+ uint32_t x615;
+ fiat_p384_uint1 x616;
+ fiat_p384_addcarryx_u32(&x615, &x616, x614, x589, x541);
+ uint32_t x617;
+ fiat_p384_uint1 x618;
+ fiat_p384_addcarryx_u32(&x617, &x618, x616, x591, x543);
+ uint32_t x619;
+ fiat_p384_uint1 x620;
+ fiat_p384_addcarryx_u32(&x619, &x620, x618, x593, x545);
+ uint32_t x621;
+ uint32_t x622;
+ fiat_p384_mulx_u32(&x621, &x622, x595, UINT32_C(0xffffffff));
+ uint32_t x623;
+ uint32_t x624;
+ fiat_p384_mulx_u32(&x623, &x624, x595, UINT32_C(0xffffffff));
+ uint32_t x625;
+ uint32_t x626;
+ fiat_p384_mulx_u32(&x625, &x626, x595, UINT32_C(0xffffffff));
+ uint32_t x627;
+ uint32_t x628;
+ fiat_p384_mulx_u32(&x627, &x628, x595, UINT32_C(0xffffffff));
+ uint32_t x629;
+ uint32_t x630;
+ fiat_p384_mulx_u32(&x629, &x630, x595, UINT32_C(0xffffffff));
+ uint32_t x631;
+ uint32_t x632;
+ fiat_p384_mulx_u32(&x631, &x632, x595, UINT32_C(0xffffffff));
+ uint32_t x633;
+ uint32_t x634;
+ fiat_p384_mulx_u32(&x633, &x634, x595, UINT32_C(0xffffffff));
+ uint32_t x635;
+ uint32_t x636;
+ fiat_p384_mulx_u32(&x635, &x636, x595, UINT32_C(0xfffffffe));
+ uint32_t x637;
+ uint32_t x638;
+ fiat_p384_mulx_u32(&x637, &x638, x595, UINT32_C(0xffffffff));
+ uint32_t x639;
+ uint32_t x640;
+ fiat_p384_mulx_u32(&x639, &x640, x595, UINT32_C(0xffffffff));
+ uint32_t x641;
+ fiat_p384_uint1 x642;
+ fiat_p384_addcarryx_u32(&x641, &x642, 0x0, x635, x638);
+ uint32_t x643;
+ fiat_p384_uint1 x644;
+ fiat_p384_addcarryx_u32(&x643, &x644, x642, x633, x636);
+ uint32_t x645;
+ fiat_p384_uint1 x646;
+ fiat_p384_addcarryx_u32(&x645, &x646, x644, x631, x634);
+ uint32_t x647;
+ fiat_p384_uint1 x648;
+ fiat_p384_addcarryx_u32(&x647, &x648, x646, x629, x632);
+ uint32_t x649;
+ fiat_p384_uint1 x650;
+ fiat_p384_addcarryx_u32(&x649, &x650, x648, x627, x630);
+ uint32_t x651;
+ fiat_p384_uint1 x652;
+ fiat_p384_addcarryx_u32(&x651, &x652, x650, x625, x628);
+ uint32_t x653;
+ fiat_p384_uint1 x654;
+ fiat_p384_addcarryx_u32(&x653, &x654, x652, x623, x626);
+ uint32_t x655;
+ fiat_p384_uint1 x656;
+ fiat_p384_addcarryx_u32(&x655, &x656, x654, x621, x624);
+ uint32_t x657;
+ fiat_p384_uint1 x658;
+ fiat_p384_addcarryx_u32(&x657, &x658, x656, 0x0, x622);
+ uint32_t x659;
+ fiat_p384_uint1 x660;
+ fiat_p384_addcarryx_u32(&x659, &x660, 0x0, x639, x595);
+ uint32_t x661;
+ fiat_p384_uint1 x662;
+ fiat_p384_addcarryx_u32(&x661, &x662, x660, x640, x597);
+ uint32_t x663;
+ fiat_p384_uint1 x664;
+ fiat_p384_addcarryx_u32(&x663, &x664, x662, 0x0, x599);
+ uint32_t x665;
+ fiat_p384_uint1 x666;
+ fiat_p384_addcarryx_u32(&x665, &x666, x664, x637, x601);
+ uint32_t x667;
+ fiat_p384_uint1 x668;
+ fiat_p384_addcarryx_u32(&x667, &x668, x666, x641, x603);
+ uint32_t x669;
+ fiat_p384_uint1 x670;
+ fiat_p384_addcarryx_u32(&x669, &x670, x668, x643, x605);
+ uint32_t x671;
+ fiat_p384_uint1 x672;
+ fiat_p384_addcarryx_u32(&x671, &x672, x670, x645, x607);
+ uint32_t x673;
+ fiat_p384_uint1 x674;
+ fiat_p384_addcarryx_u32(&x673, &x674, x672, x647, x609);
+ uint32_t x675;
+ fiat_p384_uint1 x676;
+ fiat_p384_addcarryx_u32(&x675, &x676, x674, x649, x611);
+ uint32_t x677;
+ fiat_p384_uint1 x678;
+ fiat_p384_addcarryx_u32(&x677, &x678, x676, x651, x613);
+ uint32_t x679;
+ fiat_p384_uint1 x680;
+ fiat_p384_addcarryx_u32(&x679, &x680, x678, x653, x615);
+ uint32_t x681;
+ fiat_p384_uint1 x682;
+ fiat_p384_addcarryx_u32(&x681, &x682, x680, x655, x617);
+ uint32_t x683;
+ fiat_p384_uint1 x684;
+ fiat_p384_addcarryx_u32(&x683, &x684, x682, x657, x619);
+ uint32_t x685;
+ fiat_p384_uint1 x686;
+ fiat_p384_addcarryx_u32(&x685, &x686, x684, 0x0, x620);
+ uint32_t x687;
+ uint32_t x688;
+ fiat_p384_mulx_u32(&x687, &x688, x5, (arg2[11]));
+ uint32_t x689;
+ uint32_t x690;
+ fiat_p384_mulx_u32(&x689, &x690, x5, (arg2[10]));
+ uint32_t x691;
+ uint32_t x692;
+ fiat_p384_mulx_u32(&x691, &x692, x5, (arg2[9]));
+ uint32_t x693;
+ uint32_t x694;
+ fiat_p384_mulx_u32(&x693, &x694, x5, (arg2[8]));
+ uint32_t x695;
+ uint32_t x696;
+ fiat_p384_mulx_u32(&x695, &x696, x5, (arg2[7]));
+ uint32_t x697;
+ uint32_t x698;
+ fiat_p384_mulx_u32(&x697, &x698, x5, (arg2[6]));
+ uint32_t x699;
+ uint32_t x700;
+ fiat_p384_mulx_u32(&x699, &x700, x5, (arg2[5]));
+ uint32_t x701;
+ uint32_t x702;
+ fiat_p384_mulx_u32(&x701, &x702, x5, (arg2[4]));
+ uint32_t x703;
+ uint32_t x704;
+ fiat_p384_mulx_u32(&x703, &x704, x5, (arg2[3]));
+ uint32_t x705;
+ uint32_t x706;
+ fiat_p384_mulx_u32(&x705, &x706, x5, (arg2[2]));
+ uint32_t x707;
+ uint32_t x708;
+ fiat_p384_mulx_u32(&x707, &x708, x5, (arg2[1]));
+ uint32_t x709;
+ uint32_t x710;
+ fiat_p384_mulx_u32(&x709, &x710, x5, (arg2[0]));
+ uint32_t x711;
+ fiat_p384_uint1 x712;
+ fiat_p384_addcarryx_u32(&x711, &x712, 0x0, x707, x710);
+ uint32_t x713;
+ fiat_p384_uint1 x714;
+ fiat_p384_addcarryx_u32(&x713, &x714, x712, x705, x708);
+ uint32_t x715;
+ fiat_p384_uint1 x716;
+ fiat_p384_addcarryx_u32(&x715, &x716, x714, x703, x706);
+ uint32_t x717;
+ fiat_p384_uint1 x718;
+ fiat_p384_addcarryx_u32(&x717, &x718, x716, x701, x704);
+ uint32_t x719;
+ fiat_p384_uint1 x720;
+ fiat_p384_addcarryx_u32(&x719, &x720, x718, x699, x702);
+ uint32_t x721;
+ fiat_p384_uint1 x722;
+ fiat_p384_addcarryx_u32(&x721, &x722, x720, x697, x700);
+ uint32_t x723;
+ fiat_p384_uint1 x724;
+ fiat_p384_addcarryx_u32(&x723, &x724, x722, x695, x698);
+ uint32_t x725;
+ fiat_p384_uint1 x726;
+ fiat_p384_addcarryx_u32(&x725, &x726, x724, x693, x696);
+ uint32_t x727;
+ fiat_p384_uint1 x728;
+ fiat_p384_addcarryx_u32(&x727, &x728, x726, x691, x694);
+ uint32_t x729;
+ fiat_p384_uint1 x730;
+ fiat_p384_addcarryx_u32(&x729, &x730, x728, x689, x692);
+ uint32_t x731;
+ fiat_p384_uint1 x732;
+ fiat_p384_addcarryx_u32(&x731, &x732, x730, x687, x690);
+ uint32_t x733;
+ fiat_p384_uint1 x734;
+ fiat_p384_addcarryx_u32(&x733, &x734, x732, 0x0, x688);
+ uint32_t x735;
+ fiat_p384_uint1 x736;
+ fiat_p384_addcarryx_u32(&x735, &x736, 0x0, x709, x661);
+ uint32_t x737;
+ fiat_p384_uint1 x738;
+ fiat_p384_addcarryx_u32(&x737, &x738, x736, x711, x663);
+ uint32_t x739;
+ fiat_p384_uint1 x740;
+ fiat_p384_addcarryx_u32(&x739, &x740, x738, x713, x665);
+ uint32_t x741;
+ fiat_p384_uint1 x742;
+ fiat_p384_addcarryx_u32(&x741, &x742, x740, x715, x667);
+ uint32_t x743;
+ fiat_p384_uint1 x744;
+ fiat_p384_addcarryx_u32(&x743, &x744, x742, x717, x669);
+ uint32_t x745;
+ fiat_p384_uint1 x746;
+ fiat_p384_addcarryx_u32(&x745, &x746, x744, x719, x671);
+ uint32_t x747;
+ fiat_p384_uint1 x748;
+ fiat_p384_addcarryx_u32(&x747, &x748, x746, x721, x673);
+ uint32_t x749;
+ fiat_p384_uint1 x750;
+ fiat_p384_addcarryx_u32(&x749, &x750, x748, x723, x675);
+ uint32_t x751;
+ fiat_p384_uint1 x752;
+ fiat_p384_addcarryx_u32(&x751, &x752, x750, x725, x677);
+ uint32_t x753;
+ fiat_p384_uint1 x754;
+ fiat_p384_addcarryx_u32(&x753, &x754, x752, x727, x679);
+ uint32_t x755;
+ fiat_p384_uint1 x756;
+ fiat_p384_addcarryx_u32(&x755, &x756, x754, x729, x681);
+ uint32_t x757;
+ fiat_p384_uint1 x758;
+ fiat_p384_addcarryx_u32(&x757, &x758, x756, x731, x683);
+ uint32_t x759;
+ fiat_p384_uint1 x760;
+ fiat_p384_addcarryx_u32(&x759, &x760, x758, x733, x685);
+ uint32_t x761;
+ uint32_t x762;
+ fiat_p384_mulx_u32(&x761, &x762, x735, UINT32_C(0xffffffff));
+ uint32_t x763;
+ uint32_t x764;
+ fiat_p384_mulx_u32(&x763, &x764, x735, UINT32_C(0xffffffff));
+ uint32_t x765;
+ uint32_t x766;
+ fiat_p384_mulx_u32(&x765, &x766, x735, UINT32_C(0xffffffff));
+ uint32_t x767;
+ uint32_t x768;
+ fiat_p384_mulx_u32(&x767, &x768, x735, UINT32_C(0xffffffff));
+ uint32_t x769;
+ uint32_t x770;
+ fiat_p384_mulx_u32(&x769, &x770, x735, UINT32_C(0xffffffff));
+ uint32_t x771;
+ uint32_t x772;
+ fiat_p384_mulx_u32(&x771, &x772, x735, UINT32_C(0xffffffff));
+ uint32_t x773;
+ uint32_t x774;
+ fiat_p384_mulx_u32(&x773, &x774, x735, UINT32_C(0xffffffff));
+ uint32_t x775;
+ uint32_t x776;
+ fiat_p384_mulx_u32(&x775, &x776, x735, UINT32_C(0xfffffffe));
+ uint32_t x777;
+ uint32_t x778;
+ fiat_p384_mulx_u32(&x777, &x778, x735, UINT32_C(0xffffffff));
+ uint32_t x779;
+ uint32_t x780;
+ fiat_p384_mulx_u32(&x779, &x780, x735, UINT32_C(0xffffffff));
+ uint32_t x781;
+ fiat_p384_uint1 x782;
+ fiat_p384_addcarryx_u32(&x781, &x782, 0x0, x775, x778);
+ uint32_t x783;
+ fiat_p384_uint1 x784;
+ fiat_p384_addcarryx_u32(&x783, &x784, x782, x773, x776);
+ uint32_t x785;
+ fiat_p384_uint1 x786;
+ fiat_p384_addcarryx_u32(&x785, &x786, x784, x771, x774);
+ uint32_t x787;
+ fiat_p384_uint1 x788;
+ fiat_p384_addcarryx_u32(&x787, &x788, x786, x769, x772);
+ uint32_t x789;
+ fiat_p384_uint1 x790;
+ fiat_p384_addcarryx_u32(&x789, &x790, x788, x767, x770);
+ uint32_t x791;
+ fiat_p384_uint1 x792;
+ fiat_p384_addcarryx_u32(&x791, &x792, x790, x765, x768);
+ uint32_t x793;
+ fiat_p384_uint1 x794;
+ fiat_p384_addcarryx_u32(&x793, &x794, x792, x763, x766);
+ uint32_t x795;
+ fiat_p384_uint1 x796;
+ fiat_p384_addcarryx_u32(&x795, &x796, x794, x761, x764);
+ uint32_t x797;
+ fiat_p384_uint1 x798;
+ fiat_p384_addcarryx_u32(&x797, &x798, x796, 0x0, x762);
+ uint32_t x799;
+ fiat_p384_uint1 x800;
+ fiat_p384_addcarryx_u32(&x799, &x800, 0x0, x779, x735);
+ uint32_t x801;
+ fiat_p384_uint1 x802;
+ fiat_p384_addcarryx_u32(&x801, &x802, x800, x780, x737);
+ uint32_t x803;
+ fiat_p384_uint1 x804;
+ fiat_p384_addcarryx_u32(&x803, &x804, x802, 0x0, x739);
+ uint32_t x805;
+ fiat_p384_uint1 x806;
+ fiat_p384_addcarryx_u32(&x805, &x806, x804, x777, x741);
+ uint32_t x807;
+ fiat_p384_uint1 x808;
+ fiat_p384_addcarryx_u32(&x807, &x808, x806, x781, x743);
+ uint32_t x809;
+ fiat_p384_uint1 x810;
+ fiat_p384_addcarryx_u32(&x809, &x810, x808, x783, x745);
+ uint32_t x811;
+ fiat_p384_uint1 x812;
+ fiat_p384_addcarryx_u32(&x811, &x812, x810, x785, x747);
+ uint32_t x813;
+ fiat_p384_uint1 x814;
+ fiat_p384_addcarryx_u32(&x813, &x814, x812, x787, x749);
+ uint32_t x815;
+ fiat_p384_uint1 x816;
+ fiat_p384_addcarryx_u32(&x815, &x816, x814, x789, x751);
+ uint32_t x817;
+ fiat_p384_uint1 x818;
+ fiat_p384_addcarryx_u32(&x817, &x818, x816, x791, x753);
+ uint32_t x819;
+ fiat_p384_uint1 x820;
+ fiat_p384_addcarryx_u32(&x819, &x820, x818, x793, x755);
+ uint32_t x821;
+ fiat_p384_uint1 x822;
+ fiat_p384_addcarryx_u32(&x821, &x822, x820, x795, x757);
+ uint32_t x823;
+ fiat_p384_uint1 x824;
+ fiat_p384_addcarryx_u32(&x823, &x824, x822, x797, x759);
+ uint32_t x825;
+ fiat_p384_uint1 x826;
+ fiat_p384_addcarryx_u32(&x825, &x826, x824, 0x0, x760);
+ uint32_t x827;
+ uint32_t x828;
+ fiat_p384_mulx_u32(&x827, &x828, x6, (arg2[11]));
+ uint32_t x829;
+ uint32_t x830;
+ fiat_p384_mulx_u32(&x829, &x830, x6, (arg2[10]));
+ uint32_t x831;
+ uint32_t x832;
+ fiat_p384_mulx_u32(&x831, &x832, x6, (arg2[9]));
+ uint32_t x833;
+ uint32_t x834;
+ fiat_p384_mulx_u32(&x833, &x834, x6, (arg2[8]));
+ uint32_t x835;
+ uint32_t x836;
+ fiat_p384_mulx_u32(&x835, &x836, x6, (arg2[7]));
+ uint32_t x837;
+ uint32_t x838;
+ fiat_p384_mulx_u32(&x837, &x838, x6, (arg2[6]));
+ uint32_t x839;
+ uint32_t x840;
+ fiat_p384_mulx_u32(&x839, &x840, x6, (arg2[5]));
+ uint32_t x841;
+ uint32_t x842;
+ fiat_p384_mulx_u32(&x841, &x842, x6, (arg2[4]));
+ uint32_t x843;
+ uint32_t x844;
+ fiat_p384_mulx_u32(&x843, &x844, x6, (arg2[3]));
+ uint32_t x845;
+ uint32_t x846;
+ fiat_p384_mulx_u32(&x845, &x846, x6, (arg2[2]));
+ uint32_t x847;
+ uint32_t x848;
+ fiat_p384_mulx_u32(&x847, &x848, x6, (arg2[1]));
+ uint32_t x849;
+ uint32_t x850;
+ fiat_p384_mulx_u32(&x849, &x850, x6, (arg2[0]));
+ uint32_t x851;
+ fiat_p384_uint1 x852;
+ fiat_p384_addcarryx_u32(&x851, &x852, 0x0, x847, x850);
+ uint32_t x853;
+ fiat_p384_uint1 x854;
+ fiat_p384_addcarryx_u32(&x853, &x854, x852, x845, x848);
+ uint32_t x855;
+ fiat_p384_uint1 x856;
+ fiat_p384_addcarryx_u32(&x855, &x856, x854, x843, x846);
+ uint32_t x857;
+ fiat_p384_uint1 x858;
+ fiat_p384_addcarryx_u32(&x857, &x858, x856, x841, x844);
+ uint32_t x859;
+ fiat_p384_uint1 x860;
+ fiat_p384_addcarryx_u32(&x859, &x860, x858, x839, x842);
+ uint32_t x861;
+ fiat_p384_uint1 x862;
+ fiat_p384_addcarryx_u32(&x861, &x862, x860, x837, x840);
+ uint32_t x863;
+ fiat_p384_uint1 x864;
+ fiat_p384_addcarryx_u32(&x863, &x864, x862, x835, x838);
+ uint32_t x865;
+ fiat_p384_uint1 x866;
+ fiat_p384_addcarryx_u32(&x865, &x866, x864, x833, x836);
+ uint32_t x867;
+ fiat_p384_uint1 x868;
+ fiat_p384_addcarryx_u32(&x867, &x868, x866, x831, x834);
+ uint32_t x869;
+ fiat_p384_uint1 x870;
+ fiat_p384_addcarryx_u32(&x869, &x870, x868, x829, x832);
+ uint32_t x871;
+ fiat_p384_uint1 x872;
+ fiat_p384_addcarryx_u32(&x871, &x872, x870, x827, x830);
+ uint32_t x873;
+ fiat_p384_uint1 x874;
+ fiat_p384_addcarryx_u32(&x873, &x874, x872, 0x0, x828);
+ uint32_t x875;
+ fiat_p384_uint1 x876;
+ fiat_p384_addcarryx_u32(&x875, &x876, 0x0, x849, x801);
+ uint32_t x877;
+ fiat_p384_uint1 x878;
+ fiat_p384_addcarryx_u32(&x877, &x878, x876, x851, x803);
+ uint32_t x879;
+ fiat_p384_uint1 x880;
+ fiat_p384_addcarryx_u32(&x879, &x880, x878, x853, x805);
+ uint32_t x881;
+ fiat_p384_uint1 x882;
+ fiat_p384_addcarryx_u32(&x881, &x882, x880, x855, x807);
+ uint32_t x883;
+ fiat_p384_uint1 x884;
+ fiat_p384_addcarryx_u32(&x883, &x884, x882, x857, x809);
+ uint32_t x885;
+ fiat_p384_uint1 x886;
+ fiat_p384_addcarryx_u32(&x885, &x886, x884, x859, x811);
+ uint32_t x887;
+ fiat_p384_uint1 x888;
+ fiat_p384_addcarryx_u32(&x887, &x888, x886, x861, x813);
+ uint32_t x889;
+ fiat_p384_uint1 x890;
+ fiat_p384_addcarryx_u32(&x889, &x890, x888, x863, x815);
+ uint32_t x891;
+ fiat_p384_uint1 x892;
+ fiat_p384_addcarryx_u32(&x891, &x892, x890, x865, x817);
+ uint32_t x893;
+ fiat_p384_uint1 x894;
+ fiat_p384_addcarryx_u32(&x893, &x894, x892, x867, x819);
+ uint32_t x895;
+ fiat_p384_uint1 x896;
+ fiat_p384_addcarryx_u32(&x895, &x896, x894, x869, x821);
+ uint32_t x897;
+ fiat_p384_uint1 x898;
+ fiat_p384_addcarryx_u32(&x897, &x898, x896, x871, x823);
+ uint32_t x899;
+ fiat_p384_uint1 x900;
+ fiat_p384_addcarryx_u32(&x899, &x900, x898, x873, x825);
+ uint32_t x901;
+ uint32_t x902;
+ fiat_p384_mulx_u32(&x901, &x902, x875, UINT32_C(0xffffffff));
+ uint32_t x903;
+ uint32_t x904;
+ fiat_p384_mulx_u32(&x903, &x904, x875, UINT32_C(0xffffffff));
+ uint32_t x905;
+ uint32_t x906;
+ fiat_p384_mulx_u32(&x905, &x906, x875, UINT32_C(0xffffffff));
+ uint32_t x907;
+ uint32_t x908;
+ fiat_p384_mulx_u32(&x907, &x908, x875, UINT32_C(0xffffffff));
+ uint32_t x909;
+ uint32_t x910;
+ fiat_p384_mulx_u32(&x909, &x910, x875, UINT32_C(0xffffffff));
+ uint32_t x911;
+ uint32_t x912;
+ fiat_p384_mulx_u32(&x911, &x912, x875, UINT32_C(0xffffffff));
+ uint32_t x913;
+ uint32_t x914;
+ fiat_p384_mulx_u32(&x913, &x914, x875, UINT32_C(0xffffffff));
+ uint32_t x915;
+ uint32_t x916;
+ fiat_p384_mulx_u32(&x915, &x916, x875, UINT32_C(0xfffffffe));
+ uint32_t x917;
+ uint32_t x918;
+ fiat_p384_mulx_u32(&x917, &x918, x875, UINT32_C(0xffffffff));
+ uint32_t x919;
+ uint32_t x920;
+ fiat_p384_mulx_u32(&x919, &x920, x875, UINT32_C(0xffffffff));
+ uint32_t x921;
+ fiat_p384_uint1 x922;
+ fiat_p384_addcarryx_u32(&x921, &x922, 0x0, x915, x918);
+ uint32_t x923;
+ fiat_p384_uint1 x924;
+ fiat_p384_addcarryx_u32(&x923, &x924, x922, x913, x916);
+ uint32_t x925;
+ fiat_p384_uint1 x926;
+ fiat_p384_addcarryx_u32(&x925, &x926, x924, x911, x914);
+ uint32_t x927;
+ fiat_p384_uint1 x928;
+ fiat_p384_addcarryx_u32(&x927, &x928, x926, x909, x912);
+ uint32_t x929;
+ fiat_p384_uint1 x930;
+ fiat_p384_addcarryx_u32(&x929, &x930, x928, x907, x910);
+ uint32_t x931;
+ fiat_p384_uint1 x932;
+ fiat_p384_addcarryx_u32(&x931, &x932, x930, x905, x908);
+ uint32_t x933;
+ fiat_p384_uint1 x934;
+ fiat_p384_addcarryx_u32(&x933, &x934, x932, x903, x906);
+ uint32_t x935;
+ fiat_p384_uint1 x936;
+ fiat_p384_addcarryx_u32(&x935, &x936, x934, x901, x904);
+ uint32_t x937;
+ fiat_p384_uint1 x938;
+ fiat_p384_addcarryx_u32(&x937, &x938, x936, 0x0, x902);
+ uint32_t x939;
+ fiat_p384_uint1 x940;
+ fiat_p384_addcarryx_u32(&x939, &x940, 0x0, x919, x875);
+ uint32_t x941;
+ fiat_p384_uint1 x942;
+ fiat_p384_addcarryx_u32(&x941, &x942, x940, x920, x877);
+ uint32_t x943;
+ fiat_p384_uint1 x944;
+ fiat_p384_addcarryx_u32(&x943, &x944, x942, 0x0, x879);
+ uint32_t x945;
+ fiat_p384_uint1 x946;
+ fiat_p384_addcarryx_u32(&x945, &x946, x944, x917, x881);
+ uint32_t x947;
+ fiat_p384_uint1 x948;
+ fiat_p384_addcarryx_u32(&x947, &x948, x946, x921, x883);
+ uint32_t x949;
+ fiat_p384_uint1 x950;
+ fiat_p384_addcarryx_u32(&x949, &x950, x948, x923, x885);
+ uint32_t x951;
+ fiat_p384_uint1 x952;
+ fiat_p384_addcarryx_u32(&x951, &x952, x950, x925, x887);
+ uint32_t x953;
+ fiat_p384_uint1 x954;
+ fiat_p384_addcarryx_u32(&x953, &x954, x952, x927, x889);
+ uint32_t x955;
+ fiat_p384_uint1 x956;
+ fiat_p384_addcarryx_u32(&x955, &x956, x954, x929, x891);
+ uint32_t x957;
+ fiat_p384_uint1 x958;
+ fiat_p384_addcarryx_u32(&x957, &x958, x956, x931, x893);
+ uint32_t x959;
+ fiat_p384_uint1 x960;
+ fiat_p384_addcarryx_u32(&x959, &x960, x958, x933, x895);
+ uint32_t x961;
+ fiat_p384_uint1 x962;
+ fiat_p384_addcarryx_u32(&x961, &x962, x960, x935, x897);
+ uint32_t x963;
+ fiat_p384_uint1 x964;
+ fiat_p384_addcarryx_u32(&x963, &x964, x962, x937, x899);
+ uint32_t x965;
+ fiat_p384_uint1 x966;
+ fiat_p384_addcarryx_u32(&x965, &x966, x964, 0x0, x900);
+ uint32_t x967;
+ uint32_t x968;
+ fiat_p384_mulx_u32(&x967, &x968, x7, (arg2[11]));
+ uint32_t x969;
+ uint32_t x970;
+ fiat_p384_mulx_u32(&x969, &x970, x7, (arg2[10]));
+ uint32_t x971;
+ uint32_t x972;
+ fiat_p384_mulx_u32(&x971, &x972, x7, (arg2[9]));
+ uint32_t x973;
+ uint32_t x974;
+ fiat_p384_mulx_u32(&x973, &x974, x7, (arg2[8]));
+ uint32_t x975;
+ uint32_t x976;
+ fiat_p384_mulx_u32(&x975, &x976, x7, (arg2[7]));
+ uint32_t x977;
+ uint32_t x978;
+ fiat_p384_mulx_u32(&x977, &x978, x7, (arg2[6]));
+ uint32_t x979;
+ uint32_t x980;
+ fiat_p384_mulx_u32(&x979, &x980, x7, (arg2[5]));
+ uint32_t x981;
+ uint32_t x982;
+ fiat_p384_mulx_u32(&x981, &x982, x7, (arg2[4]));
+ uint32_t x983;
+ uint32_t x984;
+ fiat_p384_mulx_u32(&x983, &x984, x7, (arg2[3]));
+ uint32_t x985;
+ uint32_t x986;
+ fiat_p384_mulx_u32(&x985, &x986, x7, (arg2[2]));
+ uint32_t x987;
+ uint32_t x988;
+ fiat_p384_mulx_u32(&x987, &x988, x7, (arg2[1]));
+ uint32_t x989;
+ uint32_t x990;
+ fiat_p384_mulx_u32(&x989, &x990, x7, (arg2[0]));
+ uint32_t x991;
+ fiat_p384_uint1 x992;
+ fiat_p384_addcarryx_u32(&x991, &x992, 0x0, x987, x990);
+ uint32_t x993;
+ fiat_p384_uint1 x994;
+ fiat_p384_addcarryx_u32(&x993, &x994, x992, x985, x988);
+ uint32_t x995;
+ fiat_p384_uint1 x996;
+ fiat_p384_addcarryx_u32(&x995, &x996, x994, x983, x986);
+ uint32_t x997;
+ fiat_p384_uint1 x998;
+ fiat_p384_addcarryx_u32(&x997, &x998, x996, x981, x984);
+ uint32_t x999;
+ fiat_p384_uint1 x1000;
+ fiat_p384_addcarryx_u32(&x999, &x1000, x998, x979, x982);
+ uint32_t x1001;
+ fiat_p384_uint1 x1002;
+ fiat_p384_addcarryx_u32(&x1001, &x1002, x1000, x977, x980);
+ uint32_t x1003;
+ fiat_p384_uint1 x1004;
+ fiat_p384_addcarryx_u32(&x1003, &x1004, x1002, x975, x978);
+ uint32_t x1005;
+ fiat_p384_uint1 x1006;
+ fiat_p384_addcarryx_u32(&x1005, &x1006, x1004, x973, x976);
+ uint32_t x1007;
+ fiat_p384_uint1 x1008;
+ fiat_p384_addcarryx_u32(&x1007, &x1008, x1006, x971, x974);
+ uint32_t x1009;
+ fiat_p384_uint1 x1010;
+ fiat_p384_addcarryx_u32(&x1009, &x1010, x1008, x969, x972);
+ uint32_t x1011;
+ fiat_p384_uint1 x1012;
+ fiat_p384_addcarryx_u32(&x1011, &x1012, x1010, x967, x970);
+ uint32_t x1013;
+ fiat_p384_uint1 x1014;
+ fiat_p384_addcarryx_u32(&x1013, &x1014, x1012, 0x0, x968);
+ uint32_t x1015;
+ fiat_p384_uint1 x1016;
+ fiat_p384_addcarryx_u32(&x1015, &x1016, 0x0, x989, x941);
+ uint32_t x1017;
+ fiat_p384_uint1 x1018;
+ fiat_p384_addcarryx_u32(&x1017, &x1018, x1016, x991, x943);
+ uint32_t x1019;
+ fiat_p384_uint1 x1020;
+ fiat_p384_addcarryx_u32(&x1019, &x1020, x1018, x993, x945);
+ uint32_t x1021;
+ fiat_p384_uint1 x1022;
+ fiat_p384_addcarryx_u32(&x1021, &x1022, x1020, x995, x947);
+ uint32_t x1023;
+ fiat_p384_uint1 x1024;
+ fiat_p384_addcarryx_u32(&x1023, &x1024, x1022, x997, x949);
+ uint32_t x1025;
+ fiat_p384_uint1 x1026;
+ fiat_p384_addcarryx_u32(&x1025, &x1026, x1024, x999, x951);
+ uint32_t x1027;
+ fiat_p384_uint1 x1028;
+ fiat_p384_addcarryx_u32(&x1027, &x1028, x1026, x1001, x953);
+ uint32_t x1029;
+ fiat_p384_uint1 x1030;
+ fiat_p384_addcarryx_u32(&x1029, &x1030, x1028, x1003, x955);
+ uint32_t x1031;
+ fiat_p384_uint1 x1032;
+ fiat_p384_addcarryx_u32(&x1031, &x1032, x1030, x1005, x957);
+ uint32_t x1033;
+ fiat_p384_uint1 x1034;
+ fiat_p384_addcarryx_u32(&x1033, &x1034, x1032, x1007, x959);
+ uint32_t x1035;
+ fiat_p384_uint1 x1036;
+ fiat_p384_addcarryx_u32(&x1035, &x1036, x1034, x1009, x961);
+ uint32_t x1037;
+ fiat_p384_uint1 x1038;
+ fiat_p384_addcarryx_u32(&x1037, &x1038, x1036, x1011, x963);
+ uint32_t x1039;
+ fiat_p384_uint1 x1040;
+ fiat_p384_addcarryx_u32(&x1039, &x1040, x1038, x1013, x965);
+ uint32_t x1041;
+ uint32_t x1042;
+ fiat_p384_mulx_u32(&x1041, &x1042, x1015, UINT32_C(0xffffffff));
+ uint32_t x1043;
+ uint32_t x1044;
+ fiat_p384_mulx_u32(&x1043, &x1044, x1015, UINT32_C(0xffffffff));
+ uint32_t x1045;
+ uint32_t x1046;
+ fiat_p384_mulx_u32(&x1045, &x1046, x1015, UINT32_C(0xffffffff));
+ uint32_t x1047;
+ uint32_t x1048;
+ fiat_p384_mulx_u32(&x1047, &x1048, x1015, UINT32_C(0xffffffff));
+ uint32_t x1049;
+ uint32_t x1050;
+ fiat_p384_mulx_u32(&x1049, &x1050, x1015, UINT32_C(0xffffffff));
+ uint32_t x1051;
+ uint32_t x1052;
+ fiat_p384_mulx_u32(&x1051, &x1052, x1015, UINT32_C(0xffffffff));
+ uint32_t x1053;
+ uint32_t x1054;
+ fiat_p384_mulx_u32(&x1053, &x1054, x1015, UINT32_C(0xffffffff));
+ uint32_t x1055;
+ uint32_t x1056;
+ fiat_p384_mulx_u32(&x1055, &x1056, x1015, UINT32_C(0xfffffffe));
+ uint32_t x1057;
+ uint32_t x1058;
+ fiat_p384_mulx_u32(&x1057, &x1058, x1015, UINT32_C(0xffffffff));
+ uint32_t x1059;
+ uint32_t x1060;
+ fiat_p384_mulx_u32(&x1059, &x1060, x1015, UINT32_C(0xffffffff));
+ uint32_t x1061;
+ fiat_p384_uint1 x1062;
+ fiat_p384_addcarryx_u32(&x1061, &x1062, 0x0, x1055, x1058);
+ uint32_t x1063;
+ fiat_p384_uint1 x1064;
+ fiat_p384_addcarryx_u32(&x1063, &x1064, x1062, x1053, x1056);
+ uint32_t x1065;
+ fiat_p384_uint1 x1066;
+ fiat_p384_addcarryx_u32(&x1065, &x1066, x1064, x1051, x1054);
+ uint32_t x1067;
+ fiat_p384_uint1 x1068;
+ fiat_p384_addcarryx_u32(&x1067, &x1068, x1066, x1049, x1052);
+ uint32_t x1069;
+ fiat_p384_uint1 x1070;
+ fiat_p384_addcarryx_u32(&x1069, &x1070, x1068, x1047, x1050);
+ uint32_t x1071;
+ fiat_p384_uint1 x1072;
+ fiat_p384_addcarryx_u32(&x1071, &x1072, x1070, x1045, x1048);
+ uint32_t x1073;
+ fiat_p384_uint1 x1074;
+ fiat_p384_addcarryx_u32(&x1073, &x1074, x1072, x1043, x1046);
+ uint32_t x1075;
+ fiat_p384_uint1 x1076;
+ fiat_p384_addcarryx_u32(&x1075, &x1076, x1074, x1041, x1044);
+ uint32_t x1077;
+ fiat_p384_uint1 x1078;
+ fiat_p384_addcarryx_u32(&x1077, &x1078, x1076, 0x0, x1042);
+ uint32_t x1079;
+ fiat_p384_uint1 x1080;
+ fiat_p384_addcarryx_u32(&x1079, &x1080, 0x0, x1059, x1015);
+ uint32_t x1081;
+ fiat_p384_uint1 x1082;
+ fiat_p384_addcarryx_u32(&x1081, &x1082, x1080, x1060, x1017);
+ uint32_t x1083;
+ fiat_p384_uint1 x1084;
+ fiat_p384_addcarryx_u32(&x1083, &x1084, x1082, 0x0, x1019);
+ uint32_t x1085;
+ fiat_p384_uint1 x1086;
+ fiat_p384_addcarryx_u32(&x1085, &x1086, x1084, x1057, x1021);
+ uint32_t x1087;
+ fiat_p384_uint1 x1088;
+ fiat_p384_addcarryx_u32(&x1087, &x1088, x1086, x1061, x1023);
+ uint32_t x1089;
+ fiat_p384_uint1 x1090;
+ fiat_p384_addcarryx_u32(&x1089, &x1090, x1088, x1063, x1025);
+ uint32_t x1091;
+ fiat_p384_uint1 x1092;
+ fiat_p384_addcarryx_u32(&x1091, &x1092, x1090, x1065, x1027);
+ uint32_t x1093;
+ fiat_p384_uint1 x1094;
+ fiat_p384_addcarryx_u32(&x1093, &x1094, x1092, x1067, x1029);
+ uint32_t x1095;
+ fiat_p384_uint1 x1096;
+ fiat_p384_addcarryx_u32(&x1095, &x1096, x1094, x1069, x1031);
+ uint32_t x1097;
+ fiat_p384_uint1 x1098;
+ fiat_p384_addcarryx_u32(&x1097, &x1098, x1096, x1071, x1033);
+ uint32_t x1099;
+ fiat_p384_uint1 x1100;
+ fiat_p384_addcarryx_u32(&x1099, &x1100, x1098, x1073, x1035);
+ uint32_t x1101;
+ fiat_p384_uint1 x1102;
+ fiat_p384_addcarryx_u32(&x1101, &x1102, x1100, x1075, x1037);
+ uint32_t x1103;
+ fiat_p384_uint1 x1104;
+ fiat_p384_addcarryx_u32(&x1103, &x1104, x1102, x1077, x1039);
+ uint32_t x1105;
+ fiat_p384_uint1 x1106;
+ fiat_p384_addcarryx_u32(&x1105, &x1106, x1104, 0x0, x1040);
+ uint32_t x1107;
+ uint32_t x1108;
+ fiat_p384_mulx_u32(&x1107, &x1108, x8, (arg2[11]));
+ uint32_t x1109;
+ uint32_t x1110;
+ fiat_p384_mulx_u32(&x1109, &x1110, x8, (arg2[10]));
+ uint32_t x1111;
+ uint32_t x1112;
+ fiat_p384_mulx_u32(&x1111, &x1112, x8, (arg2[9]));
+ uint32_t x1113;
+ uint32_t x1114;
+ fiat_p384_mulx_u32(&x1113, &x1114, x8, (arg2[8]));
+ uint32_t x1115;
+ uint32_t x1116;
+ fiat_p384_mulx_u32(&x1115, &x1116, x8, (arg2[7]));
+ uint32_t x1117;
+ uint32_t x1118;
+ fiat_p384_mulx_u32(&x1117, &x1118, x8, (arg2[6]));
+ uint32_t x1119;
+ uint32_t x1120;
+ fiat_p384_mulx_u32(&x1119, &x1120, x8, (arg2[5]));
+ uint32_t x1121;
+ uint32_t x1122;
+ fiat_p384_mulx_u32(&x1121, &x1122, x8, (arg2[4]));
+ uint32_t x1123;
+ uint32_t x1124;
+ fiat_p384_mulx_u32(&x1123, &x1124, x8, (arg2[3]));
+ uint32_t x1125;
+ uint32_t x1126;
+ fiat_p384_mulx_u32(&x1125, &x1126, x8, (arg2[2]));
+ uint32_t x1127;
+ uint32_t x1128;
+ fiat_p384_mulx_u32(&x1127, &x1128, x8, (arg2[1]));
+ uint32_t x1129;
+ uint32_t x1130;
+ fiat_p384_mulx_u32(&x1129, &x1130, x8, (arg2[0]));
+ uint32_t x1131;
+ fiat_p384_uint1 x1132;
+ fiat_p384_addcarryx_u32(&x1131, &x1132, 0x0, x1127, x1130);
+ uint32_t x1133;
+ fiat_p384_uint1 x1134;
+ fiat_p384_addcarryx_u32(&x1133, &x1134, x1132, x1125, x1128);
+ uint32_t x1135;
+ fiat_p384_uint1 x1136;
+ fiat_p384_addcarryx_u32(&x1135, &x1136, x1134, x1123, x1126);
+ uint32_t x1137;
+ fiat_p384_uint1 x1138;
+ fiat_p384_addcarryx_u32(&x1137, &x1138, x1136, x1121, x1124);
+ uint32_t x1139;
+ fiat_p384_uint1 x1140;
+ fiat_p384_addcarryx_u32(&x1139, &x1140, x1138, x1119, x1122);
+ uint32_t x1141;
+ fiat_p384_uint1 x1142;
+ fiat_p384_addcarryx_u32(&x1141, &x1142, x1140, x1117, x1120);
+ uint32_t x1143;
+ fiat_p384_uint1 x1144;
+ fiat_p384_addcarryx_u32(&x1143, &x1144, x1142, x1115, x1118);
+ uint32_t x1145;
+ fiat_p384_uint1 x1146;
+ fiat_p384_addcarryx_u32(&x1145, &x1146, x1144, x1113, x1116);
+ uint32_t x1147;
+ fiat_p384_uint1 x1148;
+ fiat_p384_addcarryx_u32(&x1147, &x1148, x1146, x1111, x1114);
+ uint32_t x1149;
+ fiat_p384_uint1 x1150;
+ fiat_p384_addcarryx_u32(&x1149, &x1150, x1148, x1109, x1112);
+ uint32_t x1151;
+ fiat_p384_uint1 x1152;
+ fiat_p384_addcarryx_u32(&x1151, &x1152, x1150, x1107, x1110);
+ uint32_t x1153;
+ fiat_p384_uint1 x1154;
+ fiat_p384_addcarryx_u32(&x1153, &x1154, x1152, 0x0, x1108);
+ uint32_t x1155;
+ fiat_p384_uint1 x1156;
+ fiat_p384_addcarryx_u32(&x1155, &x1156, 0x0, x1129, x1081);
+ uint32_t x1157;
+ fiat_p384_uint1 x1158;
+ fiat_p384_addcarryx_u32(&x1157, &x1158, x1156, x1131, x1083);
+ uint32_t x1159;
+ fiat_p384_uint1 x1160;
+ fiat_p384_addcarryx_u32(&x1159, &x1160, x1158, x1133, x1085);
+ uint32_t x1161;
+ fiat_p384_uint1 x1162;
+ fiat_p384_addcarryx_u32(&x1161, &x1162, x1160, x1135, x1087);
+ uint32_t x1163;
+ fiat_p384_uint1 x1164;
+ fiat_p384_addcarryx_u32(&x1163, &x1164, x1162, x1137, x1089);
+ uint32_t x1165;
+ fiat_p384_uint1 x1166;
+ fiat_p384_addcarryx_u32(&x1165, &x1166, x1164, x1139, x1091);
+ uint32_t x1167;
+ fiat_p384_uint1 x1168;
+ fiat_p384_addcarryx_u32(&x1167, &x1168, x1166, x1141, x1093);
+ uint32_t x1169;
+ fiat_p384_uint1 x1170;
+ fiat_p384_addcarryx_u32(&x1169, &x1170, x1168, x1143, x1095);
+ uint32_t x1171;
+ fiat_p384_uint1 x1172;
+ fiat_p384_addcarryx_u32(&x1171, &x1172, x1170, x1145, x1097);
+ uint32_t x1173;
+ fiat_p384_uint1 x1174;
+ fiat_p384_addcarryx_u32(&x1173, &x1174, x1172, x1147, x1099);
+ uint32_t x1175;
+ fiat_p384_uint1 x1176;
+ fiat_p384_addcarryx_u32(&x1175, &x1176, x1174, x1149, x1101);
+ uint32_t x1177;
+ fiat_p384_uint1 x1178;
+ fiat_p384_addcarryx_u32(&x1177, &x1178, x1176, x1151, x1103);
+ uint32_t x1179;
+ fiat_p384_uint1 x1180;
+ fiat_p384_addcarryx_u32(&x1179, &x1180, x1178, x1153, x1105);
+ uint32_t x1181;
+ uint32_t x1182;
+ fiat_p384_mulx_u32(&x1181, &x1182, x1155, UINT32_C(0xffffffff));
+ uint32_t x1183;
+ uint32_t x1184;
+ fiat_p384_mulx_u32(&x1183, &x1184, x1155, UINT32_C(0xffffffff));
+ uint32_t x1185;
+ uint32_t x1186;
+ fiat_p384_mulx_u32(&x1185, &x1186, x1155, UINT32_C(0xffffffff));
+ uint32_t x1187;
+ uint32_t x1188;
+ fiat_p384_mulx_u32(&x1187, &x1188, x1155, UINT32_C(0xffffffff));
+ uint32_t x1189;
+ uint32_t x1190;
+ fiat_p384_mulx_u32(&x1189, &x1190, x1155, UINT32_C(0xffffffff));
+ uint32_t x1191;
+ uint32_t x1192;
+ fiat_p384_mulx_u32(&x1191, &x1192, x1155, UINT32_C(0xffffffff));
+ uint32_t x1193;
+ uint32_t x1194;
+ fiat_p384_mulx_u32(&x1193, &x1194, x1155, UINT32_C(0xffffffff));
+ uint32_t x1195;
+ uint32_t x1196;
+ fiat_p384_mulx_u32(&x1195, &x1196, x1155, UINT32_C(0xfffffffe));
+ uint32_t x1197;
+ uint32_t x1198;
+ fiat_p384_mulx_u32(&x1197, &x1198, x1155, UINT32_C(0xffffffff));
+ uint32_t x1199;
+ uint32_t x1200;
+ fiat_p384_mulx_u32(&x1199, &x1200, x1155, UINT32_C(0xffffffff));
+ uint32_t x1201;
+ fiat_p384_uint1 x1202;
+ fiat_p384_addcarryx_u32(&x1201, &x1202, 0x0, x1195, x1198);
+ uint32_t x1203;
+ fiat_p384_uint1 x1204;
+ fiat_p384_addcarryx_u32(&x1203, &x1204, x1202, x1193, x1196);
+ uint32_t x1205;
+ fiat_p384_uint1 x1206;
+ fiat_p384_addcarryx_u32(&x1205, &x1206, x1204, x1191, x1194);
+ uint32_t x1207;
+ fiat_p384_uint1 x1208;
+ fiat_p384_addcarryx_u32(&x1207, &x1208, x1206, x1189, x1192);
+ uint32_t x1209;
+ fiat_p384_uint1 x1210;
+ fiat_p384_addcarryx_u32(&x1209, &x1210, x1208, x1187, x1190);
+ uint32_t x1211;
+ fiat_p384_uint1 x1212;
+ fiat_p384_addcarryx_u32(&x1211, &x1212, x1210, x1185, x1188);
+ uint32_t x1213;
+ fiat_p384_uint1 x1214;
+ fiat_p384_addcarryx_u32(&x1213, &x1214, x1212, x1183, x1186);
+ uint32_t x1215;
+ fiat_p384_uint1 x1216;
+ fiat_p384_addcarryx_u32(&x1215, &x1216, x1214, x1181, x1184);
+ uint32_t x1217;
+ fiat_p384_uint1 x1218;
+ fiat_p384_addcarryx_u32(&x1217, &x1218, x1216, 0x0, x1182);
+ uint32_t x1219;
+ fiat_p384_uint1 x1220;
+ fiat_p384_addcarryx_u32(&x1219, &x1220, 0x0, x1199, x1155);
+ uint32_t x1221;
+ fiat_p384_uint1 x1222;
+ fiat_p384_addcarryx_u32(&x1221, &x1222, x1220, x1200, x1157);
+ uint32_t x1223;
+ fiat_p384_uint1 x1224;
+ fiat_p384_addcarryx_u32(&x1223, &x1224, x1222, 0x0, x1159);
+ uint32_t x1225;
+ fiat_p384_uint1 x1226;
+ fiat_p384_addcarryx_u32(&x1225, &x1226, x1224, x1197, x1161);
+ uint32_t x1227;
+ fiat_p384_uint1 x1228;
+ fiat_p384_addcarryx_u32(&x1227, &x1228, x1226, x1201, x1163);
+ uint32_t x1229;
+ fiat_p384_uint1 x1230;
+ fiat_p384_addcarryx_u32(&x1229, &x1230, x1228, x1203, x1165);
+ uint32_t x1231;
+ fiat_p384_uint1 x1232;
+ fiat_p384_addcarryx_u32(&x1231, &x1232, x1230, x1205, x1167);
+ uint32_t x1233;
+ fiat_p384_uint1 x1234;
+ fiat_p384_addcarryx_u32(&x1233, &x1234, x1232, x1207, x1169);
+ uint32_t x1235;
+ fiat_p384_uint1 x1236;
+ fiat_p384_addcarryx_u32(&x1235, &x1236, x1234, x1209, x1171);
+ uint32_t x1237;
+ fiat_p384_uint1 x1238;
+ fiat_p384_addcarryx_u32(&x1237, &x1238, x1236, x1211, x1173);
+ uint32_t x1239;
+ fiat_p384_uint1 x1240;
+ fiat_p384_addcarryx_u32(&x1239, &x1240, x1238, x1213, x1175);
+ uint32_t x1241;
+ fiat_p384_uint1 x1242;
+ fiat_p384_addcarryx_u32(&x1241, &x1242, x1240, x1215, x1177);
+ uint32_t x1243;
+ fiat_p384_uint1 x1244;
+ fiat_p384_addcarryx_u32(&x1243, &x1244, x1242, x1217, x1179);
+ uint32_t x1245;
+ fiat_p384_uint1 x1246;
+ fiat_p384_addcarryx_u32(&x1245, &x1246, x1244, 0x0, x1180);
+ uint32_t x1247;
+ uint32_t x1248;
+ fiat_p384_mulx_u32(&x1247, &x1248, x9, (arg2[11]));
+ uint32_t x1249;
+ uint32_t x1250;
+ fiat_p384_mulx_u32(&x1249, &x1250, x9, (arg2[10]));
+ uint32_t x1251;
+ uint32_t x1252;
+ fiat_p384_mulx_u32(&x1251, &x1252, x9, (arg2[9]));
+ uint32_t x1253;
+ uint32_t x1254;
+ fiat_p384_mulx_u32(&x1253, &x1254, x9, (arg2[8]));
+ uint32_t x1255;
+ uint32_t x1256;
+ fiat_p384_mulx_u32(&x1255, &x1256, x9, (arg2[7]));
+ uint32_t x1257;
+ uint32_t x1258;
+ fiat_p384_mulx_u32(&x1257, &x1258, x9, (arg2[6]));
+ uint32_t x1259;
+ uint32_t x1260;
+ fiat_p384_mulx_u32(&x1259, &x1260, x9, (arg2[5]));
+ uint32_t x1261;
+ uint32_t x1262;
+ fiat_p384_mulx_u32(&x1261, &x1262, x9, (arg2[4]));
+ uint32_t x1263;
+ uint32_t x1264;
+ fiat_p384_mulx_u32(&x1263, &x1264, x9, (arg2[3]));
+ uint32_t x1265;
+ uint32_t x1266;
+ fiat_p384_mulx_u32(&x1265, &x1266, x9, (arg2[2]));
+ uint32_t x1267;
+ uint32_t x1268;
+ fiat_p384_mulx_u32(&x1267, &x1268, x9, (arg2[1]));
+ uint32_t x1269;
+ uint32_t x1270;
+ fiat_p384_mulx_u32(&x1269, &x1270, x9, (arg2[0]));
+ uint32_t x1271;
+ fiat_p384_uint1 x1272;
+ fiat_p384_addcarryx_u32(&x1271, &x1272, 0x0, x1267, x1270);
+ uint32_t x1273;
+ fiat_p384_uint1 x1274;
+ fiat_p384_addcarryx_u32(&x1273, &x1274, x1272, x1265, x1268);
+ uint32_t x1275;
+ fiat_p384_uint1 x1276;
+ fiat_p384_addcarryx_u32(&x1275, &x1276, x1274, x1263, x1266);
+ uint32_t x1277;
+ fiat_p384_uint1 x1278;
+ fiat_p384_addcarryx_u32(&x1277, &x1278, x1276, x1261, x1264);
+ uint32_t x1279;
+ fiat_p384_uint1 x1280;
+ fiat_p384_addcarryx_u32(&x1279, &x1280, x1278, x1259, x1262);
+ uint32_t x1281;
+ fiat_p384_uint1 x1282;
+ fiat_p384_addcarryx_u32(&x1281, &x1282, x1280, x1257, x1260);
+ uint32_t x1283;
+ fiat_p384_uint1 x1284;
+ fiat_p384_addcarryx_u32(&x1283, &x1284, x1282, x1255, x1258);
+ uint32_t x1285;
+ fiat_p384_uint1 x1286;
+ fiat_p384_addcarryx_u32(&x1285, &x1286, x1284, x1253, x1256);
+ uint32_t x1287;
+ fiat_p384_uint1 x1288;
+ fiat_p384_addcarryx_u32(&x1287, &x1288, x1286, x1251, x1254);
+ uint32_t x1289;
+ fiat_p384_uint1 x1290;
+ fiat_p384_addcarryx_u32(&x1289, &x1290, x1288, x1249, x1252);
+ uint32_t x1291;
+ fiat_p384_uint1 x1292;
+ fiat_p384_addcarryx_u32(&x1291, &x1292, x1290, x1247, x1250);
+ uint32_t x1293;
+ fiat_p384_uint1 x1294;
+ fiat_p384_addcarryx_u32(&x1293, &x1294, x1292, 0x0, x1248);
+ uint32_t x1295;
+ fiat_p384_uint1 x1296;
+ fiat_p384_addcarryx_u32(&x1295, &x1296, 0x0, x1269, x1221);
+ uint32_t x1297;
+ fiat_p384_uint1 x1298;
+ fiat_p384_addcarryx_u32(&x1297, &x1298, x1296, x1271, x1223);
+ uint32_t x1299;
+ fiat_p384_uint1 x1300;
+ fiat_p384_addcarryx_u32(&x1299, &x1300, x1298, x1273, x1225);
+ uint32_t x1301;
+ fiat_p384_uint1 x1302;
+ fiat_p384_addcarryx_u32(&x1301, &x1302, x1300, x1275, x1227);
+ uint32_t x1303;
+ fiat_p384_uint1 x1304;
+ fiat_p384_addcarryx_u32(&x1303, &x1304, x1302, x1277, x1229);
+ uint32_t x1305;
+ fiat_p384_uint1 x1306;
+ fiat_p384_addcarryx_u32(&x1305, &x1306, x1304, x1279, x1231);
+ uint32_t x1307;
+ fiat_p384_uint1 x1308;
+ fiat_p384_addcarryx_u32(&x1307, &x1308, x1306, x1281, x1233);
+ uint32_t x1309;
+ fiat_p384_uint1 x1310;
+ fiat_p384_addcarryx_u32(&x1309, &x1310, x1308, x1283, x1235);
+ uint32_t x1311;
+ fiat_p384_uint1 x1312;
+ fiat_p384_addcarryx_u32(&x1311, &x1312, x1310, x1285, x1237);
+ uint32_t x1313;
+ fiat_p384_uint1 x1314;
+ fiat_p384_addcarryx_u32(&x1313, &x1314, x1312, x1287, x1239);
+ uint32_t x1315;
+ fiat_p384_uint1 x1316;
+ fiat_p384_addcarryx_u32(&x1315, &x1316, x1314, x1289, x1241);
+ uint32_t x1317;
+ fiat_p384_uint1 x1318;
+ fiat_p384_addcarryx_u32(&x1317, &x1318, x1316, x1291, x1243);
+ uint32_t x1319;
+ fiat_p384_uint1 x1320;
+ fiat_p384_addcarryx_u32(&x1319, &x1320, x1318, x1293, x1245);
+ uint32_t x1321;
+ uint32_t x1322;
+ fiat_p384_mulx_u32(&x1321, &x1322, x1295, UINT32_C(0xffffffff));
+ uint32_t x1323;
+ uint32_t x1324;
+ fiat_p384_mulx_u32(&x1323, &x1324, x1295, UINT32_C(0xffffffff));
+ uint32_t x1325;
+ uint32_t x1326;
+ fiat_p384_mulx_u32(&x1325, &x1326, x1295, UINT32_C(0xffffffff));
+ uint32_t x1327;
+ uint32_t x1328;
+ fiat_p384_mulx_u32(&x1327, &x1328, x1295, UINT32_C(0xffffffff));
+ uint32_t x1329;
+ uint32_t x1330;
+ fiat_p384_mulx_u32(&x1329, &x1330, x1295, UINT32_C(0xffffffff));
+ uint32_t x1331;
+ uint32_t x1332;
+ fiat_p384_mulx_u32(&x1331, &x1332, x1295, UINT32_C(0xffffffff));
+ uint32_t x1333;
+ uint32_t x1334;
+ fiat_p384_mulx_u32(&x1333, &x1334, x1295, UINT32_C(0xffffffff));
+ uint32_t x1335;
+ uint32_t x1336;
+ fiat_p384_mulx_u32(&x1335, &x1336, x1295, UINT32_C(0xfffffffe));
+ uint32_t x1337;
+ uint32_t x1338;
+ fiat_p384_mulx_u32(&x1337, &x1338, x1295, UINT32_C(0xffffffff));
+ uint32_t x1339;
+ uint32_t x1340;
+ fiat_p384_mulx_u32(&x1339, &x1340, x1295, UINT32_C(0xffffffff));
+ uint32_t x1341;
+ fiat_p384_uint1 x1342;
+ fiat_p384_addcarryx_u32(&x1341, &x1342, 0x0, x1335, x1338);
+ uint32_t x1343;
+ fiat_p384_uint1 x1344;
+ fiat_p384_addcarryx_u32(&x1343, &x1344, x1342, x1333, x1336);
+ uint32_t x1345;
+ fiat_p384_uint1 x1346;
+ fiat_p384_addcarryx_u32(&x1345, &x1346, x1344, x1331, x1334);
+ uint32_t x1347;
+ fiat_p384_uint1 x1348;
+ fiat_p384_addcarryx_u32(&x1347, &x1348, x1346, x1329, x1332);
+ uint32_t x1349;
+ fiat_p384_uint1 x1350;
+ fiat_p384_addcarryx_u32(&x1349, &x1350, x1348, x1327, x1330);
+ uint32_t x1351;
+ fiat_p384_uint1 x1352;
+ fiat_p384_addcarryx_u32(&x1351, &x1352, x1350, x1325, x1328);
+ uint32_t x1353;
+ fiat_p384_uint1 x1354;
+ fiat_p384_addcarryx_u32(&x1353, &x1354, x1352, x1323, x1326);
+ uint32_t x1355;
+ fiat_p384_uint1 x1356;
+ fiat_p384_addcarryx_u32(&x1355, &x1356, x1354, x1321, x1324);
+ uint32_t x1357;
+ fiat_p384_uint1 x1358;
+ fiat_p384_addcarryx_u32(&x1357, &x1358, x1356, 0x0, x1322);
+ uint32_t x1359;
+ fiat_p384_uint1 x1360;
+ fiat_p384_addcarryx_u32(&x1359, &x1360, 0x0, x1339, x1295);
+ uint32_t x1361;
+ fiat_p384_uint1 x1362;
+ fiat_p384_addcarryx_u32(&x1361, &x1362, x1360, x1340, x1297);
+ uint32_t x1363;
+ fiat_p384_uint1 x1364;
+ fiat_p384_addcarryx_u32(&x1363, &x1364, x1362, 0x0, x1299);
+ uint32_t x1365;
+ fiat_p384_uint1 x1366;
+ fiat_p384_addcarryx_u32(&x1365, &x1366, x1364, x1337, x1301);
+ uint32_t x1367;
+ fiat_p384_uint1 x1368;
+ fiat_p384_addcarryx_u32(&x1367, &x1368, x1366, x1341, x1303);
+ uint32_t x1369;
+ fiat_p384_uint1 x1370;
+ fiat_p384_addcarryx_u32(&x1369, &x1370, x1368, x1343, x1305);
+ uint32_t x1371;
+ fiat_p384_uint1 x1372;
+ fiat_p384_addcarryx_u32(&x1371, &x1372, x1370, x1345, x1307);
+ uint32_t x1373;
+ fiat_p384_uint1 x1374;
+ fiat_p384_addcarryx_u32(&x1373, &x1374, x1372, x1347, x1309);
+ uint32_t x1375;
+ fiat_p384_uint1 x1376;
+ fiat_p384_addcarryx_u32(&x1375, &x1376, x1374, x1349, x1311);
+ uint32_t x1377;
+ fiat_p384_uint1 x1378;
+ fiat_p384_addcarryx_u32(&x1377, &x1378, x1376, x1351, x1313);
+ uint32_t x1379;
+ fiat_p384_uint1 x1380;
+ fiat_p384_addcarryx_u32(&x1379, &x1380, x1378, x1353, x1315);
+ uint32_t x1381;
+ fiat_p384_uint1 x1382;
+ fiat_p384_addcarryx_u32(&x1381, &x1382, x1380, x1355, x1317);
+ uint32_t x1383;
+ fiat_p384_uint1 x1384;
+ fiat_p384_addcarryx_u32(&x1383, &x1384, x1382, x1357, x1319);
+ uint32_t x1385;
+ fiat_p384_uint1 x1386;
+ fiat_p384_addcarryx_u32(&x1385, &x1386, x1384, 0x0, x1320);
+ uint32_t x1387;
+ uint32_t x1388;
+ fiat_p384_mulx_u32(&x1387, &x1388, x10, (arg2[11]));
+ uint32_t x1389;
+ uint32_t x1390;
+ fiat_p384_mulx_u32(&x1389, &x1390, x10, (arg2[10]));
+ uint32_t x1391;
+ uint32_t x1392;
+ fiat_p384_mulx_u32(&x1391, &x1392, x10, (arg2[9]));
+ uint32_t x1393;
+ uint32_t x1394;
+ fiat_p384_mulx_u32(&x1393, &x1394, x10, (arg2[8]));
+ uint32_t x1395;
+ uint32_t x1396;
+ fiat_p384_mulx_u32(&x1395, &x1396, x10, (arg2[7]));
+ uint32_t x1397;
+ uint32_t x1398;
+ fiat_p384_mulx_u32(&x1397, &x1398, x10, (arg2[6]));
+ uint32_t x1399;
+ uint32_t x1400;
+ fiat_p384_mulx_u32(&x1399, &x1400, x10, (arg2[5]));
+ uint32_t x1401;
+ uint32_t x1402;
+ fiat_p384_mulx_u32(&x1401, &x1402, x10, (arg2[4]));
+ uint32_t x1403;
+ uint32_t x1404;
+ fiat_p384_mulx_u32(&x1403, &x1404, x10, (arg2[3]));
+ uint32_t x1405;
+ uint32_t x1406;
+ fiat_p384_mulx_u32(&x1405, &x1406, x10, (arg2[2]));
+ uint32_t x1407;
+ uint32_t x1408;
+ fiat_p384_mulx_u32(&x1407, &x1408, x10, (arg2[1]));
+ uint32_t x1409;
+ uint32_t x1410;
+ fiat_p384_mulx_u32(&x1409, &x1410, x10, (arg2[0]));
+ uint32_t x1411;
+ fiat_p384_uint1 x1412;
+ fiat_p384_addcarryx_u32(&x1411, &x1412, 0x0, x1407, x1410);
+ uint32_t x1413;
+ fiat_p384_uint1 x1414;
+ fiat_p384_addcarryx_u32(&x1413, &x1414, x1412, x1405, x1408);
+ uint32_t x1415;
+ fiat_p384_uint1 x1416;
+ fiat_p384_addcarryx_u32(&x1415, &x1416, x1414, x1403, x1406);
+ uint32_t x1417;
+ fiat_p384_uint1 x1418;
+ fiat_p384_addcarryx_u32(&x1417, &x1418, x1416, x1401, x1404);
+ uint32_t x1419;
+ fiat_p384_uint1 x1420;
+ fiat_p384_addcarryx_u32(&x1419, &x1420, x1418, x1399, x1402);
+ uint32_t x1421;
+ fiat_p384_uint1 x1422;
+ fiat_p384_addcarryx_u32(&x1421, &x1422, x1420, x1397, x1400);
+ uint32_t x1423;
+ fiat_p384_uint1 x1424;
+ fiat_p384_addcarryx_u32(&x1423, &x1424, x1422, x1395, x1398);
+ uint32_t x1425;
+ fiat_p384_uint1 x1426;
+ fiat_p384_addcarryx_u32(&x1425, &x1426, x1424, x1393, x1396);
+ uint32_t x1427;
+ fiat_p384_uint1 x1428;
+ fiat_p384_addcarryx_u32(&x1427, &x1428, x1426, x1391, x1394);
+ uint32_t x1429;
+ fiat_p384_uint1 x1430;
+ fiat_p384_addcarryx_u32(&x1429, &x1430, x1428, x1389, x1392);
+ uint32_t x1431;
+ fiat_p384_uint1 x1432;
+ fiat_p384_addcarryx_u32(&x1431, &x1432, x1430, x1387, x1390);
+ uint32_t x1433;
+ fiat_p384_uint1 x1434;
+ fiat_p384_addcarryx_u32(&x1433, &x1434, x1432, 0x0, x1388);
+ uint32_t x1435;
+ fiat_p384_uint1 x1436;
+ fiat_p384_addcarryx_u32(&x1435, &x1436, 0x0, x1409, x1361);
+ uint32_t x1437;
+ fiat_p384_uint1 x1438;
+ fiat_p384_addcarryx_u32(&x1437, &x1438, x1436, x1411, x1363);
+ uint32_t x1439;
+ fiat_p384_uint1 x1440;
+ fiat_p384_addcarryx_u32(&x1439, &x1440, x1438, x1413, x1365);
+ uint32_t x1441;
+ fiat_p384_uint1 x1442;
+ fiat_p384_addcarryx_u32(&x1441, &x1442, x1440, x1415, x1367);
+ uint32_t x1443;
+ fiat_p384_uint1 x1444;
+ fiat_p384_addcarryx_u32(&x1443, &x1444, x1442, x1417, x1369);
+ uint32_t x1445;
+ fiat_p384_uint1 x1446;
+ fiat_p384_addcarryx_u32(&x1445, &x1446, x1444, x1419, x1371);
+ uint32_t x1447;
+ fiat_p384_uint1 x1448;
+ fiat_p384_addcarryx_u32(&x1447, &x1448, x1446, x1421, x1373);
+ uint32_t x1449;
+ fiat_p384_uint1 x1450;
+ fiat_p384_addcarryx_u32(&x1449, &x1450, x1448, x1423, x1375);
+ uint32_t x1451;
+ fiat_p384_uint1 x1452;
+ fiat_p384_addcarryx_u32(&x1451, &x1452, x1450, x1425, x1377);
+ uint32_t x1453;
+ fiat_p384_uint1 x1454;
+ fiat_p384_addcarryx_u32(&x1453, &x1454, x1452, x1427, x1379);
+ uint32_t x1455;
+ fiat_p384_uint1 x1456;
+ fiat_p384_addcarryx_u32(&x1455, &x1456, x1454, x1429, x1381);
+ uint32_t x1457;
+ fiat_p384_uint1 x1458;
+ fiat_p384_addcarryx_u32(&x1457, &x1458, x1456, x1431, x1383);
+ uint32_t x1459;
+ fiat_p384_uint1 x1460;
+ fiat_p384_addcarryx_u32(&x1459, &x1460, x1458, x1433, x1385);
+ uint32_t x1461;
+ uint32_t x1462;
+ fiat_p384_mulx_u32(&x1461, &x1462, x1435, UINT32_C(0xffffffff));
+ uint32_t x1463;
+ uint32_t x1464;
+ fiat_p384_mulx_u32(&x1463, &x1464, x1435, UINT32_C(0xffffffff));
+ uint32_t x1465;
+ uint32_t x1466;
+ fiat_p384_mulx_u32(&x1465, &x1466, x1435, UINT32_C(0xffffffff));
+ uint32_t x1467;
+ uint32_t x1468;
+ fiat_p384_mulx_u32(&x1467, &x1468, x1435, UINT32_C(0xffffffff));
+ uint32_t x1469;
+ uint32_t x1470;
+ fiat_p384_mulx_u32(&x1469, &x1470, x1435, UINT32_C(0xffffffff));
+ uint32_t x1471;
+ uint32_t x1472;
+ fiat_p384_mulx_u32(&x1471, &x1472, x1435, UINT32_C(0xffffffff));
+ uint32_t x1473;
+ uint32_t x1474;
+ fiat_p384_mulx_u32(&x1473, &x1474, x1435, UINT32_C(0xffffffff));
+ uint32_t x1475;
+ uint32_t x1476;
+ fiat_p384_mulx_u32(&x1475, &x1476, x1435, UINT32_C(0xfffffffe));
+ uint32_t x1477;
+ uint32_t x1478;
+ fiat_p384_mulx_u32(&x1477, &x1478, x1435, UINT32_C(0xffffffff));
+ uint32_t x1479;
+ uint32_t x1480;
+ fiat_p384_mulx_u32(&x1479, &x1480, x1435, UINT32_C(0xffffffff));
+ uint32_t x1481;
+ fiat_p384_uint1 x1482;
+ fiat_p384_addcarryx_u32(&x1481, &x1482, 0x0, x1475, x1478);
+ uint32_t x1483;
+ fiat_p384_uint1 x1484;
+ fiat_p384_addcarryx_u32(&x1483, &x1484, x1482, x1473, x1476);
+ uint32_t x1485;
+ fiat_p384_uint1 x1486;
+ fiat_p384_addcarryx_u32(&x1485, &x1486, x1484, x1471, x1474);
+ uint32_t x1487;
+ fiat_p384_uint1 x1488;
+ fiat_p384_addcarryx_u32(&x1487, &x1488, x1486, x1469, x1472);
+ uint32_t x1489;
+ fiat_p384_uint1 x1490;
+ fiat_p384_addcarryx_u32(&x1489, &x1490, x1488, x1467, x1470);
+ uint32_t x1491;
+ fiat_p384_uint1 x1492;
+ fiat_p384_addcarryx_u32(&x1491, &x1492, x1490, x1465, x1468);
+ uint32_t x1493;
+ fiat_p384_uint1 x1494;
+ fiat_p384_addcarryx_u32(&x1493, &x1494, x1492, x1463, x1466);
+ uint32_t x1495;
+ fiat_p384_uint1 x1496;
+ fiat_p384_addcarryx_u32(&x1495, &x1496, x1494, x1461, x1464);
+ uint32_t x1497;
+ fiat_p384_uint1 x1498;
+ fiat_p384_addcarryx_u32(&x1497, &x1498, x1496, 0x0, x1462);
+ uint32_t x1499;
+ fiat_p384_uint1 x1500;
+ fiat_p384_addcarryx_u32(&x1499, &x1500, 0x0, x1479, x1435);
+ uint32_t x1501;
+ fiat_p384_uint1 x1502;
+ fiat_p384_addcarryx_u32(&x1501, &x1502, x1500, x1480, x1437);
+ uint32_t x1503;
+ fiat_p384_uint1 x1504;
+ fiat_p384_addcarryx_u32(&x1503, &x1504, x1502, 0x0, x1439);
+ uint32_t x1505;
+ fiat_p384_uint1 x1506;
+ fiat_p384_addcarryx_u32(&x1505, &x1506, x1504, x1477, x1441);
+ uint32_t x1507;
+ fiat_p384_uint1 x1508;
+ fiat_p384_addcarryx_u32(&x1507, &x1508, x1506, x1481, x1443);
+ uint32_t x1509;
+ fiat_p384_uint1 x1510;
+ fiat_p384_addcarryx_u32(&x1509, &x1510, x1508, x1483, x1445);
+ uint32_t x1511;
+ fiat_p384_uint1 x1512;
+ fiat_p384_addcarryx_u32(&x1511, &x1512, x1510, x1485, x1447);
+ uint32_t x1513;
+ fiat_p384_uint1 x1514;
+ fiat_p384_addcarryx_u32(&x1513, &x1514, x1512, x1487, x1449);
+ uint32_t x1515;
+ fiat_p384_uint1 x1516;
+ fiat_p384_addcarryx_u32(&x1515, &x1516, x1514, x1489, x1451);
+ uint32_t x1517;
+ fiat_p384_uint1 x1518;
+ fiat_p384_addcarryx_u32(&x1517, &x1518, x1516, x1491, x1453);
+ uint32_t x1519;
+ fiat_p384_uint1 x1520;
+ fiat_p384_addcarryx_u32(&x1519, &x1520, x1518, x1493, x1455);
+ uint32_t x1521;
+ fiat_p384_uint1 x1522;
+ fiat_p384_addcarryx_u32(&x1521, &x1522, x1520, x1495, x1457);
+ uint32_t x1523;
+ fiat_p384_uint1 x1524;
+ fiat_p384_addcarryx_u32(&x1523, &x1524, x1522, x1497, x1459);
+ uint32_t x1525;
+ fiat_p384_uint1 x1526;
+ fiat_p384_addcarryx_u32(&x1525, &x1526, x1524, 0x0, x1460);
+ uint32_t x1527;
+ uint32_t x1528;
+ fiat_p384_mulx_u32(&x1527, &x1528, x11, (arg2[11]));
+ uint32_t x1529;
+ uint32_t x1530;
+ fiat_p384_mulx_u32(&x1529, &x1530, x11, (arg2[10]));
+ uint32_t x1531;
+ uint32_t x1532;
+ fiat_p384_mulx_u32(&x1531, &x1532, x11, (arg2[9]));
+ uint32_t x1533;
+ uint32_t x1534;
+ fiat_p384_mulx_u32(&x1533, &x1534, x11, (arg2[8]));
+ uint32_t x1535;
+ uint32_t x1536;
+ fiat_p384_mulx_u32(&x1535, &x1536, x11, (arg2[7]));
+ uint32_t x1537;
+ uint32_t x1538;
+ fiat_p384_mulx_u32(&x1537, &x1538, x11, (arg2[6]));
+ uint32_t x1539;
+ uint32_t x1540;
+ fiat_p384_mulx_u32(&x1539, &x1540, x11, (arg2[5]));
+ uint32_t x1541;
+ uint32_t x1542;
+ fiat_p384_mulx_u32(&x1541, &x1542, x11, (arg2[4]));
+ uint32_t x1543;
+ uint32_t x1544;
+ fiat_p384_mulx_u32(&x1543, &x1544, x11, (arg2[3]));
+ uint32_t x1545;
+ uint32_t x1546;
+ fiat_p384_mulx_u32(&x1545, &x1546, x11, (arg2[2]));
+ uint32_t x1547;
+ uint32_t x1548;
+ fiat_p384_mulx_u32(&x1547, &x1548, x11, (arg2[1]));
+ uint32_t x1549;
+ uint32_t x1550;
+ fiat_p384_mulx_u32(&x1549, &x1550, x11, (arg2[0]));
+ uint32_t x1551;
+ fiat_p384_uint1 x1552;
+ fiat_p384_addcarryx_u32(&x1551, &x1552, 0x0, x1547, x1550);
+ uint32_t x1553;
+ fiat_p384_uint1 x1554;
+ fiat_p384_addcarryx_u32(&x1553, &x1554, x1552, x1545, x1548);
+ uint32_t x1555;
+ fiat_p384_uint1 x1556;
+ fiat_p384_addcarryx_u32(&x1555, &x1556, x1554, x1543, x1546);
+ uint32_t x1557;
+ fiat_p384_uint1 x1558;
+ fiat_p384_addcarryx_u32(&x1557, &x1558, x1556, x1541, x1544);
+ uint32_t x1559;
+ fiat_p384_uint1 x1560;
+ fiat_p384_addcarryx_u32(&x1559, &x1560, x1558, x1539, x1542);
+ uint32_t x1561;
+ fiat_p384_uint1 x1562;
+ fiat_p384_addcarryx_u32(&x1561, &x1562, x1560, x1537, x1540);
+ uint32_t x1563;
+ fiat_p384_uint1 x1564;
+ fiat_p384_addcarryx_u32(&x1563, &x1564, x1562, x1535, x1538);
+ uint32_t x1565;
+ fiat_p384_uint1 x1566;
+ fiat_p384_addcarryx_u32(&x1565, &x1566, x1564, x1533, x1536);
+ uint32_t x1567;
+ fiat_p384_uint1 x1568;
+ fiat_p384_addcarryx_u32(&x1567, &x1568, x1566, x1531, x1534);
+ uint32_t x1569;
+ fiat_p384_uint1 x1570;
+ fiat_p384_addcarryx_u32(&x1569, &x1570, x1568, x1529, x1532);
+ uint32_t x1571;
+ fiat_p384_uint1 x1572;
+ fiat_p384_addcarryx_u32(&x1571, &x1572, x1570, x1527, x1530);
+ uint32_t x1573;
+ fiat_p384_uint1 x1574;
+ fiat_p384_addcarryx_u32(&x1573, &x1574, x1572, 0x0, x1528);
+ uint32_t x1575;
+ fiat_p384_uint1 x1576;
+ fiat_p384_addcarryx_u32(&x1575, &x1576, 0x0, x1549, x1501);
+ uint32_t x1577;
+ fiat_p384_uint1 x1578;
+ fiat_p384_addcarryx_u32(&x1577, &x1578, x1576, x1551, x1503);
+ uint32_t x1579;
+ fiat_p384_uint1 x1580;
+ fiat_p384_addcarryx_u32(&x1579, &x1580, x1578, x1553, x1505);
+ uint32_t x1581;
+ fiat_p384_uint1 x1582;
+ fiat_p384_addcarryx_u32(&x1581, &x1582, x1580, x1555, x1507);
+ uint32_t x1583;
+ fiat_p384_uint1 x1584;
+ fiat_p384_addcarryx_u32(&x1583, &x1584, x1582, x1557, x1509);
+ uint32_t x1585;
+ fiat_p384_uint1 x1586;
+ fiat_p384_addcarryx_u32(&x1585, &x1586, x1584, x1559, x1511);
+ uint32_t x1587;
+ fiat_p384_uint1 x1588;
+ fiat_p384_addcarryx_u32(&x1587, &x1588, x1586, x1561, x1513);
+ uint32_t x1589;
+ fiat_p384_uint1 x1590;
+ fiat_p384_addcarryx_u32(&x1589, &x1590, x1588, x1563, x1515);
+ uint32_t x1591;
+ fiat_p384_uint1 x1592;
+ fiat_p384_addcarryx_u32(&x1591, &x1592, x1590, x1565, x1517);
+ uint32_t x1593;
+ fiat_p384_uint1 x1594;
+ fiat_p384_addcarryx_u32(&x1593, &x1594, x1592, x1567, x1519);
+ uint32_t x1595;
+ fiat_p384_uint1 x1596;
+ fiat_p384_addcarryx_u32(&x1595, &x1596, x1594, x1569, x1521);
+ uint32_t x1597;
+ fiat_p384_uint1 x1598;
+ fiat_p384_addcarryx_u32(&x1597, &x1598, x1596, x1571, x1523);
+ uint32_t x1599;
+ fiat_p384_uint1 x1600;
+ fiat_p384_addcarryx_u32(&x1599, &x1600, x1598, x1573, x1525);
+ uint32_t x1601;
+ uint32_t x1602;
+ fiat_p384_mulx_u32(&x1601, &x1602, x1575, UINT32_C(0xffffffff));
+ uint32_t x1603;
+ uint32_t x1604;
+ fiat_p384_mulx_u32(&x1603, &x1604, x1575, UINT32_C(0xffffffff));
+ uint32_t x1605;
+ uint32_t x1606;
+ fiat_p384_mulx_u32(&x1605, &x1606, x1575, UINT32_C(0xffffffff));
+ uint32_t x1607;
+ uint32_t x1608;
+ fiat_p384_mulx_u32(&x1607, &x1608, x1575, UINT32_C(0xffffffff));
+ uint32_t x1609;
+ uint32_t x1610;
+ fiat_p384_mulx_u32(&x1609, &x1610, x1575, UINT32_C(0xffffffff));
+ uint32_t x1611;
+ uint32_t x1612;
+ fiat_p384_mulx_u32(&x1611, &x1612, x1575, UINT32_C(0xffffffff));
+ uint32_t x1613;
+ uint32_t x1614;
+ fiat_p384_mulx_u32(&x1613, &x1614, x1575, UINT32_C(0xffffffff));
+ uint32_t x1615;
+ uint32_t x1616;
+ fiat_p384_mulx_u32(&x1615, &x1616, x1575, UINT32_C(0xfffffffe));
+ uint32_t x1617;
+ uint32_t x1618;
+ fiat_p384_mulx_u32(&x1617, &x1618, x1575, UINT32_C(0xffffffff));
+ uint32_t x1619;
+ uint32_t x1620;
+ fiat_p384_mulx_u32(&x1619, &x1620, x1575, UINT32_C(0xffffffff));
+ uint32_t x1621;
+ fiat_p384_uint1 x1622;
+ fiat_p384_addcarryx_u32(&x1621, &x1622, 0x0, x1615, x1618);
+ uint32_t x1623;
+ fiat_p384_uint1 x1624;
+ fiat_p384_addcarryx_u32(&x1623, &x1624, x1622, x1613, x1616);
+ uint32_t x1625;
+ fiat_p384_uint1 x1626;
+ fiat_p384_addcarryx_u32(&x1625, &x1626, x1624, x1611, x1614);
+ uint32_t x1627;
+ fiat_p384_uint1 x1628;
+ fiat_p384_addcarryx_u32(&x1627, &x1628, x1626, x1609, x1612);
+ uint32_t x1629;
+ fiat_p384_uint1 x1630;
+ fiat_p384_addcarryx_u32(&x1629, &x1630, x1628, x1607, x1610);
+ uint32_t x1631;
+ fiat_p384_uint1 x1632;
+ fiat_p384_addcarryx_u32(&x1631, &x1632, x1630, x1605, x1608);
+ uint32_t x1633;
+ fiat_p384_uint1 x1634;
+ fiat_p384_addcarryx_u32(&x1633, &x1634, x1632, x1603, x1606);
+ uint32_t x1635;
+ fiat_p384_uint1 x1636;
+ fiat_p384_addcarryx_u32(&x1635, &x1636, x1634, x1601, x1604);
+ uint32_t x1637;
+ fiat_p384_uint1 x1638;
+ fiat_p384_addcarryx_u32(&x1637, &x1638, x1636, 0x0, x1602);
+ uint32_t x1639;
+ fiat_p384_uint1 x1640;
+ fiat_p384_addcarryx_u32(&x1639, &x1640, 0x0, x1619, x1575);
+ uint32_t x1641;
+ fiat_p384_uint1 x1642;
+ fiat_p384_addcarryx_u32(&x1641, &x1642, x1640, x1620, x1577);
+ uint32_t x1643;
+ fiat_p384_uint1 x1644;
+ fiat_p384_addcarryx_u32(&x1643, &x1644, x1642, 0x0, x1579);
+ uint32_t x1645;
+ fiat_p384_uint1 x1646;
+ fiat_p384_addcarryx_u32(&x1645, &x1646, x1644, x1617, x1581);
+ uint32_t x1647;
+ fiat_p384_uint1 x1648;
+ fiat_p384_addcarryx_u32(&x1647, &x1648, x1646, x1621, x1583);
+ uint32_t x1649;
+ fiat_p384_uint1 x1650;
+ fiat_p384_addcarryx_u32(&x1649, &x1650, x1648, x1623, x1585);
+ uint32_t x1651;
+ fiat_p384_uint1 x1652;
+ fiat_p384_addcarryx_u32(&x1651, &x1652, x1650, x1625, x1587);
+ uint32_t x1653;
+ fiat_p384_uint1 x1654;
+ fiat_p384_addcarryx_u32(&x1653, &x1654, x1652, x1627, x1589);
+ uint32_t x1655;
+ fiat_p384_uint1 x1656;
+ fiat_p384_addcarryx_u32(&x1655, &x1656, x1654, x1629, x1591);
+ uint32_t x1657;
+ fiat_p384_uint1 x1658;
+ fiat_p384_addcarryx_u32(&x1657, &x1658, x1656, x1631, x1593);
+ uint32_t x1659;
+ fiat_p384_uint1 x1660;
+ fiat_p384_addcarryx_u32(&x1659, &x1660, x1658, x1633, x1595);
+ uint32_t x1661;
+ fiat_p384_uint1 x1662;
+ fiat_p384_addcarryx_u32(&x1661, &x1662, x1660, x1635, x1597);
+ uint32_t x1663;
+ fiat_p384_uint1 x1664;
+ fiat_p384_addcarryx_u32(&x1663, &x1664, x1662, x1637, x1599);
+ uint32_t x1665;
+ fiat_p384_uint1 x1666;
+ fiat_p384_addcarryx_u32(&x1665, &x1666, x1664, 0x0, x1600);
+ uint32_t x1667;
+ fiat_p384_uint1 x1668;
+ fiat_p384_subborrowx_u32(&x1667, &x1668, 0x0, x1641, UINT32_C(0xffffffff));
+ uint32_t x1669;
+ fiat_p384_uint1 x1670;
+ fiat_p384_subborrowx_u32(&x1669, &x1670, x1668, x1643, 0x0);
+ uint32_t x1671;
+ fiat_p384_uint1 x1672;
+ fiat_p384_subborrowx_u32(&x1671, &x1672, x1670, x1645, 0x0);
+ uint32_t x1673;
+ fiat_p384_uint1 x1674;
+ fiat_p384_subborrowx_u32(&x1673, &x1674, x1672, x1647, UINT32_C(0xffffffff));
+ uint32_t x1675;
+ fiat_p384_uint1 x1676;
+ fiat_p384_subborrowx_u32(&x1675, &x1676, x1674, x1649, UINT32_C(0xfffffffe));
+ uint32_t x1677;
+ fiat_p384_uint1 x1678;
+ fiat_p384_subborrowx_u32(&x1677, &x1678, x1676, x1651, UINT32_C(0xffffffff));
+ uint32_t x1679;
+ fiat_p384_uint1 x1680;
+ fiat_p384_subborrowx_u32(&x1679, &x1680, x1678, x1653, UINT32_C(0xffffffff));
+ uint32_t x1681;
+ fiat_p384_uint1 x1682;
+ fiat_p384_subborrowx_u32(&x1681, &x1682, x1680, x1655, UINT32_C(0xffffffff));
+ uint32_t x1683;
+ fiat_p384_uint1 x1684;
+ fiat_p384_subborrowx_u32(&x1683, &x1684, x1682, x1657, UINT32_C(0xffffffff));
+ uint32_t x1685;
+ fiat_p384_uint1 x1686;
+ fiat_p384_subborrowx_u32(&x1685, &x1686, x1684, x1659, UINT32_C(0xffffffff));
+ uint32_t x1687;
+ fiat_p384_uint1 x1688;
+ fiat_p384_subborrowx_u32(&x1687, &x1688, x1686, x1661, UINT32_C(0xffffffff));
+ uint32_t x1689;
+ fiat_p384_uint1 x1690;
+ fiat_p384_subborrowx_u32(&x1689, &x1690, x1688, x1663, UINT32_C(0xffffffff));
+ uint32_t x1691;
+ fiat_p384_uint1 x1692;
+ fiat_p384_subborrowx_u32(&x1691, &x1692, x1690, x1665, 0x0);
+ uint32_t x1693;
+ fiat_p384_cmovznz_u32(&x1693, x1692, x1667, x1641);
+ uint32_t x1694;
+ fiat_p384_cmovznz_u32(&x1694, x1692, x1669, x1643);
+ uint32_t x1695;
+ fiat_p384_cmovznz_u32(&x1695, x1692, x1671, x1645);
+ uint32_t x1696;
+ fiat_p384_cmovznz_u32(&x1696, x1692, x1673, x1647);
+ uint32_t x1697;
+ fiat_p384_cmovznz_u32(&x1697, x1692, x1675, x1649);
+ uint32_t x1698;
+ fiat_p384_cmovznz_u32(&x1698, x1692, x1677, x1651);
+ uint32_t x1699;
+ fiat_p384_cmovznz_u32(&x1699, x1692, x1679, x1653);
+ uint32_t x1700;
+ fiat_p384_cmovznz_u32(&x1700, x1692, x1681, x1655);
+ uint32_t x1701;
+ fiat_p384_cmovznz_u32(&x1701, x1692, x1683, x1657);
+ uint32_t x1702;
+ fiat_p384_cmovznz_u32(&x1702, x1692, x1685, x1659);
+ uint32_t x1703;
+ fiat_p384_cmovznz_u32(&x1703, x1692, x1687, x1661);
+ uint32_t x1704;
+ fiat_p384_cmovznz_u32(&x1704, x1692, x1689, x1663);
+ out1[0] = x1693;
+ out1[1] = x1694;
+ out1[2] = x1695;
+ out1[3] = x1696;
+ out1[4] = x1697;
+ out1[5] = x1698;
+ out1[6] = x1699;
+ out1[7] = x1700;
+ out1[8] = x1701;
+ out1[9] = x1702;
+ out1[10] = x1703;
+ out1[11] = x1704;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p384_square(uint32_t out1[12], const uint32_t arg1[12]) {
+ uint32_t x1 = (arg1[1]);
+ uint32_t x2 = (arg1[2]);
+ uint32_t x3 = (arg1[3]);
+ uint32_t x4 = (arg1[4]);
+ uint32_t x5 = (arg1[5]);
+ uint32_t x6 = (arg1[6]);
+ uint32_t x7 = (arg1[7]);
+ uint32_t x8 = (arg1[8]);
+ uint32_t x9 = (arg1[9]);
+ uint32_t x10 = (arg1[10]);
+ uint32_t x11 = (arg1[11]);
+ uint32_t x12 = (arg1[0]);
+ uint32_t x13;
+ uint32_t x14;
+ fiat_p384_mulx_u32(&x13, &x14, x12, (arg1[11]));
+ uint32_t x15;
+ uint32_t x16;
+ fiat_p384_mulx_u32(&x15, &x16, x12, (arg1[10]));
+ uint32_t x17;
+ uint32_t x18;
+ fiat_p384_mulx_u32(&x17, &x18, x12, (arg1[9]));
+ uint32_t x19;
+ uint32_t x20;
+ fiat_p384_mulx_u32(&x19, &x20, x12, (arg1[8]));
+ uint32_t x21;
+ uint32_t x22;
+ fiat_p384_mulx_u32(&x21, &x22, x12, (arg1[7]));
+ uint32_t x23;
+ uint32_t x24;
+ fiat_p384_mulx_u32(&x23, &x24, x12, (arg1[6]));
+ uint32_t x25;
+ uint32_t x26;
+ fiat_p384_mulx_u32(&x25, &x26, x12, (arg1[5]));
+ uint32_t x27;
+ uint32_t x28;
+ fiat_p384_mulx_u32(&x27, &x28, x12, (arg1[4]));
+ uint32_t x29;
+ uint32_t x30;
+ fiat_p384_mulx_u32(&x29, &x30, x12, (arg1[3]));
+ uint32_t x31;
+ uint32_t x32;
+ fiat_p384_mulx_u32(&x31, &x32, x12, (arg1[2]));
+ uint32_t x33;
+ uint32_t x34;
+ fiat_p384_mulx_u32(&x33, &x34, x12, (arg1[1]));
+ uint32_t x35;
+ uint32_t x36;
+ fiat_p384_mulx_u32(&x35, &x36, x12, (arg1[0]));
+ uint32_t x37;
+ fiat_p384_uint1 x38;
+ fiat_p384_addcarryx_u32(&x37, &x38, 0x0, x33, x36);
+ uint32_t x39;
+ fiat_p384_uint1 x40;
+ fiat_p384_addcarryx_u32(&x39, &x40, x38, x31, x34);
+ uint32_t x41;
+ fiat_p384_uint1 x42;
+ fiat_p384_addcarryx_u32(&x41, &x42, x40, x29, x32);
+ uint32_t x43;
+ fiat_p384_uint1 x44;
+ fiat_p384_addcarryx_u32(&x43, &x44, x42, x27, x30);
+ uint32_t x45;
+ fiat_p384_uint1 x46;
+ fiat_p384_addcarryx_u32(&x45, &x46, x44, x25, x28);
+ uint32_t x47;
+ fiat_p384_uint1 x48;
+ fiat_p384_addcarryx_u32(&x47, &x48, x46, x23, x26);
+ uint32_t x49;
+ fiat_p384_uint1 x50;
+ fiat_p384_addcarryx_u32(&x49, &x50, x48, x21, x24);
+ uint32_t x51;
+ fiat_p384_uint1 x52;
+ fiat_p384_addcarryx_u32(&x51, &x52, x50, x19, x22);
+ uint32_t x53;
+ fiat_p384_uint1 x54;
+ fiat_p384_addcarryx_u32(&x53, &x54, x52, x17, x20);
+ uint32_t x55;
+ fiat_p384_uint1 x56;
+ fiat_p384_addcarryx_u32(&x55, &x56, x54, x15, x18);
+ uint32_t x57;
+ fiat_p384_uint1 x58;
+ fiat_p384_addcarryx_u32(&x57, &x58, x56, x13, x16);
+ uint32_t x59;
+ fiat_p384_uint1 x60;
+ fiat_p384_addcarryx_u32(&x59, &x60, x58, 0x0, x14);
+ uint32_t x61;
+ uint32_t x62;
+ fiat_p384_mulx_u32(&x61, &x62, x35, UINT32_C(0xffffffff));
+ uint32_t x63;
+ uint32_t x64;
+ fiat_p384_mulx_u32(&x63, &x64, x35, UINT32_C(0xffffffff));
+ uint32_t x65;
+ uint32_t x66;
+ fiat_p384_mulx_u32(&x65, &x66, x35, UINT32_C(0xffffffff));
+ uint32_t x67;
+ uint32_t x68;
+ fiat_p384_mulx_u32(&x67, &x68, x35, UINT32_C(0xffffffff));
+ uint32_t x69;
+ uint32_t x70;
+ fiat_p384_mulx_u32(&x69, &x70, x35, UINT32_C(0xffffffff));
+ uint32_t x71;
+ uint32_t x72;
+ fiat_p384_mulx_u32(&x71, &x72, x35, UINT32_C(0xffffffff));
+ uint32_t x73;
+ uint32_t x74;
+ fiat_p384_mulx_u32(&x73, &x74, x35, UINT32_C(0xffffffff));
+ uint32_t x75;
+ uint32_t x76;
+ fiat_p384_mulx_u32(&x75, &x76, x35, UINT32_C(0xfffffffe));
+ uint32_t x77;
+ uint32_t x78;
+ fiat_p384_mulx_u32(&x77, &x78, x35, UINT32_C(0xffffffff));
+ uint32_t x79;
+ uint32_t x80;
+ fiat_p384_mulx_u32(&x79, &x80, x35, UINT32_C(0xffffffff));
+ uint32_t x81;
+ fiat_p384_uint1 x82;
+ fiat_p384_addcarryx_u32(&x81, &x82, 0x0, x75, x78);
+ uint32_t x83;
+ fiat_p384_uint1 x84;
+ fiat_p384_addcarryx_u32(&x83, &x84, x82, x73, x76);
+ uint32_t x85;
+ fiat_p384_uint1 x86;
+ fiat_p384_addcarryx_u32(&x85, &x86, x84, x71, x74);
+ uint32_t x87;
+ fiat_p384_uint1 x88;
+ fiat_p384_addcarryx_u32(&x87, &x88, x86, x69, x72);
+ uint32_t x89;
+ fiat_p384_uint1 x90;
+ fiat_p384_addcarryx_u32(&x89, &x90, x88, x67, x70);
+ uint32_t x91;
+ fiat_p384_uint1 x92;
+ fiat_p384_addcarryx_u32(&x91, &x92, x90, x65, x68);
+ uint32_t x93;
+ fiat_p384_uint1 x94;
+ fiat_p384_addcarryx_u32(&x93, &x94, x92, x63, x66);
+ uint32_t x95;
+ fiat_p384_uint1 x96;
+ fiat_p384_addcarryx_u32(&x95, &x96, x94, x61, x64);
+ uint32_t x97;
+ fiat_p384_uint1 x98;
+ fiat_p384_addcarryx_u32(&x97, &x98, x96, 0x0, x62);
+ uint32_t x99;
+ fiat_p384_uint1 x100;
+ fiat_p384_addcarryx_u32(&x99, &x100, 0x0, x79, x35);
+ uint32_t x101;
+ fiat_p384_uint1 x102;
+ fiat_p384_addcarryx_u32(&x101, &x102, x100, x80, x37);
+ uint32_t x103;
+ fiat_p384_uint1 x104;
+ fiat_p384_addcarryx_u32(&x103, &x104, x102, 0x0, x39);
+ uint32_t x105;
+ fiat_p384_uint1 x106;
+ fiat_p384_addcarryx_u32(&x105, &x106, x104, x77, x41);
+ uint32_t x107;
+ fiat_p384_uint1 x108;
+ fiat_p384_addcarryx_u32(&x107, &x108, x106, x81, x43);
+ uint32_t x109;
+ fiat_p384_uint1 x110;
+ fiat_p384_addcarryx_u32(&x109, &x110, x108, x83, x45);
+ uint32_t x111;
+ fiat_p384_uint1 x112;
+ fiat_p384_addcarryx_u32(&x111, &x112, x110, x85, x47);
+ uint32_t x113;
+ fiat_p384_uint1 x114;
+ fiat_p384_addcarryx_u32(&x113, &x114, x112, x87, x49);
+ uint32_t x115;
+ fiat_p384_uint1 x116;
+ fiat_p384_addcarryx_u32(&x115, &x116, x114, x89, x51);
+ uint32_t x117;
+ fiat_p384_uint1 x118;
+ fiat_p384_addcarryx_u32(&x117, &x118, x116, x91, x53);
+ uint32_t x119;
+ fiat_p384_uint1 x120;
+ fiat_p384_addcarryx_u32(&x119, &x120, x118, x93, x55);
+ uint32_t x121;
+ fiat_p384_uint1 x122;
+ fiat_p384_addcarryx_u32(&x121, &x122, x120, x95, x57);
+ uint32_t x123;
+ fiat_p384_uint1 x124;
+ fiat_p384_addcarryx_u32(&x123, &x124, x122, x97, x59);
+ uint32_t x125;
+ fiat_p384_uint1 x126;
+ fiat_p384_addcarryx_u32(&x125, &x126, x124, 0x0, 0x0);
+ uint32_t x127;
+ uint32_t x128;
+ fiat_p384_mulx_u32(&x127, &x128, x1, (arg1[11]));
+ uint32_t x129;
+ uint32_t x130;
+ fiat_p384_mulx_u32(&x129, &x130, x1, (arg1[10]));
+ uint32_t x131;
+ uint32_t x132;
+ fiat_p384_mulx_u32(&x131, &x132, x1, (arg1[9]));
+ uint32_t x133;
+ uint32_t x134;
+ fiat_p384_mulx_u32(&x133, &x134, x1, (arg1[8]));
+ uint32_t x135;
+ uint32_t x136;
+ fiat_p384_mulx_u32(&x135, &x136, x1, (arg1[7]));
+ uint32_t x137;
+ uint32_t x138;
+ fiat_p384_mulx_u32(&x137, &x138, x1, (arg1[6]));
+ uint32_t x139;
+ uint32_t x140;
+ fiat_p384_mulx_u32(&x139, &x140, x1, (arg1[5]));
+ uint32_t x141;
+ uint32_t x142;
+ fiat_p384_mulx_u32(&x141, &x142, x1, (arg1[4]));
+ uint32_t x143;
+ uint32_t x144;
+ fiat_p384_mulx_u32(&x143, &x144, x1, (arg1[3]));
+ uint32_t x145;
+ uint32_t x146;
+ fiat_p384_mulx_u32(&x145, &x146, x1, (arg1[2]));
+ uint32_t x147;
+ uint32_t x148;
+ fiat_p384_mulx_u32(&x147, &x148, x1, (arg1[1]));
+ uint32_t x149;
+ uint32_t x150;
+ fiat_p384_mulx_u32(&x149, &x150, x1, (arg1[0]));
+ uint32_t x151;
+ fiat_p384_uint1 x152;
+ fiat_p384_addcarryx_u32(&x151, &x152, 0x0, x147, x150);
+ uint32_t x153;
+ fiat_p384_uint1 x154;
+ fiat_p384_addcarryx_u32(&x153, &x154, x152, x145, x148);
+ uint32_t x155;
+ fiat_p384_uint1 x156;
+ fiat_p384_addcarryx_u32(&x155, &x156, x154, x143, x146);
+ uint32_t x157;
+ fiat_p384_uint1 x158;
+ fiat_p384_addcarryx_u32(&x157, &x158, x156, x141, x144);
+ uint32_t x159;
+ fiat_p384_uint1 x160;
+ fiat_p384_addcarryx_u32(&x159, &x160, x158, x139, x142);
+ uint32_t x161;
+ fiat_p384_uint1 x162;
+ fiat_p384_addcarryx_u32(&x161, &x162, x160, x137, x140);
+ uint32_t x163;
+ fiat_p384_uint1 x164;
+ fiat_p384_addcarryx_u32(&x163, &x164, x162, x135, x138);
+ uint32_t x165;
+ fiat_p384_uint1 x166;
+ fiat_p384_addcarryx_u32(&x165, &x166, x164, x133, x136);
+ uint32_t x167;
+ fiat_p384_uint1 x168;
+ fiat_p384_addcarryx_u32(&x167, &x168, x166, x131, x134);
+ uint32_t x169;
+ fiat_p384_uint1 x170;
+ fiat_p384_addcarryx_u32(&x169, &x170, x168, x129, x132);
+ uint32_t x171;
+ fiat_p384_uint1 x172;
+ fiat_p384_addcarryx_u32(&x171, &x172, x170, x127, x130);
+ uint32_t x173;
+ fiat_p384_uint1 x174;
+ fiat_p384_addcarryx_u32(&x173, &x174, x172, 0x0, x128);
+ uint32_t x175;
+ fiat_p384_uint1 x176;
+ fiat_p384_addcarryx_u32(&x175, &x176, 0x0, x149, x101);
+ uint32_t x177;
+ fiat_p384_uint1 x178;
+ fiat_p384_addcarryx_u32(&x177, &x178, x176, x151, x103);
+ uint32_t x179;
+ fiat_p384_uint1 x180;
+ fiat_p384_addcarryx_u32(&x179, &x180, x178, x153, x105);
+ uint32_t x181;
+ fiat_p384_uint1 x182;
+ fiat_p384_addcarryx_u32(&x181, &x182, x180, x155, x107);
+ uint32_t x183;
+ fiat_p384_uint1 x184;
+ fiat_p384_addcarryx_u32(&x183, &x184, x182, x157, x109);
+ uint32_t x185;
+ fiat_p384_uint1 x186;
+ fiat_p384_addcarryx_u32(&x185, &x186, x184, x159, x111);
+ uint32_t x187;
+ fiat_p384_uint1 x188;
+ fiat_p384_addcarryx_u32(&x187, &x188, x186, x161, x113);
+ uint32_t x189;
+ fiat_p384_uint1 x190;
+ fiat_p384_addcarryx_u32(&x189, &x190, x188, x163, x115);
+ uint32_t x191;
+ fiat_p384_uint1 x192;
+ fiat_p384_addcarryx_u32(&x191, &x192, x190, x165, x117);
+ uint32_t x193;
+ fiat_p384_uint1 x194;
+ fiat_p384_addcarryx_u32(&x193, &x194, x192, x167, x119);
+ uint32_t x195;
+ fiat_p384_uint1 x196;
+ fiat_p384_addcarryx_u32(&x195, &x196, x194, x169, x121);
+ uint32_t x197;
+ fiat_p384_uint1 x198;
+ fiat_p384_addcarryx_u32(&x197, &x198, x196, x171, x123);
+ uint32_t x199;
+ fiat_p384_uint1 x200;
+ fiat_p384_addcarryx_u32(&x199, &x200, x198, x173, (fiat_p384_uint1)x125);
+ uint32_t x201;
+ uint32_t x202;
+ fiat_p384_mulx_u32(&x201, &x202, x175, UINT32_C(0xffffffff));
+ uint32_t x203;
+ uint32_t x204;
+ fiat_p384_mulx_u32(&x203, &x204, x175, UINT32_C(0xffffffff));
+ uint32_t x205;
+ uint32_t x206;
+ fiat_p384_mulx_u32(&x205, &x206, x175, UINT32_C(0xffffffff));
+ uint32_t x207;
+ uint32_t x208;
+ fiat_p384_mulx_u32(&x207, &x208, x175, UINT32_C(0xffffffff));
+ uint32_t x209;
+ uint32_t x210;
+ fiat_p384_mulx_u32(&x209, &x210, x175, UINT32_C(0xffffffff));
+ uint32_t x211;
+ uint32_t x212;
+ fiat_p384_mulx_u32(&x211, &x212, x175, UINT32_C(0xffffffff));
+ uint32_t x213;
+ uint32_t x214;
+ fiat_p384_mulx_u32(&x213, &x214, x175, UINT32_C(0xffffffff));
+ uint32_t x215;
+ uint32_t x216;
+ fiat_p384_mulx_u32(&x215, &x216, x175, UINT32_C(0xfffffffe));
+ uint32_t x217;
+ uint32_t x218;
+ fiat_p384_mulx_u32(&x217, &x218, x175, UINT32_C(0xffffffff));
+ uint32_t x219;
+ uint32_t x220;
+ fiat_p384_mulx_u32(&x219, &x220, x175, UINT32_C(0xffffffff));
+ uint32_t x221;
+ fiat_p384_uint1 x222;
+ fiat_p384_addcarryx_u32(&x221, &x222, 0x0, x215, x218);
+ uint32_t x223;
+ fiat_p384_uint1 x224;
+ fiat_p384_addcarryx_u32(&x223, &x224, x222, x213, x216);
+ uint32_t x225;
+ fiat_p384_uint1 x226;
+ fiat_p384_addcarryx_u32(&x225, &x226, x224, x211, x214);
+ uint32_t x227;
+ fiat_p384_uint1 x228;
+ fiat_p384_addcarryx_u32(&x227, &x228, x226, x209, x212);
+ uint32_t x229;
+ fiat_p384_uint1 x230;
+ fiat_p384_addcarryx_u32(&x229, &x230, x228, x207, x210);
+ uint32_t x231;
+ fiat_p384_uint1 x232;
+ fiat_p384_addcarryx_u32(&x231, &x232, x230, x205, x208);
+ uint32_t x233;
+ fiat_p384_uint1 x234;
+ fiat_p384_addcarryx_u32(&x233, &x234, x232, x203, x206);
+ uint32_t x235;
+ fiat_p384_uint1 x236;
+ fiat_p384_addcarryx_u32(&x235, &x236, x234, x201, x204);
+ uint32_t x237;
+ fiat_p384_uint1 x238;
+ fiat_p384_addcarryx_u32(&x237, &x238, x236, 0x0, x202);
+ uint32_t x239;
+ fiat_p384_uint1 x240;
+ fiat_p384_addcarryx_u32(&x239, &x240, 0x0, x219, x175);
+ uint32_t x241;
+ fiat_p384_uint1 x242;
+ fiat_p384_addcarryx_u32(&x241, &x242, x240, x220, x177);
+ uint32_t x243;
+ fiat_p384_uint1 x244;
+ fiat_p384_addcarryx_u32(&x243, &x244, x242, 0x0, x179);
+ uint32_t x245;
+ fiat_p384_uint1 x246;
+ fiat_p384_addcarryx_u32(&x245, &x246, x244, x217, x181);
+ uint32_t x247;
+ fiat_p384_uint1 x248;
+ fiat_p384_addcarryx_u32(&x247, &x248, x246, x221, x183);
+ uint32_t x249;
+ fiat_p384_uint1 x250;
+ fiat_p384_addcarryx_u32(&x249, &x250, x248, x223, x185);
+ uint32_t x251;
+ fiat_p384_uint1 x252;
+ fiat_p384_addcarryx_u32(&x251, &x252, x250, x225, x187);
+ uint32_t x253;
+ fiat_p384_uint1 x254;
+ fiat_p384_addcarryx_u32(&x253, &x254, x252, x227, x189);
+ uint32_t x255;
+ fiat_p384_uint1 x256;
+ fiat_p384_addcarryx_u32(&x255, &x256, x254, x229, x191);
+ uint32_t x257;
+ fiat_p384_uint1 x258;
+ fiat_p384_addcarryx_u32(&x257, &x258, x256, x231, x193);
+ uint32_t x259;
+ fiat_p384_uint1 x260;
+ fiat_p384_addcarryx_u32(&x259, &x260, x258, x233, x195);
+ uint32_t x261;
+ fiat_p384_uint1 x262;
+ fiat_p384_addcarryx_u32(&x261, &x262, x260, x235, x197);
+ uint32_t x263;
+ fiat_p384_uint1 x264;
+ fiat_p384_addcarryx_u32(&x263, &x264, x262, x237, x199);
+ uint32_t x265;
+ fiat_p384_uint1 x266;
+ fiat_p384_addcarryx_u32(&x265, &x266, x264, 0x0, x200);
+ uint32_t x267;
+ uint32_t x268;
+ fiat_p384_mulx_u32(&x267, &x268, x2, (arg1[11]));
+ uint32_t x269;
+ uint32_t x270;
+ fiat_p384_mulx_u32(&x269, &x270, x2, (arg1[10]));
+ uint32_t x271;
+ uint32_t x272;
+ fiat_p384_mulx_u32(&x271, &x272, x2, (arg1[9]));
+ uint32_t x273;
+ uint32_t x274;
+ fiat_p384_mulx_u32(&x273, &x274, x2, (arg1[8]));
+ uint32_t x275;
+ uint32_t x276;
+ fiat_p384_mulx_u32(&x275, &x276, x2, (arg1[7]));
+ uint32_t x277;
+ uint32_t x278;
+ fiat_p384_mulx_u32(&x277, &x278, x2, (arg1[6]));
+ uint32_t x279;
+ uint32_t x280;
+ fiat_p384_mulx_u32(&x279, &x280, x2, (arg1[5]));
+ uint32_t x281;
+ uint32_t x282;
+ fiat_p384_mulx_u32(&x281, &x282, x2, (arg1[4]));
+ uint32_t x283;
+ uint32_t x284;
+ fiat_p384_mulx_u32(&x283, &x284, x2, (arg1[3]));
+ uint32_t x285;
+ uint32_t x286;
+ fiat_p384_mulx_u32(&x285, &x286, x2, (arg1[2]));
+ uint32_t x287;
+ uint32_t x288;
+ fiat_p384_mulx_u32(&x287, &x288, x2, (arg1[1]));
+ uint32_t x289;
+ uint32_t x290;
+ fiat_p384_mulx_u32(&x289, &x290, x2, (arg1[0]));
+ uint32_t x291;
+ fiat_p384_uint1 x292;
+ fiat_p384_addcarryx_u32(&x291, &x292, 0x0, x287, x290);
+ uint32_t x293;
+ fiat_p384_uint1 x294;
+ fiat_p384_addcarryx_u32(&x293, &x294, x292, x285, x288);
+ uint32_t x295;
+ fiat_p384_uint1 x296;
+ fiat_p384_addcarryx_u32(&x295, &x296, x294, x283, x286);
+ uint32_t x297;
+ fiat_p384_uint1 x298;
+ fiat_p384_addcarryx_u32(&x297, &x298, x296, x281, x284);
+ uint32_t x299;
+ fiat_p384_uint1 x300;
+ fiat_p384_addcarryx_u32(&x299, &x300, x298, x279, x282);
+ uint32_t x301;
+ fiat_p384_uint1 x302;
+ fiat_p384_addcarryx_u32(&x301, &x302, x300, x277, x280);
+ uint32_t x303;
+ fiat_p384_uint1 x304;
+ fiat_p384_addcarryx_u32(&x303, &x304, x302, x275, x278);
+ uint32_t x305;
+ fiat_p384_uint1 x306;
+ fiat_p384_addcarryx_u32(&x305, &x306, x304, x273, x276);
+ uint32_t x307;
+ fiat_p384_uint1 x308;
+ fiat_p384_addcarryx_u32(&x307, &x308, x306, x271, x274);
+ uint32_t x309;
+ fiat_p384_uint1 x310;
+ fiat_p384_addcarryx_u32(&x309, &x310, x308, x269, x272);
+ uint32_t x311;
+ fiat_p384_uint1 x312;
+ fiat_p384_addcarryx_u32(&x311, &x312, x310, x267, x270);
+ uint32_t x313;
+ fiat_p384_uint1 x314;
+ fiat_p384_addcarryx_u32(&x313, &x314, x312, 0x0, x268);
+ uint32_t x315;
+ fiat_p384_uint1 x316;
+ fiat_p384_addcarryx_u32(&x315, &x316, 0x0, x289, x241);
+ uint32_t x317;
+ fiat_p384_uint1 x318;
+ fiat_p384_addcarryx_u32(&x317, &x318, x316, x291, x243);
+ uint32_t x319;
+ fiat_p384_uint1 x320;
+ fiat_p384_addcarryx_u32(&x319, &x320, x318, x293, x245);
+ uint32_t x321;
+ fiat_p384_uint1 x322;
+ fiat_p384_addcarryx_u32(&x321, &x322, x320, x295, x247);
+ uint32_t x323;
+ fiat_p384_uint1 x324;
+ fiat_p384_addcarryx_u32(&x323, &x324, x322, x297, x249);
+ uint32_t x325;
+ fiat_p384_uint1 x326;
+ fiat_p384_addcarryx_u32(&x325, &x326, x324, x299, x251);
+ uint32_t x327;
+ fiat_p384_uint1 x328;
+ fiat_p384_addcarryx_u32(&x327, &x328, x326, x301, x253);
+ uint32_t x329;
+ fiat_p384_uint1 x330;
+ fiat_p384_addcarryx_u32(&x329, &x330, x328, x303, x255);
+ uint32_t x331;
+ fiat_p384_uint1 x332;
+ fiat_p384_addcarryx_u32(&x331, &x332, x330, x305, x257);
+ uint32_t x333;
+ fiat_p384_uint1 x334;
+ fiat_p384_addcarryx_u32(&x333, &x334, x332, x307, x259);
+ uint32_t x335;
+ fiat_p384_uint1 x336;
+ fiat_p384_addcarryx_u32(&x335, &x336, x334, x309, x261);
+ uint32_t x337;
+ fiat_p384_uint1 x338;
+ fiat_p384_addcarryx_u32(&x337, &x338, x336, x311, x263);
+ uint32_t x339;
+ fiat_p384_uint1 x340;
+ fiat_p384_addcarryx_u32(&x339, &x340, x338, x313, x265);
+ uint32_t x341;
+ uint32_t x342;
+ fiat_p384_mulx_u32(&x341, &x342, x315, UINT32_C(0xffffffff));
+ uint32_t x343;
+ uint32_t x344;
+ fiat_p384_mulx_u32(&x343, &x344, x315, UINT32_C(0xffffffff));
+ uint32_t x345;
+ uint32_t x346;
+ fiat_p384_mulx_u32(&x345, &x346, x315, UINT32_C(0xffffffff));
+ uint32_t x347;
+ uint32_t x348;
+ fiat_p384_mulx_u32(&x347, &x348, x315, UINT32_C(0xffffffff));
+ uint32_t x349;
+ uint32_t x350;
+ fiat_p384_mulx_u32(&x349, &x350, x315, UINT32_C(0xffffffff));
+ uint32_t x351;
+ uint32_t x352;
+ fiat_p384_mulx_u32(&x351, &x352, x315, UINT32_C(0xffffffff));
+ uint32_t x353;
+ uint32_t x354;
+ fiat_p384_mulx_u32(&x353, &x354, x315, UINT32_C(0xffffffff));
+ uint32_t x355;
+ uint32_t x356;
+ fiat_p384_mulx_u32(&x355, &x356, x315, UINT32_C(0xfffffffe));
+ uint32_t x357;
+ uint32_t x358;
+ fiat_p384_mulx_u32(&x357, &x358, x315, UINT32_C(0xffffffff));
+ uint32_t x359;
+ uint32_t x360;
+ fiat_p384_mulx_u32(&x359, &x360, x315, UINT32_C(0xffffffff));
+ uint32_t x361;
+ fiat_p384_uint1 x362;
+ fiat_p384_addcarryx_u32(&x361, &x362, 0x0, x355, x358);
+ uint32_t x363;
+ fiat_p384_uint1 x364;
+ fiat_p384_addcarryx_u32(&x363, &x364, x362, x353, x356);
+ uint32_t x365;
+ fiat_p384_uint1 x366;
+ fiat_p384_addcarryx_u32(&x365, &x366, x364, x351, x354);
+ uint32_t x367;
+ fiat_p384_uint1 x368;
+ fiat_p384_addcarryx_u32(&x367, &x368, x366, x349, x352);
+ uint32_t x369;
+ fiat_p384_uint1 x370;
+ fiat_p384_addcarryx_u32(&x369, &x370, x368, x347, x350);
+ uint32_t x371;
+ fiat_p384_uint1 x372;
+ fiat_p384_addcarryx_u32(&x371, &x372, x370, x345, x348);
+ uint32_t x373;
+ fiat_p384_uint1 x374;
+ fiat_p384_addcarryx_u32(&x373, &x374, x372, x343, x346);
+ uint32_t x375;
+ fiat_p384_uint1 x376;
+ fiat_p384_addcarryx_u32(&x375, &x376, x374, x341, x344);
+ uint32_t x377;
+ fiat_p384_uint1 x378;
+ fiat_p384_addcarryx_u32(&x377, &x378, x376, 0x0, x342);
+ uint32_t x379;
+ fiat_p384_uint1 x380;
+ fiat_p384_addcarryx_u32(&x379, &x380, 0x0, x359, x315);
+ uint32_t x381;
+ fiat_p384_uint1 x382;
+ fiat_p384_addcarryx_u32(&x381, &x382, x380, x360, x317);
+ uint32_t x383;
+ fiat_p384_uint1 x384;
+ fiat_p384_addcarryx_u32(&x383, &x384, x382, 0x0, x319);
+ uint32_t x385;
+ fiat_p384_uint1 x386;
+ fiat_p384_addcarryx_u32(&x385, &x386, x384, x357, x321);
+ uint32_t x387;
+ fiat_p384_uint1 x388;
+ fiat_p384_addcarryx_u32(&x387, &x388, x386, x361, x323);
+ uint32_t x389;
+ fiat_p384_uint1 x390;
+ fiat_p384_addcarryx_u32(&x389, &x390, x388, x363, x325);
+ uint32_t x391;
+ fiat_p384_uint1 x392;
+ fiat_p384_addcarryx_u32(&x391, &x392, x390, x365, x327);
+ uint32_t x393;
+ fiat_p384_uint1 x394;
+ fiat_p384_addcarryx_u32(&x393, &x394, x392, x367, x329);
+ uint32_t x395;
+ fiat_p384_uint1 x396;
+ fiat_p384_addcarryx_u32(&x395, &x396, x394, x369, x331);
+ uint32_t x397;
+ fiat_p384_uint1 x398;
+ fiat_p384_addcarryx_u32(&x397, &x398, x396, x371, x333);
+ uint32_t x399;
+ fiat_p384_uint1 x400;
+ fiat_p384_addcarryx_u32(&x399, &x400, x398, x373, x335);
+ uint32_t x401;
+ fiat_p384_uint1 x402;
+ fiat_p384_addcarryx_u32(&x401, &x402, x400, x375, x337);
+ uint32_t x403;
+ fiat_p384_uint1 x404;
+ fiat_p384_addcarryx_u32(&x403, &x404, x402, x377, x339);
+ uint32_t x405;
+ fiat_p384_uint1 x406;
+ fiat_p384_addcarryx_u32(&x405, &x406, x404, 0x0, x340);
+ uint32_t x407;
+ uint32_t x408;
+ fiat_p384_mulx_u32(&x407, &x408, x3, (arg1[11]));
+ uint32_t x409;
+ uint32_t x410;
+ fiat_p384_mulx_u32(&x409, &x410, x3, (arg1[10]));
+ uint32_t x411;
+ uint32_t x412;
+ fiat_p384_mulx_u32(&x411, &x412, x3, (arg1[9]));
+ uint32_t x413;
+ uint32_t x414;
+ fiat_p384_mulx_u32(&x413, &x414, x3, (arg1[8]));
+ uint32_t x415;
+ uint32_t x416;
+ fiat_p384_mulx_u32(&x415, &x416, x3, (arg1[7]));
+ uint32_t x417;
+ uint32_t x418;
+ fiat_p384_mulx_u32(&x417, &x418, x3, (arg1[6]));
+ uint32_t x419;
+ uint32_t x420;
+ fiat_p384_mulx_u32(&x419, &x420, x3, (arg1[5]));
+ uint32_t x421;
+ uint32_t x422;
+ fiat_p384_mulx_u32(&x421, &x422, x3, (arg1[4]));
+ uint32_t x423;
+ uint32_t x424;
+ fiat_p384_mulx_u32(&x423, &x424, x3, (arg1[3]));
+ uint32_t x425;
+ uint32_t x426;
+ fiat_p384_mulx_u32(&x425, &x426, x3, (arg1[2]));
+ uint32_t x427;
+ uint32_t x428;
+ fiat_p384_mulx_u32(&x427, &x428, x3, (arg1[1]));
+ uint32_t x429;
+ uint32_t x430;
+ fiat_p384_mulx_u32(&x429, &x430, x3, (arg1[0]));
+ uint32_t x431;
+ fiat_p384_uint1 x432;
+ fiat_p384_addcarryx_u32(&x431, &x432, 0x0, x427, x430);
+ uint32_t x433;
+ fiat_p384_uint1 x434;
+ fiat_p384_addcarryx_u32(&x433, &x434, x432, x425, x428);
+ uint32_t x435;
+ fiat_p384_uint1 x436;
+ fiat_p384_addcarryx_u32(&x435, &x436, x434, x423, x426);
+ uint32_t x437;
+ fiat_p384_uint1 x438;
+ fiat_p384_addcarryx_u32(&x437, &x438, x436, x421, x424);
+ uint32_t x439;
+ fiat_p384_uint1 x440;
+ fiat_p384_addcarryx_u32(&x439, &x440, x438, x419, x422);
+ uint32_t x441;
+ fiat_p384_uint1 x442;
+ fiat_p384_addcarryx_u32(&x441, &x442, x440, x417, x420);
+ uint32_t x443;
+ fiat_p384_uint1 x444;
+ fiat_p384_addcarryx_u32(&x443, &x444, x442, x415, x418);
+ uint32_t x445;
+ fiat_p384_uint1 x446;
+ fiat_p384_addcarryx_u32(&x445, &x446, x444, x413, x416);
+ uint32_t x447;
+ fiat_p384_uint1 x448;
+ fiat_p384_addcarryx_u32(&x447, &x448, x446, x411, x414);
+ uint32_t x449;
+ fiat_p384_uint1 x450;
+ fiat_p384_addcarryx_u32(&x449, &x450, x448, x409, x412);
+ uint32_t x451;
+ fiat_p384_uint1 x452;
+ fiat_p384_addcarryx_u32(&x451, &x452, x450, x407, x410);
+ uint32_t x453;
+ fiat_p384_uint1 x454;
+ fiat_p384_addcarryx_u32(&x453, &x454, x452, 0x0, x408);
+ uint32_t x455;
+ fiat_p384_uint1 x456;
+ fiat_p384_addcarryx_u32(&x455, &x456, 0x0, x429, x381);
+ uint32_t x457;
+ fiat_p384_uint1 x458;
+ fiat_p384_addcarryx_u32(&x457, &x458, x456, x431, x383);
+ uint32_t x459;
+ fiat_p384_uint1 x460;
+ fiat_p384_addcarryx_u32(&x459, &x460, x458, x433, x385);
+ uint32_t x461;
+ fiat_p384_uint1 x462;
+ fiat_p384_addcarryx_u32(&x461, &x462, x460, x435, x387);
+ uint32_t x463;
+ fiat_p384_uint1 x464;
+ fiat_p384_addcarryx_u32(&x463, &x464, x462, x437, x389);
+ uint32_t x465;
+ fiat_p384_uint1 x466;
+ fiat_p384_addcarryx_u32(&x465, &x466, x464, x439, x391);
+ uint32_t x467;
+ fiat_p384_uint1 x468;
+ fiat_p384_addcarryx_u32(&x467, &x468, x466, x441, x393);
+ uint32_t x469;
+ fiat_p384_uint1 x470;
+ fiat_p384_addcarryx_u32(&x469, &x470, x468, x443, x395);
+ uint32_t x471;
+ fiat_p384_uint1 x472;
+ fiat_p384_addcarryx_u32(&x471, &x472, x470, x445, x397);
+ uint32_t x473;
+ fiat_p384_uint1 x474;
+ fiat_p384_addcarryx_u32(&x473, &x474, x472, x447, x399);
+ uint32_t x475;
+ fiat_p384_uint1 x476;
+ fiat_p384_addcarryx_u32(&x475, &x476, x474, x449, x401);
+ uint32_t x477;
+ fiat_p384_uint1 x478;
+ fiat_p384_addcarryx_u32(&x477, &x478, x476, x451, x403);
+ uint32_t x479;
+ fiat_p384_uint1 x480;
+ fiat_p384_addcarryx_u32(&x479, &x480, x478, x453, x405);
+ uint32_t x481;
+ uint32_t x482;
+ fiat_p384_mulx_u32(&x481, &x482, x455, UINT32_C(0xffffffff));
+ uint32_t x483;
+ uint32_t x484;
+ fiat_p384_mulx_u32(&x483, &x484, x455, UINT32_C(0xffffffff));
+ uint32_t x485;
+ uint32_t x486;
+ fiat_p384_mulx_u32(&x485, &x486, x455, UINT32_C(0xffffffff));
+ uint32_t x487;
+ uint32_t x488;
+ fiat_p384_mulx_u32(&x487, &x488, x455, UINT32_C(0xffffffff));
+ uint32_t x489;
+ uint32_t x490;
+ fiat_p384_mulx_u32(&x489, &x490, x455, UINT32_C(0xffffffff));
+ uint32_t x491;
+ uint32_t x492;
+ fiat_p384_mulx_u32(&x491, &x492, x455, UINT32_C(0xffffffff));
+ uint32_t x493;
+ uint32_t x494;
+ fiat_p384_mulx_u32(&x493, &x494, x455, UINT32_C(0xffffffff));
+ uint32_t x495;
+ uint32_t x496;
+ fiat_p384_mulx_u32(&x495, &x496, x455, UINT32_C(0xfffffffe));
+ uint32_t x497;
+ uint32_t x498;
+ fiat_p384_mulx_u32(&x497, &x498, x455, UINT32_C(0xffffffff));
+ uint32_t x499;
+ uint32_t x500;
+ fiat_p384_mulx_u32(&x499, &x500, x455, UINT32_C(0xffffffff));
+ uint32_t x501;
+ fiat_p384_uint1 x502;
+ fiat_p384_addcarryx_u32(&x501, &x502, 0x0, x495, x498);
+ uint32_t x503;
+ fiat_p384_uint1 x504;
+ fiat_p384_addcarryx_u32(&x503, &x504, x502, x493, x496);
+ uint32_t x505;
+ fiat_p384_uint1 x506;
+ fiat_p384_addcarryx_u32(&x505, &x506, x504, x491, x494);
+ uint32_t x507;
+ fiat_p384_uint1 x508;
+ fiat_p384_addcarryx_u32(&x507, &x508, x506, x489, x492);
+ uint32_t x509;
+ fiat_p384_uint1 x510;
+ fiat_p384_addcarryx_u32(&x509, &x510, x508, x487, x490);
+ uint32_t x511;
+ fiat_p384_uint1 x512;
+ fiat_p384_addcarryx_u32(&x511, &x512, x510, x485, x488);
+ uint32_t x513;
+ fiat_p384_uint1 x514;
+ fiat_p384_addcarryx_u32(&x513, &x514, x512, x483, x486);
+ uint32_t x515;
+ fiat_p384_uint1 x516;
+ fiat_p384_addcarryx_u32(&x515, &x516, x514, x481, x484);
+ uint32_t x517;
+ fiat_p384_uint1 x518;
+ fiat_p384_addcarryx_u32(&x517, &x518, x516, 0x0, x482);
+ uint32_t x519;
+ fiat_p384_uint1 x520;
+ fiat_p384_addcarryx_u32(&x519, &x520, 0x0, x499, x455);
+ uint32_t x521;
+ fiat_p384_uint1 x522;
+ fiat_p384_addcarryx_u32(&x521, &x522, x520, x500, x457);
+ uint32_t x523;
+ fiat_p384_uint1 x524;
+ fiat_p384_addcarryx_u32(&x523, &x524, x522, 0x0, x459);
+ uint32_t x525;
+ fiat_p384_uint1 x526;
+ fiat_p384_addcarryx_u32(&x525, &x526, x524, x497, x461);
+ uint32_t x527;
+ fiat_p384_uint1 x528;
+ fiat_p384_addcarryx_u32(&x527, &x528, x526, x501, x463);
+ uint32_t x529;
+ fiat_p384_uint1 x530;
+ fiat_p384_addcarryx_u32(&x529, &x530, x528, x503, x465);
+ uint32_t x531;
+ fiat_p384_uint1 x532;
+ fiat_p384_addcarryx_u32(&x531, &x532, x530, x505, x467);
+ uint32_t x533;
+ fiat_p384_uint1 x534;
+ fiat_p384_addcarryx_u32(&x533, &x534, x532, x507, x469);
+ uint32_t x535;
+ fiat_p384_uint1 x536;
+ fiat_p384_addcarryx_u32(&x535, &x536, x534, x509, x471);
+ uint32_t x537;
+ fiat_p384_uint1 x538;
+ fiat_p384_addcarryx_u32(&x537, &x538, x536, x511, x473);
+ uint32_t x539;
+ fiat_p384_uint1 x540;
+ fiat_p384_addcarryx_u32(&x539, &x540, x538, x513, x475);
+ uint32_t x541;
+ fiat_p384_uint1 x542;
+ fiat_p384_addcarryx_u32(&x541, &x542, x540, x515, x477);
+ uint32_t x543;
+ fiat_p384_uint1 x544;
+ fiat_p384_addcarryx_u32(&x543, &x544, x542, x517, x479);
+ uint32_t x545;
+ fiat_p384_uint1 x546;
+ fiat_p384_addcarryx_u32(&x545, &x546, x544, 0x0, x480);
+ uint32_t x547;
+ uint32_t x548;
+ fiat_p384_mulx_u32(&x547, &x548, x4, (arg1[11]));
+ uint32_t x549;
+ uint32_t x550;
+ fiat_p384_mulx_u32(&x549, &x550, x4, (arg1[10]));
+ uint32_t x551;
+ uint32_t x552;
+ fiat_p384_mulx_u32(&x551, &x552, x4, (arg1[9]));
+ uint32_t x553;
+ uint32_t x554;
+ fiat_p384_mulx_u32(&x553, &x554, x4, (arg1[8]));
+ uint32_t x555;
+ uint32_t x556;
+ fiat_p384_mulx_u32(&x555, &x556, x4, (arg1[7]));
+ uint32_t x557;
+ uint32_t x558;
+ fiat_p384_mulx_u32(&x557, &x558, x4, (arg1[6]));
+ uint32_t x559;
+ uint32_t x560;
+ fiat_p384_mulx_u32(&x559, &x560, x4, (arg1[5]));
+ uint32_t x561;
+ uint32_t x562;
+ fiat_p384_mulx_u32(&x561, &x562, x4, (arg1[4]));
+ uint32_t x563;
+ uint32_t x564;
+ fiat_p384_mulx_u32(&x563, &x564, x4, (arg1[3]));
+ uint32_t x565;
+ uint32_t x566;
+ fiat_p384_mulx_u32(&x565, &x566, x4, (arg1[2]));
+ uint32_t x567;
+ uint32_t x568;
+ fiat_p384_mulx_u32(&x567, &x568, x4, (arg1[1]));
+ uint32_t x569;
+ uint32_t x570;
+ fiat_p384_mulx_u32(&x569, &x570, x4, (arg1[0]));
+ uint32_t x571;
+ fiat_p384_uint1 x572;
+ fiat_p384_addcarryx_u32(&x571, &x572, 0x0, x567, x570);
+ uint32_t x573;
+ fiat_p384_uint1 x574;
+ fiat_p384_addcarryx_u32(&x573, &x574, x572, x565, x568);
+ uint32_t x575;
+ fiat_p384_uint1 x576;
+ fiat_p384_addcarryx_u32(&x575, &x576, x574, x563, x566);
+ uint32_t x577;
+ fiat_p384_uint1 x578;
+ fiat_p384_addcarryx_u32(&x577, &x578, x576, x561, x564);
+ uint32_t x579;
+ fiat_p384_uint1 x580;
+ fiat_p384_addcarryx_u32(&x579, &x580, x578, x559, x562);
+ uint32_t x581;
+ fiat_p384_uint1 x582;
+ fiat_p384_addcarryx_u32(&x581, &x582, x580, x557, x560);
+ uint32_t x583;
+ fiat_p384_uint1 x584;
+ fiat_p384_addcarryx_u32(&x583, &x584, x582, x555, x558);
+ uint32_t x585;
+ fiat_p384_uint1 x586;
+ fiat_p384_addcarryx_u32(&x585, &x586, x584, x553, x556);
+ uint32_t x587;
+ fiat_p384_uint1 x588;
+ fiat_p384_addcarryx_u32(&x587, &x588, x586, x551, x554);
+ uint32_t x589;
+ fiat_p384_uint1 x590;
+ fiat_p384_addcarryx_u32(&x589, &x590, x588, x549, x552);
+ uint32_t x591;
+ fiat_p384_uint1 x592;
+ fiat_p384_addcarryx_u32(&x591, &x592, x590, x547, x550);
+ uint32_t x593;
+ fiat_p384_uint1 x594;
+ fiat_p384_addcarryx_u32(&x593, &x594, x592, 0x0, x548);
+ uint32_t x595;
+ fiat_p384_uint1 x596;
+ fiat_p384_addcarryx_u32(&x595, &x596, 0x0, x569, x521);
+ uint32_t x597;
+ fiat_p384_uint1 x598;
+ fiat_p384_addcarryx_u32(&x597, &x598, x596, x571, x523);
+ uint32_t x599;
+ fiat_p384_uint1 x600;
+ fiat_p384_addcarryx_u32(&x599, &x600, x598, x573, x525);
+ uint32_t x601;
+ fiat_p384_uint1 x602;
+ fiat_p384_addcarryx_u32(&x601, &x602, x600, x575, x527);
+ uint32_t x603;
+ fiat_p384_uint1 x604;
+ fiat_p384_addcarryx_u32(&x603, &x604, x602, x577, x529);
+ uint32_t x605;
+ fiat_p384_uint1 x606;
+ fiat_p384_addcarryx_u32(&x605, &x606, x604, x579, x531);
+ uint32_t x607;
+ fiat_p384_uint1 x608;
+ fiat_p384_addcarryx_u32(&x607, &x608, x606, x581, x533);
+ uint32_t x609;
+ fiat_p384_uint1 x610;
+ fiat_p384_addcarryx_u32(&x609, &x610, x608, x583, x535);
+ uint32_t x611;
+ fiat_p384_uint1 x612;
+ fiat_p384_addcarryx_u32(&x611, &x612, x610, x585, x537);
+ uint32_t x613;
+ fiat_p384_uint1 x614;
+ fiat_p384_addcarryx_u32(&x613, &x614, x612, x587, x539);
+ uint32_t x615;
+ fiat_p384_uint1 x616;
+ fiat_p384_addcarryx_u32(&x615, &x616, x614, x589, x541);
+ uint32_t x617;
+ fiat_p384_uint1 x618;
+ fiat_p384_addcarryx_u32(&x617, &x618, x616, x591, x543);
+ uint32_t x619;
+ fiat_p384_uint1 x620;
+ fiat_p384_addcarryx_u32(&x619, &x620, x618, x593, x545);
+ uint32_t x621;
+ uint32_t x622;
+ fiat_p384_mulx_u32(&x621, &x622, x595, UINT32_C(0xffffffff));
+ uint32_t x623;
+ uint32_t x624;
+ fiat_p384_mulx_u32(&x623, &x624, x595, UINT32_C(0xffffffff));
+ uint32_t x625;
+ uint32_t x626;
+ fiat_p384_mulx_u32(&x625, &x626, x595, UINT32_C(0xffffffff));
+ uint32_t x627;
+ uint32_t x628;
+ fiat_p384_mulx_u32(&x627, &x628, x595, UINT32_C(0xffffffff));
+ uint32_t x629;
+ uint32_t x630;
+ fiat_p384_mulx_u32(&x629, &x630, x595, UINT32_C(0xffffffff));
+ uint32_t x631;
+ uint32_t x632;
+ fiat_p384_mulx_u32(&x631, &x632, x595, UINT32_C(0xffffffff));
+ uint32_t x633;
+ uint32_t x634;
+ fiat_p384_mulx_u32(&x633, &x634, x595, UINT32_C(0xffffffff));
+ uint32_t x635;
+ uint32_t x636;
+ fiat_p384_mulx_u32(&x635, &x636, x595, UINT32_C(0xfffffffe));
+ uint32_t x637;
+ uint32_t x638;
+ fiat_p384_mulx_u32(&x637, &x638, x595, UINT32_C(0xffffffff));
+ uint32_t x639;
+ uint32_t x640;
+ fiat_p384_mulx_u32(&x639, &x640, x595, UINT32_C(0xffffffff));
+ uint32_t x641;
+ fiat_p384_uint1 x642;
+ fiat_p384_addcarryx_u32(&x641, &x642, 0x0, x635, x638);
+ uint32_t x643;
+ fiat_p384_uint1 x644;
+ fiat_p384_addcarryx_u32(&x643, &x644, x642, x633, x636);
+ uint32_t x645;
+ fiat_p384_uint1 x646;
+ fiat_p384_addcarryx_u32(&x645, &x646, x644, x631, x634);
+ uint32_t x647;
+ fiat_p384_uint1 x648;
+ fiat_p384_addcarryx_u32(&x647, &x648, x646, x629, x632);
+ uint32_t x649;
+ fiat_p384_uint1 x650;
+ fiat_p384_addcarryx_u32(&x649, &x650, x648, x627, x630);
+ uint32_t x651;
+ fiat_p384_uint1 x652;
+ fiat_p384_addcarryx_u32(&x651, &x652, x650, x625, x628);
+ uint32_t x653;
+ fiat_p384_uint1 x654;
+ fiat_p384_addcarryx_u32(&x653, &x654, x652, x623, x626);
+ uint32_t x655;
+ fiat_p384_uint1 x656;
+ fiat_p384_addcarryx_u32(&x655, &x656, x654, x621, x624);
+ uint32_t x657;
+ fiat_p384_uint1 x658;
+ fiat_p384_addcarryx_u32(&x657, &x658, x656, 0x0, x622);
+ uint32_t x659;
+ fiat_p384_uint1 x660;
+ fiat_p384_addcarryx_u32(&x659, &x660, 0x0, x639, x595);
+ uint32_t x661;
+ fiat_p384_uint1 x662;
+ fiat_p384_addcarryx_u32(&x661, &x662, x660, x640, x597);
+ uint32_t x663;
+ fiat_p384_uint1 x664;
+ fiat_p384_addcarryx_u32(&x663, &x664, x662, 0x0, x599);
+ uint32_t x665;
+ fiat_p384_uint1 x666;
+ fiat_p384_addcarryx_u32(&x665, &x666, x664, x637, x601);
+ uint32_t x667;
+ fiat_p384_uint1 x668;
+ fiat_p384_addcarryx_u32(&x667, &x668, x666, x641, x603);
+ uint32_t x669;
+ fiat_p384_uint1 x670;
+ fiat_p384_addcarryx_u32(&x669, &x670, x668, x643, x605);
+ uint32_t x671;
+ fiat_p384_uint1 x672;
+ fiat_p384_addcarryx_u32(&x671, &x672, x670, x645, x607);
+ uint32_t x673;
+ fiat_p384_uint1 x674;
+ fiat_p384_addcarryx_u32(&x673, &x674, x672, x647, x609);
+ uint32_t x675;
+ fiat_p384_uint1 x676;
+ fiat_p384_addcarryx_u32(&x675, &x676, x674, x649, x611);
+ uint32_t x677;
+ fiat_p384_uint1 x678;
+ fiat_p384_addcarryx_u32(&x677, &x678, x676, x651, x613);
+ uint32_t x679;
+ fiat_p384_uint1 x680;
+ fiat_p384_addcarryx_u32(&x679, &x680, x678, x653, x615);
+ uint32_t x681;
+ fiat_p384_uint1 x682;
+ fiat_p384_addcarryx_u32(&x681, &x682, x680, x655, x617);
+ uint32_t x683;
+ fiat_p384_uint1 x684;
+ fiat_p384_addcarryx_u32(&x683, &x684, x682, x657, x619);
+ uint32_t x685;
+ fiat_p384_uint1 x686;
+ fiat_p384_addcarryx_u32(&x685, &x686, x684, 0x0, x620);
+ uint32_t x687;
+ uint32_t x688;
+ fiat_p384_mulx_u32(&x687, &x688, x5, (arg1[11]));
+ uint32_t x689;
+ uint32_t x690;
+ fiat_p384_mulx_u32(&x689, &x690, x5, (arg1[10]));
+ uint32_t x691;
+ uint32_t x692;
+ fiat_p384_mulx_u32(&x691, &x692, x5, (arg1[9]));
+ uint32_t x693;
+ uint32_t x694;
+ fiat_p384_mulx_u32(&x693, &x694, x5, (arg1[8]));
+ uint32_t x695;
+ uint32_t x696;
+ fiat_p384_mulx_u32(&x695, &x696, x5, (arg1[7]));
+ uint32_t x697;
+ uint32_t x698;
+ fiat_p384_mulx_u32(&x697, &x698, x5, (arg1[6]));
+ uint32_t x699;
+ uint32_t x700;
+ fiat_p384_mulx_u32(&x699, &x700, x5, (arg1[5]));
+ uint32_t x701;
+ uint32_t x702;
+ fiat_p384_mulx_u32(&x701, &x702, x5, (arg1[4]));
+ uint32_t x703;
+ uint32_t x704;
+ fiat_p384_mulx_u32(&x703, &x704, x5, (arg1[3]));
+ uint32_t x705;
+ uint32_t x706;
+ fiat_p384_mulx_u32(&x705, &x706, x5, (arg1[2]));
+ uint32_t x707;
+ uint32_t x708;
+ fiat_p384_mulx_u32(&x707, &x708, x5, (arg1[1]));
+ uint32_t x709;
+ uint32_t x710;
+ fiat_p384_mulx_u32(&x709, &x710, x5, (arg1[0]));
+ uint32_t x711;
+ fiat_p384_uint1 x712;
+ fiat_p384_addcarryx_u32(&x711, &x712, 0x0, x707, x710);
+ uint32_t x713;
+ fiat_p384_uint1 x714;
+ fiat_p384_addcarryx_u32(&x713, &x714, x712, x705, x708);
+ uint32_t x715;
+ fiat_p384_uint1 x716;
+ fiat_p384_addcarryx_u32(&x715, &x716, x714, x703, x706);
+ uint32_t x717;
+ fiat_p384_uint1 x718;
+ fiat_p384_addcarryx_u32(&x717, &x718, x716, x701, x704);
+ uint32_t x719;
+ fiat_p384_uint1 x720;
+ fiat_p384_addcarryx_u32(&x719, &x720, x718, x699, x702);
+ uint32_t x721;
+ fiat_p384_uint1 x722;
+ fiat_p384_addcarryx_u32(&x721, &x722, x720, x697, x700);
+ uint32_t x723;
+ fiat_p384_uint1 x724;
+ fiat_p384_addcarryx_u32(&x723, &x724, x722, x695, x698);
+ uint32_t x725;
+ fiat_p384_uint1 x726;
+ fiat_p384_addcarryx_u32(&x725, &x726, x724, x693, x696);
+ uint32_t x727;
+ fiat_p384_uint1 x728;
+ fiat_p384_addcarryx_u32(&x727, &x728, x726, x691, x694);
+ uint32_t x729;
+ fiat_p384_uint1 x730;
+ fiat_p384_addcarryx_u32(&x729, &x730, x728, x689, x692);
+ uint32_t x731;
+ fiat_p384_uint1 x732;
+ fiat_p384_addcarryx_u32(&x731, &x732, x730, x687, x690);
+ uint32_t x733;
+ fiat_p384_uint1 x734;
+ fiat_p384_addcarryx_u32(&x733, &x734, x732, 0x0, x688);
+ uint32_t x735;
+ fiat_p384_uint1 x736;
+ fiat_p384_addcarryx_u32(&x735, &x736, 0x0, x709, x661);
+ uint32_t x737;
+ fiat_p384_uint1 x738;
+ fiat_p384_addcarryx_u32(&x737, &x738, x736, x711, x663);
+ uint32_t x739;
+ fiat_p384_uint1 x740;
+ fiat_p384_addcarryx_u32(&x739, &x740, x738, x713, x665);
+ uint32_t x741;
+ fiat_p384_uint1 x742;
+ fiat_p384_addcarryx_u32(&x741, &x742, x740, x715, x667);
+ uint32_t x743;
+ fiat_p384_uint1 x744;
+ fiat_p384_addcarryx_u32(&x743, &x744, x742, x717, x669);
+ uint32_t x745;
+ fiat_p384_uint1 x746;
+ fiat_p384_addcarryx_u32(&x745, &x746, x744, x719, x671);
+ uint32_t x747;
+ fiat_p384_uint1 x748;
+ fiat_p384_addcarryx_u32(&x747, &x748, x746, x721, x673);
+ uint32_t x749;
+ fiat_p384_uint1 x750;
+ fiat_p384_addcarryx_u32(&x749, &x750, x748, x723, x675);
+ uint32_t x751;
+ fiat_p384_uint1 x752;
+ fiat_p384_addcarryx_u32(&x751, &x752, x750, x725, x677);
+ uint32_t x753;
+ fiat_p384_uint1 x754;
+ fiat_p384_addcarryx_u32(&x753, &x754, x752, x727, x679);
+ uint32_t x755;
+ fiat_p384_uint1 x756;
+ fiat_p384_addcarryx_u32(&x755, &x756, x754, x729, x681);
+ uint32_t x757;
+ fiat_p384_uint1 x758;
+ fiat_p384_addcarryx_u32(&x757, &x758, x756, x731, x683);
+ uint32_t x759;
+ fiat_p384_uint1 x760;
+ fiat_p384_addcarryx_u32(&x759, &x760, x758, x733, x685);
+ uint32_t x761;
+ uint32_t x762;
+ fiat_p384_mulx_u32(&x761, &x762, x735, UINT32_C(0xffffffff));
+ uint32_t x763;
+ uint32_t x764;
+ fiat_p384_mulx_u32(&x763, &x764, x735, UINT32_C(0xffffffff));
+ uint32_t x765;
+ uint32_t x766;
+ fiat_p384_mulx_u32(&x765, &x766, x735, UINT32_C(0xffffffff));
+ uint32_t x767;
+ uint32_t x768;
+ fiat_p384_mulx_u32(&x767, &x768, x735, UINT32_C(0xffffffff));
+ uint32_t x769;
+ uint32_t x770;
+ fiat_p384_mulx_u32(&x769, &x770, x735, UINT32_C(0xffffffff));
+ uint32_t x771;
+ uint32_t x772;
+ fiat_p384_mulx_u32(&x771, &x772, x735, UINT32_C(0xffffffff));
+ uint32_t x773;
+ uint32_t x774;
+ fiat_p384_mulx_u32(&x773, &x774, x735, UINT32_C(0xffffffff));
+ uint32_t x775;
+ uint32_t x776;
+ fiat_p384_mulx_u32(&x775, &x776, x735, UINT32_C(0xfffffffe));
+ uint32_t x777;
+ uint32_t x778;
+ fiat_p384_mulx_u32(&x777, &x778, x735, UINT32_C(0xffffffff));
+ uint32_t x779;
+ uint32_t x780;
+ fiat_p384_mulx_u32(&x779, &x780, x735, UINT32_C(0xffffffff));
+ uint32_t x781;
+ fiat_p384_uint1 x782;
+ fiat_p384_addcarryx_u32(&x781, &x782, 0x0, x775, x778);
+ uint32_t x783;
+ fiat_p384_uint1 x784;
+ fiat_p384_addcarryx_u32(&x783, &x784, x782, x773, x776);
+ uint32_t x785;
+ fiat_p384_uint1 x786;
+ fiat_p384_addcarryx_u32(&x785, &x786, x784, x771, x774);
+ uint32_t x787;
+ fiat_p384_uint1 x788;
+ fiat_p384_addcarryx_u32(&x787, &x788, x786, x769, x772);
+ uint32_t x789;
+ fiat_p384_uint1 x790;
+ fiat_p384_addcarryx_u32(&x789, &x790, x788, x767, x770);
+ uint32_t x791;
+ fiat_p384_uint1 x792;
+ fiat_p384_addcarryx_u32(&x791, &x792, x790, x765, x768);
+ uint32_t x793;
+ fiat_p384_uint1 x794;
+ fiat_p384_addcarryx_u32(&x793, &x794, x792, x763, x766);
+ uint32_t x795;
+ fiat_p384_uint1 x796;
+ fiat_p384_addcarryx_u32(&x795, &x796, x794, x761, x764);
+ uint32_t x797;
+ fiat_p384_uint1 x798;
+ fiat_p384_addcarryx_u32(&x797, &x798, x796, 0x0, x762);
+ uint32_t x799;
+ fiat_p384_uint1 x800;
+ fiat_p384_addcarryx_u32(&x799, &x800, 0x0, x779, x735);
+ uint32_t x801;
+ fiat_p384_uint1 x802;
+ fiat_p384_addcarryx_u32(&x801, &x802, x800, x780, x737);
+ uint32_t x803;
+ fiat_p384_uint1 x804;
+ fiat_p384_addcarryx_u32(&x803, &x804, x802, 0x0, x739);
+ uint32_t x805;
+ fiat_p384_uint1 x806;
+ fiat_p384_addcarryx_u32(&x805, &x806, x804, x777, x741);
+ uint32_t x807;
+ fiat_p384_uint1 x808;
+ fiat_p384_addcarryx_u32(&x807, &x808, x806, x781, x743);
+ uint32_t x809;
+ fiat_p384_uint1 x810;
+ fiat_p384_addcarryx_u32(&x809, &x810, x808, x783, x745);
+ uint32_t x811;
+ fiat_p384_uint1 x812;
+ fiat_p384_addcarryx_u32(&x811, &x812, x810, x785, x747);
+ uint32_t x813;
+ fiat_p384_uint1 x814;
+ fiat_p384_addcarryx_u32(&x813, &x814, x812, x787, x749);
+ uint32_t x815;
+ fiat_p384_uint1 x816;
+ fiat_p384_addcarryx_u32(&x815, &x816, x814, x789, x751);
+ uint32_t x817;
+ fiat_p384_uint1 x818;
+ fiat_p384_addcarryx_u32(&x817, &x818, x816, x791, x753);
+ uint32_t x819;
+ fiat_p384_uint1 x820;
+ fiat_p384_addcarryx_u32(&x819, &x820, x818, x793, x755);
+ uint32_t x821;
+ fiat_p384_uint1 x822;
+ fiat_p384_addcarryx_u32(&x821, &x822, x820, x795, x757);
+ uint32_t x823;
+ fiat_p384_uint1 x824;
+ fiat_p384_addcarryx_u32(&x823, &x824, x822, x797, x759);
+ uint32_t x825;
+ fiat_p384_uint1 x826;
+ fiat_p384_addcarryx_u32(&x825, &x826, x824, 0x0, x760);
+ uint32_t x827;
+ uint32_t x828;
+ fiat_p384_mulx_u32(&x827, &x828, x6, (arg1[11]));
+ uint32_t x829;
+ uint32_t x830;
+ fiat_p384_mulx_u32(&x829, &x830, x6, (arg1[10]));
+ uint32_t x831;
+ uint32_t x832;
+ fiat_p384_mulx_u32(&x831, &x832, x6, (arg1[9]));
+ uint32_t x833;
+ uint32_t x834;
+ fiat_p384_mulx_u32(&x833, &x834, x6, (arg1[8]));
+ uint32_t x835;
+ uint32_t x836;
+ fiat_p384_mulx_u32(&x835, &x836, x6, (arg1[7]));
+ uint32_t x837;
+ uint32_t x838;
+ fiat_p384_mulx_u32(&x837, &x838, x6, (arg1[6]));
+ uint32_t x839;
+ uint32_t x840;
+ fiat_p384_mulx_u32(&x839, &x840, x6, (arg1[5]));
+ uint32_t x841;
+ uint32_t x842;
+ fiat_p384_mulx_u32(&x841, &x842, x6, (arg1[4]));
+ uint32_t x843;
+ uint32_t x844;
+ fiat_p384_mulx_u32(&x843, &x844, x6, (arg1[3]));
+ uint32_t x845;
+ uint32_t x846;
+ fiat_p384_mulx_u32(&x845, &x846, x6, (arg1[2]));
+ uint32_t x847;
+ uint32_t x848;
+ fiat_p384_mulx_u32(&x847, &x848, x6, (arg1[1]));
+ uint32_t x849;
+ uint32_t x850;
+ fiat_p384_mulx_u32(&x849, &x850, x6, (arg1[0]));
+ uint32_t x851;
+ fiat_p384_uint1 x852;
+ fiat_p384_addcarryx_u32(&x851, &x852, 0x0, x847, x850);
+ uint32_t x853;
+ fiat_p384_uint1 x854;
+ fiat_p384_addcarryx_u32(&x853, &x854, x852, x845, x848);
+ uint32_t x855;
+ fiat_p384_uint1 x856;
+ fiat_p384_addcarryx_u32(&x855, &x856, x854, x843, x846);
+ uint32_t x857;
+ fiat_p384_uint1 x858;
+ fiat_p384_addcarryx_u32(&x857, &x858, x856, x841, x844);
+ uint32_t x859;
+ fiat_p384_uint1 x860;
+ fiat_p384_addcarryx_u32(&x859, &x860, x858, x839, x842);
+ uint32_t x861;
+ fiat_p384_uint1 x862;
+ fiat_p384_addcarryx_u32(&x861, &x862, x860, x837, x840);
+ uint32_t x863;
+ fiat_p384_uint1 x864;
+ fiat_p384_addcarryx_u32(&x863, &x864, x862, x835, x838);
+ uint32_t x865;
+ fiat_p384_uint1 x866;
+ fiat_p384_addcarryx_u32(&x865, &x866, x864, x833, x836);
+ uint32_t x867;
+ fiat_p384_uint1 x868;
+ fiat_p384_addcarryx_u32(&x867, &x868, x866, x831, x834);
+ uint32_t x869;
+ fiat_p384_uint1 x870;
+ fiat_p384_addcarryx_u32(&x869, &x870, x868, x829, x832);
+ uint32_t x871;
+ fiat_p384_uint1 x872;
+ fiat_p384_addcarryx_u32(&x871, &x872, x870, x827, x830);
+ uint32_t x873;
+ fiat_p384_uint1 x874;
+ fiat_p384_addcarryx_u32(&x873, &x874, x872, 0x0, x828);
+ uint32_t x875;
+ fiat_p384_uint1 x876;
+ fiat_p384_addcarryx_u32(&x875, &x876, 0x0, x849, x801);
+ uint32_t x877;
+ fiat_p384_uint1 x878;
+ fiat_p384_addcarryx_u32(&x877, &x878, x876, x851, x803);
+ uint32_t x879;
+ fiat_p384_uint1 x880;
+ fiat_p384_addcarryx_u32(&x879, &x880, x878, x853, x805);
+ uint32_t x881;
+ fiat_p384_uint1 x882;
+ fiat_p384_addcarryx_u32(&x881, &x882, x880, x855, x807);
+ uint32_t x883;
+ fiat_p384_uint1 x884;
+ fiat_p384_addcarryx_u32(&x883, &x884, x882, x857, x809);
+ uint32_t x885;
+ fiat_p384_uint1 x886;
+ fiat_p384_addcarryx_u32(&x885, &x886, x884, x859, x811);
+ uint32_t x887;
+ fiat_p384_uint1 x888;
+ fiat_p384_addcarryx_u32(&x887, &x888, x886, x861, x813);
+ uint32_t x889;
+ fiat_p384_uint1 x890;
+ fiat_p384_addcarryx_u32(&x889, &x890, x888, x863, x815);
+ uint32_t x891;
+ fiat_p384_uint1 x892;
+ fiat_p384_addcarryx_u32(&x891, &x892, x890, x865, x817);
+ uint32_t x893;
+ fiat_p384_uint1 x894;
+ fiat_p384_addcarryx_u32(&x893, &x894, x892, x867, x819);
+ uint32_t x895;
+ fiat_p384_uint1 x896;
+ fiat_p384_addcarryx_u32(&x895, &x896, x894, x869, x821);
+ uint32_t x897;
+ fiat_p384_uint1 x898;
+ fiat_p384_addcarryx_u32(&x897, &x898, x896, x871, x823);
+ uint32_t x899;
+ fiat_p384_uint1 x900;
+ fiat_p384_addcarryx_u32(&x899, &x900, x898, x873, x825);
+ uint32_t x901;
+ uint32_t x902;
+ fiat_p384_mulx_u32(&x901, &x902, x875, UINT32_C(0xffffffff));
+ uint32_t x903;
+ uint32_t x904;
+ fiat_p384_mulx_u32(&x903, &x904, x875, UINT32_C(0xffffffff));
+ uint32_t x905;
+ uint32_t x906;
+ fiat_p384_mulx_u32(&x905, &x906, x875, UINT32_C(0xffffffff));
+ uint32_t x907;
+ uint32_t x908;
+ fiat_p384_mulx_u32(&x907, &x908, x875, UINT32_C(0xffffffff));
+ uint32_t x909;
+ uint32_t x910;
+ fiat_p384_mulx_u32(&x909, &x910, x875, UINT32_C(0xffffffff));
+ uint32_t x911;
+ uint32_t x912;
+ fiat_p384_mulx_u32(&x911, &x912, x875, UINT32_C(0xffffffff));
+ uint32_t x913;
+ uint32_t x914;
+ fiat_p384_mulx_u32(&x913, &x914, x875, UINT32_C(0xffffffff));
+ uint32_t x915;
+ uint32_t x916;
+ fiat_p384_mulx_u32(&x915, &x916, x875, UINT32_C(0xfffffffe));
+ uint32_t x917;
+ uint32_t x918;
+ fiat_p384_mulx_u32(&x917, &x918, x875, UINT32_C(0xffffffff));
+ uint32_t x919;
+ uint32_t x920;
+ fiat_p384_mulx_u32(&x919, &x920, x875, UINT32_C(0xffffffff));
+ uint32_t x921;
+ fiat_p384_uint1 x922;
+ fiat_p384_addcarryx_u32(&x921, &x922, 0x0, x915, x918);
+ uint32_t x923;
+ fiat_p384_uint1 x924;
+ fiat_p384_addcarryx_u32(&x923, &x924, x922, x913, x916);
+ uint32_t x925;
+ fiat_p384_uint1 x926;
+ fiat_p384_addcarryx_u32(&x925, &x926, x924, x911, x914);
+ uint32_t x927;
+ fiat_p384_uint1 x928;
+ fiat_p384_addcarryx_u32(&x927, &x928, x926, x909, x912);
+ uint32_t x929;
+ fiat_p384_uint1 x930;
+ fiat_p384_addcarryx_u32(&x929, &x930, x928, x907, x910);
+ uint32_t x931;
+ fiat_p384_uint1 x932;
+ fiat_p384_addcarryx_u32(&x931, &x932, x930, x905, x908);
+ uint32_t x933;
+ fiat_p384_uint1 x934;
+ fiat_p384_addcarryx_u32(&x933, &x934, x932, x903, x906);
+ uint32_t x935;
+ fiat_p384_uint1 x936;
+ fiat_p384_addcarryx_u32(&x935, &x936, x934, x901, x904);
+ uint32_t x937;
+ fiat_p384_uint1 x938;
+ fiat_p384_addcarryx_u32(&x937, &x938, x936, 0x0, x902);
+ uint32_t x939;
+ fiat_p384_uint1 x940;
+ fiat_p384_addcarryx_u32(&x939, &x940, 0x0, x919, x875);
+ uint32_t x941;
+ fiat_p384_uint1 x942;
+ fiat_p384_addcarryx_u32(&x941, &x942, x940, x920, x877);
+ uint32_t x943;
+ fiat_p384_uint1 x944;
+ fiat_p384_addcarryx_u32(&x943, &x944, x942, 0x0, x879);
+ uint32_t x945;
+ fiat_p384_uint1 x946;
+ fiat_p384_addcarryx_u32(&x945, &x946, x944, x917, x881);
+ uint32_t x947;
+ fiat_p384_uint1 x948;
+ fiat_p384_addcarryx_u32(&x947, &x948, x946, x921, x883);
+ uint32_t x949;
+ fiat_p384_uint1 x950;
+ fiat_p384_addcarryx_u32(&x949, &x950, x948, x923, x885);
+ uint32_t x951;
+ fiat_p384_uint1 x952;
+ fiat_p384_addcarryx_u32(&x951, &x952, x950, x925, x887);
+ uint32_t x953;
+ fiat_p384_uint1 x954;
+ fiat_p384_addcarryx_u32(&x953, &x954, x952, x927, x889);
+ uint32_t x955;
+ fiat_p384_uint1 x956;
+ fiat_p384_addcarryx_u32(&x955, &x956, x954, x929, x891);
+ uint32_t x957;
+ fiat_p384_uint1 x958;
+ fiat_p384_addcarryx_u32(&x957, &x958, x956, x931, x893);
+ uint32_t x959;
+ fiat_p384_uint1 x960;
+ fiat_p384_addcarryx_u32(&x959, &x960, x958, x933, x895);
+ uint32_t x961;
+ fiat_p384_uint1 x962;
+ fiat_p384_addcarryx_u32(&x961, &x962, x960, x935, x897);
+ uint32_t x963;
+ fiat_p384_uint1 x964;
+ fiat_p384_addcarryx_u32(&x963, &x964, x962, x937, x899);
+ uint32_t x965;
+ fiat_p384_uint1 x966;
+ fiat_p384_addcarryx_u32(&x965, &x966, x964, 0x0, x900);
+ uint32_t x967;
+ uint32_t x968;
+ fiat_p384_mulx_u32(&x967, &x968, x7, (arg1[11]));
+ uint32_t x969;
+ uint32_t x970;
+ fiat_p384_mulx_u32(&x969, &x970, x7, (arg1[10]));
+ uint32_t x971;
+ uint32_t x972;
+ fiat_p384_mulx_u32(&x971, &x972, x7, (arg1[9]));
+ uint32_t x973;
+ uint32_t x974;
+ fiat_p384_mulx_u32(&x973, &x974, x7, (arg1[8]));
+ uint32_t x975;
+ uint32_t x976;
+ fiat_p384_mulx_u32(&x975, &x976, x7, (arg1[7]));
+ uint32_t x977;
+ uint32_t x978;
+ fiat_p384_mulx_u32(&x977, &x978, x7, (arg1[6]));
+ uint32_t x979;
+ uint32_t x980;
+ fiat_p384_mulx_u32(&x979, &x980, x7, (arg1[5]));
+ uint32_t x981;
+ uint32_t x982;
+ fiat_p384_mulx_u32(&x981, &x982, x7, (arg1[4]));
+ uint32_t x983;
+ uint32_t x984;
+ fiat_p384_mulx_u32(&x983, &x984, x7, (arg1[3]));
+ uint32_t x985;
+ uint32_t x986;
+ fiat_p384_mulx_u32(&x985, &x986, x7, (arg1[2]));
+ uint32_t x987;
+ uint32_t x988;
+ fiat_p384_mulx_u32(&x987, &x988, x7, (arg1[1]));
+ uint32_t x989;
+ uint32_t x990;
+ fiat_p384_mulx_u32(&x989, &x990, x7, (arg1[0]));
+ uint32_t x991;
+ fiat_p384_uint1 x992;
+ fiat_p384_addcarryx_u32(&x991, &x992, 0x0, x987, x990);
+ uint32_t x993;
+ fiat_p384_uint1 x994;
+ fiat_p384_addcarryx_u32(&x993, &x994, x992, x985, x988);
+ uint32_t x995;
+ fiat_p384_uint1 x996;
+ fiat_p384_addcarryx_u32(&x995, &x996, x994, x983, x986);
+ uint32_t x997;
+ fiat_p384_uint1 x998;
+ fiat_p384_addcarryx_u32(&x997, &x998, x996, x981, x984);
+ uint32_t x999;
+ fiat_p384_uint1 x1000;
+ fiat_p384_addcarryx_u32(&x999, &x1000, x998, x979, x982);
+ uint32_t x1001;
+ fiat_p384_uint1 x1002;
+ fiat_p384_addcarryx_u32(&x1001, &x1002, x1000, x977, x980);
+ uint32_t x1003;
+ fiat_p384_uint1 x1004;
+ fiat_p384_addcarryx_u32(&x1003, &x1004, x1002, x975, x978);
+ uint32_t x1005;
+ fiat_p384_uint1 x1006;
+ fiat_p384_addcarryx_u32(&x1005, &x1006, x1004, x973, x976);
+ uint32_t x1007;
+ fiat_p384_uint1 x1008;
+ fiat_p384_addcarryx_u32(&x1007, &x1008, x1006, x971, x974);
+ uint32_t x1009;
+ fiat_p384_uint1 x1010;
+ fiat_p384_addcarryx_u32(&x1009, &x1010, x1008, x969, x972);
+ uint32_t x1011;
+ fiat_p384_uint1 x1012;
+ fiat_p384_addcarryx_u32(&x1011, &x1012, x1010, x967, x970);
+ uint32_t x1013;
+ fiat_p384_uint1 x1014;
+ fiat_p384_addcarryx_u32(&x1013, &x1014, x1012, 0x0, x968);
+ uint32_t x1015;
+ fiat_p384_uint1 x1016;
+ fiat_p384_addcarryx_u32(&x1015, &x1016, 0x0, x989, x941);
+ uint32_t x1017;
+ fiat_p384_uint1 x1018;
+ fiat_p384_addcarryx_u32(&x1017, &x1018, x1016, x991, x943);
+ uint32_t x1019;
+ fiat_p384_uint1 x1020;
+ fiat_p384_addcarryx_u32(&x1019, &x1020, x1018, x993, x945);
+ uint32_t x1021;
+ fiat_p384_uint1 x1022;
+ fiat_p384_addcarryx_u32(&x1021, &x1022, x1020, x995, x947);
+ uint32_t x1023;
+ fiat_p384_uint1 x1024;
+ fiat_p384_addcarryx_u32(&x1023, &x1024, x1022, x997, x949);
+ uint32_t x1025;
+ fiat_p384_uint1 x1026;
+ fiat_p384_addcarryx_u32(&x1025, &x1026, x1024, x999, x951);
+ uint32_t x1027;
+ fiat_p384_uint1 x1028;
+ fiat_p384_addcarryx_u32(&x1027, &x1028, x1026, x1001, x953);
+ uint32_t x1029;
+ fiat_p384_uint1 x1030;
+ fiat_p384_addcarryx_u32(&x1029, &x1030, x1028, x1003, x955);
+ uint32_t x1031;
+ fiat_p384_uint1 x1032;
+ fiat_p384_addcarryx_u32(&x1031, &x1032, x1030, x1005, x957);
+ uint32_t x1033;
+ fiat_p384_uint1 x1034;
+ fiat_p384_addcarryx_u32(&x1033, &x1034, x1032, x1007, x959);
+ uint32_t x1035;
+ fiat_p384_uint1 x1036;
+ fiat_p384_addcarryx_u32(&x1035, &x1036, x1034, x1009, x961);
+ uint32_t x1037;
+ fiat_p384_uint1 x1038;
+ fiat_p384_addcarryx_u32(&x1037, &x1038, x1036, x1011, x963);
+ uint32_t x1039;
+ fiat_p384_uint1 x1040;
+ fiat_p384_addcarryx_u32(&x1039, &x1040, x1038, x1013, x965);
+ uint32_t x1041;
+ uint32_t x1042;
+ fiat_p384_mulx_u32(&x1041, &x1042, x1015, UINT32_C(0xffffffff));
+ uint32_t x1043;
+ uint32_t x1044;
+ fiat_p384_mulx_u32(&x1043, &x1044, x1015, UINT32_C(0xffffffff));
+ uint32_t x1045;
+ uint32_t x1046;
+ fiat_p384_mulx_u32(&x1045, &x1046, x1015, UINT32_C(0xffffffff));
+ uint32_t x1047;
+ uint32_t x1048;
+ fiat_p384_mulx_u32(&x1047, &x1048, x1015, UINT32_C(0xffffffff));
+ uint32_t x1049;
+ uint32_t x1050;
+ fiat_p384_mulx_u32(&x1049, &x1050, x1015, UINT32_C(0xffffffff));
+ uint32_t x1051;
+ uint32_t x1052;
+ fiat_p384_mulx_u32(&x1051, &x1052, x1015, UINT32_C(0xffffffff));
+ uint32_t x1053;
+ uint32_t x1054;
+ fiat_p384_mulx_u32(&x1053, &x1054, x1015, UINT32_C(0xffffffff));
+ uint32_t x1055;
+ uint32_t x1056;
+ fiat_p384_mulx_u32(&x1055, &x1056, x1015, UINT32_C(0xfffffffe));
+ uint32_t x1057;
+ uint32_t x1058;
+ fiat_p384_mulx_u32(&x1057, &x1058, x1015, UINT32_C(0xffffffff));
+ uint32_t x1059;
+ uint32_t x1060;
+ fiat_p384_mulx_u32(&x1059, &x1060, x1015, UINT32_C(0xffffffff));
+ uint32_t x1061;
+ fiat_p384_uint1 x1062;
+ fiat_p384_addcarryx_u32(&x1061, &x1062, 0x0, x1055, x1058);
+ uint32_t x1063;
+ fiat_p384_uint1 x1064;
+ fiat_p384_addcarryx_u32(&x1063, &x1064, x1062, x1053, x1056);
+ uint32_t x1065;
+ fiat_p384_uint1 x1066;
+ fiat_p384_addcarryx_u32(&x1065, &x1066, x1064, x1051, x1054);
+ uint32_t x1067;
+ fiat_p384_uint1 x1068;
+ fiat_p384_addcarryx_u32(&x1067, &x1068, x1066, x1049, x1052);
+ uint32_t x1069;
+ fiat_p384_uint1 x1070;
+ fiat_p384_addcarryx_u32(&x1069, &x1070, x1068, x1047, x1050);
+ uint32_t x1071;
+ fiat_p384_uint1 x1072;
+ fiat_p384_addcarryx_u32(&x1071, &x1072, x1070, x1045, x1048);
+ uint32_t x1073;
+ fiat_p384_uint1 x1074;
+ fiat_p384_addcarryx_u32(&x1073, &x1074, x1072, x1043, x1046);
+ uint32_t x1075;
+ fiat_p384_uint1 x1076;
+ fiat_p384_addcarryx_u32(&x1075, &x1076, x1074, x1041, x1044);
+ uint32_t x1077;
+ fiat_p384_uint1 x1078;
+ fiat_p384_addcarryx_u32(&x1077, &x1078, x1076, 0x0, x1042);
+ uint32_t x1079;
+ fiat_p384_uint1 x1080;
+ fiat_p384_addcarryx_u32(&x1079, &x1080, 0x0, x1059, x1015);
+ uint32_t x1081;
+ fiat_p384_uint1 x1082;
+ fiat_p384_addcarryx_u32(&x1081, &x1082, x1080, x1060, x1017);
+ uint32_t x1083;
+ fiat_p384_uint1 x1084;
+ fiat_p384_addcarryx_u32(&x1083, &x1084, x1082, 0x0, x1019);
+ uint32_t x1085;
+ fiat_p384_uint1 x1086;
+ fiat_p384_addcarryx_u32(&x1085, &x1086, x1084, x1057, x1021);
+ uint32_t x1087;
+ fiat_p384_uint1 x1088;
+ fiat_p384_addcarryx_u32(&x1087, &x1088, x1086, x1061, x1023);
+ uint32_t x1089;
+ fiat_p384_uint1 x1090;
+ fiat_p384_addcarryx_u32(&x1089, &x1090, x1088, x1063, x1025);
+ uint32_t x1091;
+ fiat_p384_uint1 x1092;
+ fiat_p384_addcarryx_u32(&x1091, &x1092, x1090, x1065, x1027);
+ uint32_t x1093;
+ fiat_p384_uint1 x1094;
+ fiat_p384_addcarryx_u32(&x1093, &x1094, x1092, x1067, x1029);
+ uint32_t x1095;
+ fiat_p384_uint1 x1096;
+ fiat_p384_addcarryx_u32(&x1095, &x1096, x1094, x1069, x1031);
+ uint32_t x1097;
+ fiat_p384_uint1 x1098;
+ fiat_p384_addcarryx_u32(&x1097, &x1098, x1096, x1071, x1033);
+ uint32_t x1099;
+ fiat_p384_uint1 x1100;
+ fiat_p384_addcarryx_u32(&x1099, &x1100, x1098, x1073, x1035);
+ uint32_t x1101;
+ fiat_p384_uint1 x1102;
+ fiat_p384_addcarryx_u32(&x1101, &x1102, x1100, x1075, x1037);
+ uint32_t x1103;
+ fiat_p384_uint1 x1104;
+ fiat_p384_addcarryx_u32(&x1103, &x1104, x1102, x1077, x1039);
+ uint32_t x1105;
+ fiat_p384_uint1 x1106;
+ fiat_p384_addcarryx_u32(&x1105, &x1106, x1104, 0x0, x1040);
+ uint32_t x1107;
+ uint32_t x1108;
+ fiat_p384_mulx_u32(&x1107, &x1108, x8, (arg1[11]));
+ uint32_t x1109;
+ uint32_t x1110;
+ fiat_p384_mulx_u32(&x1109, &x1110, x8, (arg1[10]));
+ uint32_t x1111;
+ uint32_t x1112;
+ fiat_p384_mulx_u32(&x1111, &x1112, x8, (arg1[9]));
+ uint32_t x1113;
+ uint32_t x1114;
+ fiat_p384_mulx_u32(&x1113, &x1114, x8, (arg1[8]));
+ uint32_t x1115;
+ uint32_t x1116;
+ fiat_p384_mulx_u32(&x1115, &x1116, x8, (arg1[7]));
+ uint32_t x1117;
+ uint32_t x1118;
+ fiat_p384_mulx_u32(&x1117, &x1118, x8, (arg1[6]));
+ uint32_t x1119;
+ uint32_t x1120;
+ fiat_p384_mulx_u32(&x1119, &x1120, x8, (arg1[5]));
+ uint32_t x1121;
+ uint32_t x1122;
+ fiat_p384_mulx_u32(&x1121, &x1122, x8, (arg1[4]));
+ uint32_t x1123;
+ uint32_t x1124;
+ fiat_p384_mulx_u32(&x1123, &x1124, x8, (arg1[3]));
+ uint32_t x1125;
+ uint32_t x1126;
+ fiat_p384_mulx_u32(&x1125, &x1126, x8, (arg1[2]));
+ uint32_t x1127;
+ uint32_t x1128;
+ fiat_p384_mulx_u32(&x1127, &x1128, x8, (arg1[1]));
+ uint32_t x1129;
+ uint32_t x1130;
+ fiat_p384_mulx_u32(&x1129, &x1130, x8, (arg1[0]));
+ uint32_t x1131;
+ fiat_p384_uint1 x1132;
+ fiat_p384_addcarryx_u32(&x1131, &x1132, 0x0, x1127, x1130);
+ uint32_t x1133;
+ fiat_p384_uint1 x1134;
+ fiat_p384_addcarryx_u32(&x1133, &x1134, x1132, x1125, x1128);
+ uint32_t x1135;
+ fiat_p384_uint1 x1136;
+ fiat_p384_addcarryx_u32(&x1135, &x1136, x1134, x1123, x1126);
+ uint32_t x1137;
+ fiat_p384_uint1 x1138;
+ fiat_p384_addcarryx_u32(&x1137, &x1138, x1136, x1121, x1124);
+ uint32_t x1139;
+ fiat_p384_uint1 x1140;
+ fiat_p384_addcarryx_u32(&x1139, &x1140, x1138, x1119, x1122);
+ uint32_t x1141;
+ fiat_p384_uint1 x1142;
+ fiat_p384_addcarryx_u32(&x1141, &x1142, x1140, x1117, x1120);
+ uint32_t x1143;
+ fiat_p384_uint1 x1144;
+ fiat_p384_addcarryx_u32(&x1143, &x1144, x1142, x1115, x1118);
+ uint32_t x1145;
+ fiat_p384_uint1 x1146;
+ fiat_p384_addcarryx_u32(&x1145, &x1146, x1144, x1113, x1116);
+ uint32_t x1147;
+ fiat_p384_uint1 x1148;
+ fiat_p384_addcarryx_u32(&x1147, &x1148, x1146, x1111, x1114);
+ uint32_t x1149;
+ fiat_p384_uint1 x1150;
+ fiat_p384_addcarryx_u32(&x1149, &x1150, x1148, x1109, x1112);
+ uint32_t x1151;
+ fiat_p384_uint1 x1152;
+ fiat_p384_addcarryx_u32(&x1151, &x1152, x1150, x1107, x1110);
+ uint32_t x1153;
+ fiat_p384_uint1 x1154;
+ fiat_p384_addcarryx_u32(&x1153, &x1154, x1152, 0x0, x1108);
+ uint32_t x1155;
+ fiat_p384_uint1 x1156;
+ fiat_p384_addcarryx_u32(&x1155, &x1156, 0x0, x1129, x1081);
+ uint32_t x1157;
+ fiat_p384_uint1 x1158;
+ fiat_p384_addcarryx_u32(&x1157, &x1158, x1156, x1131, x1083);
+ uint32_t x1159;
+ fiat_p384_uint1 x1160;
+ fiat_p384_addcarryx_u32(&x1159, &x1160, x1158, x1133, x1085);
+ uint32_t x1161;
+ fiat_p384_uint1 x1162;
+ fiat_p384_addcarryx_u32(&x1161, &x1162, x1160, x1135, x1087);
+ uint32_t x1163;
+ fiat_p384_uint1 x1164;
+ fiat_p384_addcarryx_u32(&x1163, &x1164, x1162, x1137, x1089);
+ uint32_t x1165;
+ fiat_p384_uint1 x1166;
+ fiat_p384_addcarryx_u32(&x1165, &x1166, x1164, x1139, x1091);
+ uint32_t x1167;
+ fiat_p384_uint1 x1168;
+ fiat_p384_addcarryx_u32(&x1167, &x1168, x1166, x1141, x1093);
+ uint32_t x1169;
+ fiat_p384_uint1 x1170;
+ fiat_p384_addcarryx_u32(&x1169, &x1170, x1168, x1143, x1095);
+ uint32_t x1171;
+ fiat_p384_uint1 x1172;
+ fiat_p384_addcarryx_u32(&x1171, &x1172, x1170, x1145, x1097);
+ uint32_t x1173;
+ fiat_p384_uint1 x1174;
+ fiat_p384_addcarryx_u32(&x1173, &x1174, x1172, x1147, x1099);
+ uint32_t x1175;
+ fiat_p384_uint1 x1176;
+ fiat_p384_addcarryx_u32(&x1175, &x1176, x1174, x1149, x1101);
+ uint32_t x1177;
+ fiat_p384_uint1 x1178;
+ fiat_p384_addcarryx_u32(&x1177, &x1178, x1176, x1151, x1103);
+ uint32_t x1179;
+ fiat_p384_uint1 x1180;
+ fiat_p384_addcarryx_u32(&x1179, &x1180, x1178, x1153, x1105);
+ uint32_t x1181;
+ uint32_t x1182;
+ fiat_p384_mulx_u32(&x1181, &x1182, x1155, UINT32_C(0xffffffff));
+ uint32_t x1183;
+ uint32_t x1184;
+ fiat_p384_mulx_u32(&x1183, &x1184, x1155, UINT32_C(0xffffffff));
+ uint32_t x1185;
+ uint32_t x1186;
+ fiat_p384_mulx_u32(&x1185, &x1186, x1155, UINT32_C(0xffffffff));
+ uint32_t x1187;
+ uint32_t x1188;
+ fiat_p384_mulx_u32(&x1187, &x1188, x1155, UINT32_C(0xffffffff));
+ uint32_t x1189;
+ uint32_t x1190;
+ fiat_p384_mulx_u32(&x1189, &x1190, x1155, UINT32_C(0xffffffff));
+ uint32_t x1191;
+ uint32_t x1192;
+ fiat_p384_mulx_u32(&x1191, &x1192, x1155, UINT32_C(0xffffffff));
+ uint32_t x1193;
+ uint32_t x1194;
+ fiat_p384_mulx_u32(&x1193, &x1194, x1155, UINT32_C(0xffffffff));
+ uint32_t x1195;
+ uint32_t x1196;
+ fiat_p384_mulx_u32(&x1195, &x1196, x1155, UINT32_C(0xfffffffe));
+ uint32_t x1197;
+ uint32_t x1198;
+ fiat_p384_mulx_u32(&x1197, &x1198, x1155, UINT32_C(0xffffffff));
+ uint32_t x1199;
+ uint32_t x1200;
+ fiat_p384_mulx_u32(&x1199, &x1200, x1155, UINT32_C(0xffffffff));
+ uint32_t x1201;
+ fiat_p384_uint1 x1202;
+ fiat_p384_addcarryx_u32(&x1201, &x1202, 0x0, x1195, x1198);
+ uint32_t x1203;
+ fiat_p384_uint1 x1204;
+ fiat_p384_addcarryx_u32(&x1203, &x1204, x1202, x1193, x1196);
+ uint32_t x1205;
+ fiat_p384_uint1 x1206;
+ fiat_p384_addcarryx_u32(&x1205, &x1206, x1204, x1191, x1194);
+ uint32_t x1207;
+ fiat_p384_uint1 x1208;
+ fiat_p384_addcarryx_u32(&x1207, &x1208, x1206, x1189, x1192);
+ uint32_t x1209;
+ fiat_p384_uint1 x1210;
+ fiat_p384_addcarryx_u32(&x1209, &x1210, x1208, x1187, x1190);
+ uint32_t x1211;
+ fiat_p384_uint1 x1212;
+ fiat_p384_addcarryx_u32(&x1211, &x1212, x1210, x1185, x1188);
+ uint32_t x1213;
+ fiat_p384_uint1 x1214;
+ fiat_p384_addcarryx_u32(&x1213, &x1214, x1212, x1183, x1186);
+ uint32_t x1215;
+ fiat_p384_uint1 x1216;
+ fiat_p384_addcarryx_u32(&x1215, &x1216, x1214, x1181, x1184);
+ uint32_t x1217;
+ fiat_p384_uint1 x1218;
+ fiat_p384_addcarryx_u32(&x1217, &x1218, x1216, 0x0, x1182);
+ uint32_t x1219;
+ fiat_p384_uint1 x1220;
+ fiat_p384_addcarryx_u32(&x1219, &x1220, 0x0, x1199, x1155);
+ uint32_t x1221;
+ fiat_p384_uint1 x1222;
+ fiat_p384_addcarryx_u32(&x1221, &x1222, x1220, x1200, x1157);
+ uint32_t x1223;
+ fiat_p384_uint1 x1224;
+ fiat_p384_addcarryx_u32(&x1223, &x1224, x1222, 0x0, x1159);
+ uint32_t x1225;
+ fiat_p384_uint1 x1226;
+ fiat_p384_addcarryx_u32(&x1225, &x1226, x1224, x1197, x1161);
+ uint32_t x1227;
+ fiat_p384_uint1 x1228;
+ fiat_p384_addcarryx_u32(&x1227, &x1228, x1226, x1201, x1163);
+ uint32_t x1229;
+ fiat_p384_uint1 x1230;
+ fiat_p384_addcarryx_u32(&x1229, &x1230, x1228, x1203, x1165);
+ uint32_t x1231;
+ fiat_p384_uint1 x1232;
+ fiat_p384_addcarryx_u32(&x1231, &x1232, x1230, x1205, x1167);
+ uint32_t x1233;
+ fiat_p384_uint1 x1234;
+ fiat_p384_addcarryx_u32(&x1233, &x1234, x1232, x1207, x1169);
+ uint32_t x1235;
+ fiat_p384_uint1 x1236;
+ fiat_p384_addcarryx_u32(&x1235, &x1236, x1234, x1209, x1171);
+ uint32_t x1237;
+ fiat_p384_uint1 x1238;
+ fiat_p384_addcarryx_u32(&x1237, &x1238, x1236, x1211, x1173);
+ uint32_t x1239;
+ fiat_p384_uint1 x1240;
+ fiat_p384_addcarryx_u32(&x1239, &x1240, x1238, x1213, x1175);
+ uint32_t x1241;
+ fiat_p384_uint1 x1242;
+ fiat_p384_addcarryx_u32(&x1241, &x1242, x1240, x1215, x1177);
+ uint32_t x1243;
+ fiat_p384_uint1 x1244;
+ fiat_p384_addcarryx_u32(&x1243, &x1244, x1242, x1217, x1179);
+ uint32_t x1245;
+ fiat_p384_uint1 x1246;
+ fiat_p384_addcarryx_u32(&x1245, &x1246, x1244, 0x0, x1180);
+ uint32_t x1247;
+ uint32_t x1248;
+ fiat_p384_mulx_u32(&x1247, &x1248, x9, (arg1[11]));
+ uint32_t x1249;
+ uint32_t x1250;
+ fiat_p384_mulx_u32(&x1249, &x1250, x9, (arg1[10]));
+ uint32_t x1251;
+ uint32_t x1252;
+ fiat_p384_mulx_u32(&x1251, &x1252, x9, (arg1[9]));
+ uint32_t x1253;
+ uint32_t x1254;
+ fiat_p384_mulx_u32(&x1253, &x1254, x9, (arg1[8]));
+ uint32_t x1255;
+ uint32_t x1256;
+ fiat_p384_mulx_u32(&x1255, &x1256, x9, (arg1[7]));
+ uint32_t x1257;
+ uint32_t x1258;
+ fiat_p384_mulx_u32(&x1257, &x1258, x9, (arg1[6]));
+ uint32_t x1259;
+ uint32_t x1260;
+ fiat_p384_mulx_u32(&x1259, &x1260, x9, (arg1[5]));
+ uint32_t x1261;
+ uint32_t x1262;
+ fiat_p384_mulx_u32(&x1261, &x1262, x9, (arg1[4]));
+ uint32_t x1263;
+ uint32_t x1264;
+ fiat_p384_mulx_u32(&x1263, &x1264, x9, (arg1[3]));
+ uint32_t x1265;
+ uint32_t x1266;
+ fiat_p384_mulx_u32(&x1265, &x1266, x9, (arg1[2]));
+ uint32_t x1267;
+ uint32_t x1268;
+ fiat_p384_mulx_u32(&x1267, &x1268, x9, (arg1[1]));
+ uint32_t x1269;
+ uint32_t x1270;
+ fiat_p384_mulx_u32(&x1269, &x1270, x9, (arg1[0]));
+ uint32_t x1271;
+ fiat_p384_uint1 x1272;
+ fiat_p384_addcarryx_u32(&x1271, &x1272, 0x0, x1267, x1270);
+ uint32_t x1273;
+ fiat_p384_uint1 x1274;
+ fiat_p384_addcarryx_u32(&x1273, &x1274, x1272, x1265, x1268);
+ uint32_t x1275;
+ fiat_p384_uint1 x1276;
+ fiat_p384_addcarryx_u32(&x1275, &x1276, x1274, x1263, x1266);
+ uint32_t x1277;
+ fiat_p384_uint1 x1278;
+ fiat_p384_addcarryx_u32(&x1277, &x1278, x1276, x1261, x1264);
+ uint32_t x1279;
+ fiat_p384_uint1 x1280;
+ fiat_p384_addcarryx_u32(&x1279, &x1280, x1278, x1259, x1262);
+ uint32_t x1281;
+ fiat_p384_uint1 x1282;
+ fiat_p384_addcarryx_u32(&x1281, &x1282, x1280, x1257, x1260);
+ uint32_t x1283;
+ fiat_p384_uint1 x1284;
+ fiat_p384_addcarryx_u32(&x1283, &x1284, x1282, x1255, x1258);
+ uint32_t x1285;
+ fiat_p384_uint1 x1286;
+ fiat_p384_addcarryx_u32(&x1285, &x1286, x1284, x1253, x1256);
+ uint32_t x1287;
+ fiat_p384_uint1 x1288;
+ fiat_p384_addcarryx_u32(&x1287, &x1288, x1286, x1251, x1254);
+ uint32_t x1289;
+ fiat_p384_uint1 x1290;
+ fiat_p384_addcarryx_u32(&x1289, &x1290, x1288, x1249, x1252);
+ uint32_t x1291;
+ fiat_p384_uint1 x1292;
+ fiat_p384_addcarryx_u32(&x1291, &x1292, x1290, x1247, x1250);
+ uint32_t x1293;
+ fiat_p384_uint1 x1294;
+ fiat_p384_addcarryx_u32(&x1293, &x1294, x1292, 0x0, x1248);
+ uint32_t x1295;
+ fiat_p384_uint1 x1296;
+ fiat_p384_addcarryx_u32(&x1295, &x1296, 0x0, x1269, x1221);
+ uint32_t x1297;
+ fiat_p384_uint1 x1298;
+ fiat_p384_addcarryx_u32(&x1297, &x1298, x1296, x1271, x1223);
+ uint32_t x1299;
+ fiat_p384_uint1 x1300;
+ fiat_p384_addcarryx_u32(&x1299, &x1300, x1298, x1273, x1225);
+ uint32_t x1301;
+ fiat_p384_uint1 x1302;
+ fiat_p384_addcarryx_u32(&x1301, &x1302, x1300, x1275, x1227);
+ uint32_t x1303;
+ fiat_p384_uint1 x1304;
+ fiat_p384_addcarryx_u32(&x1303, &x1304, x1302, x1277, x1229);
+ uint32_t x1305;
+ fiat_p384_uint1 x1306;
+ fiat_p384_addcarryx_u32(&x1305, &x1306, x1304, x1279, x1231);
+ uint32_t x1307;
+ fiat_p384_uint1 x1308;
+ fiat_p384_addcarryx_u32(&x1307, &x1308, x1306, x1281, x1233);
+ uint32_t x1309;
+ fiat_p384_uint1 x1310;
+ fiat_p384_addcarryx_u32(&x1309, &x1310, x1308, x1283, x1235);
+ uint32_t x1311;
+ fiat_p384_uint1 x1312;
+ fiat_p384_addcarryx_u32(&x1311, &x1312, x1310, x1285, x1237);
+ uint32_t x1313;
+ fiat_p384_uint1 x1314;
+ fiat_p384_addcarryx_u32(&x1313, &x1314, x1312, x1287, x1239);
+ uint32_t x1315;
+ fiat_p384_uint1 x1316;
+ fiat_p384_addcarryx_u32(&x1315, &x1316, x1314, x1289, x1241);
+ uint32_t x1317;
+ fiat_p384_uint1 x1318;
+ fiat_p384_addcarryx_u32(&x1317, &x1318, x1316, x1291, x1243);
+ uint32_t x1319;
+ fiat_p384_uint1 x1320;
+ fiat_p384_addcarryx_u32(&x1319, &x1320, x1318, x1293, x1245);
+ uint32_t x1321;
+ uint32_t x1322;
+ fiat_p384_mulx_u32(&x1321, &x1322, x1295, UINT32_C(0xffffffff));
+ uint32_t x1323;
+ uint32_t x1324;
+ fiat_p384_mulx_u32(&x1323, &x1324, x1295, UINT32_C(0xffffffff));
+ uint32_t x1325;
+ uint32_t x1326;
+ fiat_p384_mulx_u32(&x1325, &x1326, x1295, UINT32_C(0xffffffff));
+ uint32_t x1327;
+ uint32_t x1328;
+ fiat_p384_mulx_u32(&x1327, &x1328, x1295, UINT32_C(0xffffffff));
+ uint32_t x1329;
+ uint32_t x1330;
+ fiat_p384_mulx_u32(&x1329, &x1330, x1295, UINT32_C(0xffffffff));
+ uint32_t x1331;
+ uint32_t x1332;
+ fiat_p384_mulx_u32(&x1331, &x1332, x1295, UINT32_C(0xffffffff));
+ uint32_t x1333;
+ uint32_t x1334;
+ fiat_p384_mulx_u32(&x1333, &x1334, x1295, UINT32_C(0xffffffff));
+ uint32_t x1335;
+ uint32_t x1336;
+ fiat_p384_mulx_u32(&x1335, &x1336, x1295, UINT32_C(0xfffffffe));
+ uint32_t x1337;
+ uint32_t x1338;
+ fiat_p384_mulx_u32(&x1337, &x1338, x1295, UINT32_C(0xffffffff));
+ uint32_t x1339;
+ uint32_t x1340;
+ fiat_p384_mulx_u32(&x1339, &x1340, x1295, UINT32_C(0xffffffff));
+ uint32_t x1341;
+ fiat_p384_uint1 x1342;
+ fiat_p384_addcarryx_u32(&x1341, &x1342, 0x0, x1335, x1338);
+ uint32_t x1343;
+ fiat_p384_uint1 x1344;
+ fiat_p384_addcarryx_u32(&x1343, &x1344, x1342, x1333, x1336);
+ uint32_t x1345;
+ fiat_p384_uint1 x1346;
+ fiat_p384_addcarryx_u32(&x1345, &x1346, x1344, x1331, x1334);
+ uint32_t x1347;
+ fiat_p384_uint1 x1348;
+ fiat_p384_addcarryx_u32(&x1347, &x1348, x1346, x1329, x1332);
+ uint32_t x1349;
+ fiat_p384_uint1 x1350;
+ fiat_p384_addcarryx_u32(&x1349, &x1350, x1348, x1327, x1330);
+ uint32_t x1351;
+ fiat_p384_uint1 x1352;
+ fiat_p384_addcarryx_u32(&x1351, &x1352, x1350, x1325, x1328);
+ uint32_t x1353;
+ fiat_p384_uint1 x1354;
+ fiat_p384_addcarryx_u32(&x1353, &x1354, x1352, x1323, x1326);
+ uint32_t x1355;
+ fiat_p384_uint1 x1356;
+ fiat_p384_addcarryx_u32(&x1355, &x1356, x1354, x1321, x1324);
+ uint32_t x1357;
+ fiat_p384_uint1 x1358;
+ fiat_p384_addcarryx_u32(&x1357, &x1358, x1356, 0x0, x1322);
+ uint32_t x1359;
+ fiat_p384_uint1 x1360;
+ fiat_p384_addcarryx_u32(&x1359, &x1360, 0x0, x1339, x1295);
+ uint32_t x1361;
+ fiat_p384_uint1 x1362;
+ fiat_p384_addcarryx_u32(&x1361, &x1362, x1360, x1340, x1297);
+ uint32_t x1363;
+ fiat_p384_uint1 x1364;
+ fiat_p384_addcarryx_u32(&x1363, &x1364, x1362, 0x0, x1299);
+ uint32_t x1365;
+ fiat_p384_uint1 x1366;
+ fiat_p384_addcarryx_u32(&x1365, &x1366, x1364, x1337, x1301);
+ uint32_t x1367;
+ fiat_p384_uint1 x1368;
+ fiat_p384_addcarryx_u32(&x1367, &x1368, x1366, x1341, x1303);
+ uint32_t x1369;
+ fiat_p384_uint1 x1370;
+ fiat_p384_addcarryx_u32(&x1369, &x1370, x1368, x1343, x1305);
+ uint32_t x1371;
+ fiat_p384_uint1 x1372;
+ fiat_p384_addcarryx_u32(&x1371, &x1372, x1370, x1345, x1307);
+ uint32_t x1373;
+ fiat_p384_uint1 x1374;
+ fiat_p384_addcarryx_u32(&x1373, &x1374, x1372, x1347, x1309);
+ uint32_t x1375;
+ fiat_p384_uint1 x1376;
+ fiat_p384_addcarryx_u32(&x1375, &x1376, x1374, x1349, x1311);
+ uint32_t x1377;
+ fiat_p384_uint1 x1378;
+ fiat_p384_addcarryx_u32(&x1377, &x1378, x1376, x1351, x1313);
+ uint32_t x1379;
+ fiat_p384_uint1 x1380;
+ fiat_p384_addcarryx_u32(&x1379, &x1380, x1378, x1353, x1315);
+ uint32_t x1381;
+ fiat_p384_uint1 x1382;
+ fiat_p384_addcarryx_u32(&x1381, &x1382, x1380, x1355, x1317);
+ uint32_t x1383;
+ fiat_p384_uint1 x1384;
+ fiat_p384_addcarryx_u32(&x1383, &x1384, x1382, x1357, x1319);
+ uint32_t x1385;
+ fiat_p384_uint1 x1386;
+ fiat_p384_addcarryx_u32(&x1385, &x1386, x1384, 0x0, x1320);
+ uint32_t x1387;
+ uint32_t x1388;
+ fiat_p384_mulx_u32(&x1387, &x1388, x10, (arg1[11]));
+ uint32_t x1389;
+ uint32_t x1390;
+ fiat_p384_mulx_u32(&x1389, &x1390, x10, (arg1[10]));
+ uint32_t x1391;
+ uint32_t x1392;
+ fiat_p384_mulx_u32(&x1391, &x1392, x10, (arg1[9]));
+ uint32_t x1393;
+ uint32_t x1394;
+ fiat_p384_mulx_u32(&x1393, &x1394, x10, (arg1[8]));
+ uint32_t x1395;
+ uint32_t x1396;
+ fiat_p384_mulx_u32(&x1395, &x1396, x10, (arg1[7]));
+ uint32_t x1397;
+ uint32_t x1398;
+ fiat_p384_mulx_u32(&x1397, &x1398, x10, (arg1[6]));
+ uint32_t x1399;
+ uint32_t x1400;
+ fiat_p384_mulx_u32(&x1399, &x1400, x10, (arg1[5]));
+ uint32_t x1401;
+ uint32_t x1402;
+ fiat_p384_mulx_u32(&x1401, &x1402, x10, (arg1[4]));
+ uint32_t x1403;
+ uint32_t x1404;
+ fiat_p384_mulx_u32(&x1403, &x1404, x10, (arg1[3]));
+ uint32_t x1405;
+ uint32_t x1406;
+ fiat_p384_mulx_u32(&x1405, &x1406, x10, (arg1[2]));
+ uint32_t x1407;
+ uint32_t x1408;
+ fiat_p384_mulx_u32(&x1407, &x1408, x10, (arg1[1]));
+ uint32_t x1409;
+ uint32_t x1410;
+ fiat_p384_mulx_u32(&x1409, &x1410, x10, (arg1[0]));
+ uint32_t x1411;
+ fiat_p384_uint1 x1412;
+ fiat_p384_addcarryx_u32(&x1411, &x1412, 0x0, x1407, x1410);
+ uint32_t x1413;
+ fiat_p384_uint1 x1414;
+ fiat_p384_addcarryx_u32(&x1413, &x1414, x1412, x1405, x1408);
+ uint32_t x1415;
+ fiat_p384_uint1 x1416;
+ fiat_p384_addcarryx_u32(&x1415, &x1416, x1414, x1403, x1406);
+ uint32_t x1417;
+ fiat_p384_uint1 x1418;
+ fiat_p384_addcarryx_u32(&x1417, &x1418, x1416, x1401, x1404);
+ uint32_t x1419;
+ fiat_p384_uint1 x1420;
+ fiat_p384_addcarryx_u32(&x1419, &x1420, x1418, x1399, x1402);
+ uint32_t x1421;
+ fiat_p384_uint1 x1422;
+ fiat_p384_addcarryx_u32(&x1421, &x1422, x1420, x1397, x1400);
+ uint32_t x1423;
+ fiat_p384_uint1 x1424;
+ fiat_p384_addcarryx_u32(&x1423, &x1424, x1422, x1395, x1398);
+ uint32_t x1425;
+ fiat_p384_uint1 x1426;
+ fiat_p384_addcarryx_u32(&x1425, &x1426, x1424, x1393, x1396);
+ uint32_t x1427;
+ fiat_p384_uint1 x1428;
+ fiat_p384_addcarryx_u32(&x1427, &x1428, x1426, x1391, x1394);
+ uint32_t x1429;
+ fiat_p384_uint1 x1430;
+ fiat_p384_addcarryx_u32(&x1429, &x1430, x1428, x1389, x1392);
+ uint32_t x1431;
+ fiat_p384_uint1 x1432;
+ fiat_p384_addcarryx_u32(&x1431, &x1432, x1430, x1387, x1390);
+ uint32_t x1433;
+ fiat_p384_uint1 x1434;
+ fiat_p384_addcarryx_u32(&x1433, &x1434, x1432, 0x0, x1388);
+ uint32_t x1435;
+ fiat_p384_uint1 x1436;
+ fiat_p384_addcarryx_u32(&x1435, &x1436, 0x0, x1409, x1361);
+ uint32_t x1437;
+ fiat_p384_uint1 x1438;
+ fiat_p384_addcarryx_u32(&x1437, &x1438, x1436, x1411, x1363);
+ uint32_t x1439;
+ fiat_p384_uint1 x1440;
+ fiat_p384_addcarryx_u32(&x1439, &x1440, x1438, x1413, x1365);
+ uint32_t x1441;
+ fiat_p384_uint1 x1442;
+ fiat_p384_addcarryx_u32(&x1441, &x1442, x1440, x1415, x1367);
+ uint32_t x1443;
+ fiat_p384_uint1 x1444;
+ fiat_p384_addcarryx_u32(&x1443, &x1444, x1442, x1417, x1369);
+ uint32_t x1445;
+ fiat_p384_uint1 x1446;
+ fiat_p384_addcarryx_u32(&x1445, &x1446, x1444, x1419, x1371);
+ uint32_t x1447;
+ fiat_p384_uint1 x1448;
+ fiat_p384_addcarryx_u32(&x1447, &x1448, x1446, x1421, x1373);
+ uint32_t x1449;
+ fiat_p384_uint1 x1450;
+ fiat_p384_addcarryx_u32(&x1449, &x1450, x1448, x1423, x1375);
+ uint32_t x1451;
+ fiat_p384_uint1 x1452;
+ fiat_p384_addcarryx_u32(&x1451, &x1452, x1450, x1425, x1377);
+ uint32_t x1453;
+ fiat_p384_uint1 x1454;
+ fiat_p384_addcarryx_u32(&x1453, &x1454, x1452, x1427, x1379);
+ uint32_t x1455;
+ fiat_p384_uint1 x1456;
+ fiat_p384_addcarryx_u32(&x1455, &x1456, x1454, x1429, x1381);
+ uint32_t x1457;
+ fiat_p384_uint1 x1458;
+ fiat_p384_addcarryx_u32(&x1457, &x1458, x1456, x1431, x1383);
+ uint32_t x1459;
+ fiat_p384_uint1 x1460;
+ fiat_p384_addcarryx_u32(&x1459, &x1460, x1458, x1433, x1385);
+ uint32_t x1461;
+ uint32_t x1462;
+ fiat_p384_mulx_u32(&x1461, &x1462, x1435, UINT32_C(0xffffffff));
+ uint32_t x1463;
+ uint32_t x1464;
+ fiat_p384_mulx_u32(&x1463, &x1464, x1435, UINT32_C(0xffffffff));
+ uint32_t x1465;
+ uint32_t x1466;
+ fiat_p384_mulx_u32(&x1465, &x1466, x1435, UINT32_C(0xffffffff));
+ uint32_t x1467;
+ uint32_t x1468;
+ fiat_p384_mulx_u32(&x1467, &x1468, x1435, UINT32_C(0xffffffff));
+ uint32_t x1469;
+ uint32_t x1470;
+ fiat_p384_mulx_u32(&x1469, &x1470, x1435, UINT32_C(0xffffffff));
+ uint32_t x1471;
+ uint32_t x1472;
+ fiat_p384_mulx_u32(&x1471, &x1472, x1435, UINT32_C(0xffffffff));
+ uint32_t x1473;
+ uint32_t x1474;
+ fiat_p384_mulx_u32(&x1473, &x1474, x1435, UINT32_C(0xffffffff));
+ uint32_t x1475;
+ uint32_t x1476;
+ fiat_p384_mulx_u32(&x1475, &x1476, x1435, UINT32_C(0xfffffffe));
+ uint32_t x1477;
+ uint32_t x1478;
+ fiat_p384_mulx_u32(&x1477, &x1478, x1435, UINT32_C(0xffffffff));
+ uint32_t x1479;
+ uint32_t x1480;
+ fiat_p384_mulx_u32(&x1479, &x1480, x1435, UINT32_C(0xffffffff));
+ uint32_t x1481;
+ fiat_p384_uint1 x1482;
+ fiat_p384_addcarryx_u32(&x1481, &x1482, 0x0, x1475, x1478);
+ uint32_t x1483;
+ fiat_p384_uint1 x1484;
+ fiat_p384_addcarryx_u32(&x1483, &x1484, x1482, x1473, x1476);
+ uint32_t x1485;
+ fiat_p384_uint1 x1486;
+ fiat_p384_addcarryx_u32(&x1485, &x1486, x1484, x1471, x1474);
+ uint32_t x1487;
+ fiat_p384_uint1 x1488;
+ fiat_p384_addcarryx_u32(&x1487, &x1488, x1486, x1469, x1472);
+ uint32_t x1489;
+ fiat_p384_uint1 x1490;
+ fiat_p384_addcarryx_u32(&x1489, &x1490, x1488, x1467, x1470);
+ uint32_t x1491;
+ fiat_p384_uint1 x1492;
+ fiat_p384_addcarryx_u32(&x1491, &x1492, x1490, x1465, x1468);
+ uint32_t x1493;
+ fiat_p384_uint1 x1494;
+ fiat_p384_addcarryx_u32(&x1493, &x1494, x1492, x1463, x1466);
+ uint32_t x1495;
+ fiat_p384_uint1 x1496;
+ fiat_p384_addcarryx_u32(&x1495, &x1496, x1494, x1461, x1464);
+ uint32_t x1497;
+ fiat_p384_uint1 x1498;
+ fiat_p384_addcarryx_u32(&x1497, &x1498, x1496, 0x0, x1462);
+ uint32_t x1499;
+ fiat_p384_uint1 x1500;
+ fiat_p384_addcarryx_u32(&x1499, &x1500, 0x0, x1479, x1435);
+ uint32_t x1501;
+ fiat_p384_uint1 x1502;
+ fiat_p384_addcarryx_u32(&x1501, &x1502, x1500, x1480, x1437);
+ uint32_t x1503;
+ fiat_p384_uint1 x1504;
+ fiat_p384_addcarryx_u32(&x1503, &x1504, x1502, 0x0, x1439);
+ uint32_t x1505;
+ fiat_p384_uint1 x1506;
+ fiat_p384_addcarryx_u32(&x1505, &x1506, x1504, x1477, x1441);
+ uint32_t x1507;
+ fiat_p384_uint1 x1508;
+ fiat_p384_addcarryx_u32(&x1507, &x1508, x1506, x1481, x1443);
+ uint32_t x1509;
+ fiat_p384_uint1 x1510;
+ fiat_p384_addcarryx_u32(&x1509, &x1510, x1508, x1483, x1445);
+ uint32_t x1511;
+ fiat_p384_uint1 x1512;
+ fiat_p384_addcarryx_u32(&x1511, &x1512, x1510, x1485, x1447);
+ uint32_t x1513;
+ fiat_p384_uint1 x1514;
+ fiat_p384_addcarryx_u32(&x1513, &x1514, x1512, x1487, x1449);
+ uint32_t x1515;
+ fiat_p384_uint1 x1516;
+ fiat_p384_addcarryx_u32(&x1515, &x1516, x1514, x1489, x1451);
+ uint32_t x1517;
+ fiat_p384_uint1 x1518;
+ fiat_p384_addcarryx_u32(&x1517, &x1518, x1516, x1491, x1453);
+ uint32_t x1519;
+ fiat_p384_uint1 x1520;
+ fiat_p384_addcarryx_u32(&x1519, &x1520, x1518, x1493, x1455);
+ uint32_t x1521;
+ fiat_p384_uint1 x1522;
+ fiat_p384_addcarryx_u32(&x1521, &x1522, x1520, x1495, x1457);
+ uint32_t x1523;
+ fiat_p384_uint1 x1524;
+ fiat_p384_addcarryx_u32(&x1523, &x1524, x1522, x1497, x1459);
+ uint32_t x1525;
+ fiat_p384_uint1 x1526;
+ fiat_p384_addcarryx_u32(&x1525, &x1526, x1524, 0x0, x1460);
+ uint32_t x1527;
+ uint32_t x1528;
+ fiat_p384_mulx_u32(&x1527, &x1528, x11, (arg1[11]));
+ uint32_t x1529;
+ uint32_t x1530;
+ fiat_p384_mulx_u32(&x1529, &x1530, x11, (arg1[10]));
+ uint32_t x1531;
+ uint32_t x1532;
+ fiat_p384_mulx_u32(&x1531, &x1532, x11, (arg1[9]));
+ uint32_t x1533;
+ uint32_t x1534;
+ fiat_p384_mulx_u32(&x1533, &x1534, x11, (arg1[8]));
+ uint32_t x1535;
+ uint32_t x1536;
+ fiat_p384_mulx_u32(&x1535, &x1536, x11, (arg1[7]));
+ uint32_t x1537;
+ uint32_t x1538;
+ fiat_p384_mulx_u32(&x1537, &x1538, x11, (arg1[6]));
+ uint32_t x1539;
+ uint32_t x1540;
+ fiat_p384_mulx_u32(&x1539, &x1540, x11, (arg1[5]));
+ uint32_t x1541;
+ uint32_t x1542;
+ fiat_p384_mulx_u32(&x1541, &x1542, x11, (arg1[4]));
+ uint32_t x1543;
+ uint32_t x1544;
+ fiat_p384_mulx_u32(&x1543, &x1544, x11, (arg1[3]));
+ uint32_t x1545;
+ uint32_t x1546;
+ fiat_p384_mulx_u32(&x1545, &x1546, x11, (arg1[2]));
+ uint32_t x1547;
+ uint32_t x1548;
+ fiat_p384_mulx_u32(&x1547, &x1548, x11, (arg1[1]));
+ uint32_t x1549;
+ uint32_t x1550;
+ fiat_p384_mulx_u32(&x1549, &x1550, x11, (arg1[0]));
+ uint32_t x1551;
+ fiat_p384_uint1 x1552;
+ fiat_p384_addcarryx_u32(&x1551, &x1552, 0x0, x1547, x1550);
+ uint32_t x1553;
+ fiat_p384_uint1 x1554;
+ fiat_p384_addcarryx_u32(&x1553, &x1554, x1552, x1545, x1548);
+ uint32_t x1555;
+ fiat_p384_uint1 x1556;
+ fiat_p384_addcarryx_u32(&x1555, &x1556, x1554, x1543, x1546);
+ uint32_t x1557;
+ fiat_p384_uint1 x1558;
+ fiat_p384_addcarryx_u32(&x1557, &x1558, x1556, x1541, x1544);
+ uint32_t x1559;
+ fiat_p384_uint1 x1560;
+ fiat_p384_addcarryx_u32(&x1559, &x1560, x1558, x1539, x1542);
+ uint32_t x1561;
+ fiat_p384_uint1 x1562;
+ fiat_p384_addcarryx_u32(&x1561, &x1562, x1560, x1537, x1540);
+ uint32_t x1563;
+ fiat_p384_uint1 x1564;
+ fiat_p384_addcarryx_u32(&x1563, &x1564, x1562, x1535, x1538);
+ uint32_t x1565;
+ fiat_p384_uint1 x1566;
+ fiat_p384_addcarryx_u32(&x1565, &x1566, x1564, x1533, x1536);
+ uint32_t x1567;
+ fiat_p384_uint1 x1568;
+ fiat_p384_addcarryx_u32(&x1567, &x1568, x1566, x1531, x1534);
+ uint32_t x1569;
+ fiat_p384_uint1 x1570;
+ fiat_p384_addcarryx_u32(&x1569, &x1570, x1568, x1529, x1532);
+ uint32_t x1571;
+ fiat_p384_uint1 x1572;
+ fiat_p384_addcarryx_u32(&x1571, &x1572, x1570, x1527, x1530);
+ uint32_t x1573;
+ fiat_p384_uint1 x1574;
+ fiat_p384_addcarryx_u32(&x1573, &x1574, x1572, 0x0, x1528);
+ uint32_t x1575;
+ fiat_p384_uint1 x1576;
+ fiat_p384_addcarryx_u32(&x1575, &x1576, 0x0, x1549, x1501);
+ uint32_t x1577;
+ fiat_p384_uint1 x1578;
+ fiat_p384_addcarryx_u32(&x1577, &x1578, x1576, x1551, x1503);
+ uint32_t x1579;
+ fiat_p384_uint1 x1580;
+ fiat_p384_addcarryx_u32(&x1579, &x1580, x1578, x1553, x1505);
+ uint32_t x1581;
+ fiat_p384_uint1 x1582;
+ fiat_p384_addcarryx_u32(&x1581, &x1582, x1580, x1555, x1507);
+ uint32_t x1583;
+ fiat_p384_uint1 x1584;
+ fiat_p384_addcarryx_u32(&x1583, &x1584, x1582, x1557, x1509);
+ uint32_t x1585;
+ fiat_p384_uint1 x1586;
+ fiat_p384_addcarryx_u32(&x1585, &x1586, x1584, x1559, x1511);
+ uint32_t x1587;
+ fiat_p384_uint1 x1588;
+ fiat_p384_addcarryx_u32(&x1587, &x1588, x1586, x1561, x1513);
+ uint32_t x1589;
+ fiat_p384_uint1 x1590;
+ fiat_p384_addcarryx_u32(&x1589, &x1590, x1588, x1563, x1515);
+ uint32_t x1591;
+ fiat_p384_uint1 x1592;
+ fiat_p384_addcarryx_u32(&x1591, &x1592, x1590, x1565, x1517);
+ uint32_t x1593;
+ fiat_p384_uint1 x1594;
+ fiat_p384_addcarryx_u32(&x1593, &x1594, x1592, x1567, x1519);
+ uint32_t x1595;
+ fiat_p384_uint1 x1596;
+ fiat_p384_addcarryx_u32(&x1595, &x1596, x1594, x1569, x1521);
+ uint32_t x1597;
+ fiat_p384_uint1 x1598;
+ fiat_p384_addcarryx_u32(&x1597, &x1598, x1596, x1571, x1523);
+ uint32_t x1599;
+ fiat_p384_uint1 x1600;
+ fiat_p384_addcarryx_u32(&x1599, &x1600, x1598, x1573, x1525);
+ uint32_t x1601;
+ uint32_t x1602;
+ fiat_p384_mulx_u32(&x1601, &x1602, x1575, UINT32_C(0xffffffff));
+ uint32_t x1603;
+ uint32_t x1604;
+ fiat_p384_mulx_u32(&x1603, &x1604, x1575, UINT32_C(0xffffffff));
+ uint32_t x1605;
+ uint32_t x1606;
+ fiat_p384_mulx_u32(&x1605, &x1606, x1575, UINT32_C(0xffffffff));
+ uint32_t x1607;
+ uint32_t x1608;
+ fiat_p384_mulx_u32(&x1607, &x1608, x1575, UINT32_C(0xffffffff));
+ uint32_t x1609;
+ uint32_t x1610;
+ fiat_p384_mulx_u32(&x1609, &x1610, x1575, UINT32_C(0xffffffff));
+ uint32_t x1611;
+ uint32_t x1612;
+ fiat_p384_mulx_u32(&x1611, &x1612, x1575, UINT32_C(0xffffffff));
+ uint32_t x1613;
+ uint32_t x1614;
+ fiat_p384_mulx_u32(&x1613, &x1614, x1575, UINT32_C(0xffffffff));
+ uint32_t x1615;
+ uint32_t x1616;
+ fiat_p384_mulx_u32(&x1615, &x1616, x1575, UINT32_C(0xfffffffe));
+ uint32_t x1617;
+ uint32_t x1618;
+ fiat_p384_mulx_u32(&x1617, &x1618, x1575, UINT32_C(0xffffffff));
+ uint32_t x1619;
+ uint32_t x1620;
+ fiat_p384_mulx_u32(&x1619, &x1620, x1575, UINT32_C(0xffffffff));
+ uint32_t x1621;
+ fiat_p384_uint1 x1622;
+ fiat_p384_addcarryx_u32(&x1621, &x1622, 0x0, x1615, x1618);
+ uint32_t x1623;
+ fiat_p384_uint1 x1624;
+ fiat_p384_addcarryx_u32(&x1623, &x1624, x1622, x1613, x1616);
+ uint32_t x1625;
+ fiat_p384_uint1 x1626;
+ fiat_p384_addcarryx_u32(&x1625, &x1626, x1624, x1611, x1614);
+ uint32_t x1627;
+ fiat_p384_uint1 x1628;
+ fiat_p384_addcarryx_u32(&x1627, &x1628, x1626, x1609, x1612);
+ uint32_t x1629;
+ fiat_p384_uint1 x1630;
+ fiat_p384_addcarryx_u32(&x1629, &x1630, x1628, x1607, x1610);
+ uint32_t x1631;
+ fiat_p384_uint1 x1632;
+ fiat_p384_addcarryx_u32(&x1631, &x1632, x1630, x1605, x1608);
+ uint32_t x1633;
+ fiat_p384_uint1 x1634;
+ fiat_p384_addcarryx_u32(&x1633, &x1634, x1632, x1603, x1606);
+ uint32_t x1635;
+ fiat_p384_uint1 x1636;
+ fiat_p384_addcarryx_u32(&x1635, &x1636, x1634, x1601, x1604);
+ uint32_t x1637;
+ fiat_p384_uint1 x1638;
+ fiat_p384_addcarryx_u32(&x1637, &x1638, x1636, 0x0, x1602);
+ uint32_t x1639;
+ fiat_p384_uint1 x1640;
+ fiat_p384_addcarryx_u32(&x1639, &x1640, 0x0, x1619, x1575);
+ uint32_t x1641;
+ fiat_p384_uint1 x1642;
+ fiat_p384_addcarryx_u32(&x1641, &x1642, x1640, x1620, x1577);
+ uint32_t x1643;
+ fiat_p384_uint1 x1644;
+ fiat_p384_addcarryx_u32(&x1643, &x1644, x1642, 0x0, x1579);
+ uint32_t x1645;
+ fiat_p384_uint1 x1646;
+ fiat_p384_addcarryx_u32(&x1645, &x1646, x1644, x1617, x1581);
+ uint32_t x1647;
+ fiat_p384_uint1 x1648;
+ fiat_p384_addcarryx_u32(&x1647, &x1648, x1646, x1621, x1583);
+ uint32_t x1649;
+ fiat_p384_uint1 x1650;
+ fiat_p384_addcarryx_u32(&x1649, &x1650, x1648, x1623, x1585);
+ uint32_t x1651;
+ fiat_p384_uint1 x1652;
+ fiat_p384_addcarryx_u32(&x1651, &x1652, x1650, x1625, x1587);
+ uint32_t x1653;
+ fiat_p384_uint1 x1654;
+ fiat_p384_addcarryx_u32(&x1653, &x1654, x1652, x1627, x1589);
+ uint32_t x1655;
+ fiat_p384_uint1 x1656;
+ fiat_p384_addcarryx_u32(&x1655, &x1656, x1654, x1629, x1591);
+ uint32_t x1657;
+ fiat_p384_uint1 x1658;
+ fiat_p384_addcarryx_u32(&x1657, &x1658, x1656, x1631, x1593);
+ uint32_t x1659;
+ fiat_p384_uint1 x1660;
+ fiat_p384_addcarryx_u32(&x1659, &x1660, x1658, x1633, x1595);
+ uint32_t x1661;
+ fiat_p384_uint1 x1662;
+ fiat_p384_addcarryx_u32(&x1661, &x1662, x1660, x1635, x1597);
+ uint32_t x1663;
+ fiat_p384_uint1 x1664;
+ fiat_p384_addcarryx_u32(&x1663, &x1664, x1662, x1637, x1599);
+ uint32_t x1665;
+ fiat_p384_uint1 x1666;
+ fiat_p384_addcarryx_u32(&x1665, &x1666, x1664, 0x0, x1600);
+ uint32_t x1667;
+ fiat_p384_uint1 x1668;
+ fiat_p384_subborrowx_u32(&x1667, &x1668, 0x0, x1641, UINT32_C(0xffffffff));
+ uint32_t x1669;
+ fiat_p384_uint1 x1670;
+ fiat_p384_subborrowx_u32(&x1669, &x1670, x1668, x1643, 0x0);
+ uint32_t x1671;
+ fiat_p384_uint1 x1672;
+ fiat_p384_subborrowx_u32(&x1671, &x1672, x1670, x1645, 0x0);
+ uint32_t x1673;
+ fiat_p384_uint1 x1674;
+ fiat_p384_subborrowx_u32(&x1673, &x1674, x1672, x1647, UINT32_C(0xffffffff));
+ uint32_t x1675;
+ fiat_p384_uint1 x1676;
+ fiat_p384_subborrowx_u32(&x1675, &x1676, x1674, x1649, UINT32_C(0xfffffffe));
+ uint32_t x1677;
+ fiat_p384_uint1 x1678;
+ fiat_p384_subborrowx_u32(&x1677, &x1678, x1676, x1651, UINT32_C(0xffffffff));
+ uint32_t x1679;
+ fiat_p384_uint1 x1680;
+ fiat_p384_subborrowx_u32(&x1679, &x1680, x1678, x1653, UINT32_C(0xffffffff));
+ uint32_t x1681;
+ fiat_p384_uint1 x1682;
+ fiat_p384_subborrowx_u32(&x1681, &x1682, x1680, x1655, UINT32_C(0xffffffff));
+ uint32_t x1683;
+ fiat_p384_uint1 x1684;
+ fiat_p384_subborrowx_u32(&x1683, &x1684, x1682, x1657, UINT32_C(0xffffffff));
+ uint32_t x1685;
+ fiat_p384_uint1 x1686;
+ fiat_p384_subborrowx_u32(&x1685, &x1686, x1684, x1659, UINT32_C(0xffffffff));
+ uint32_t x1687;
+ fiat_p384_uint1 x1688;
+ fiat_p384_subborrowx_u32(&x1687, &x1688, x1686, x1661, UINT32_C(0xffffffff));
+ uint32_t x1689;
+ fiat_p384_uint1 x1690;
+ fiat_p384_subborrowx_u32(&x1689, &x1690, x1688, x1663, UINT32_C(0xffffffff));
+ uint32_t x1691;
+ fiat_p384_uint1 x1692;
+ fiat_p384_subborrowx_u32(&x1691, &x1692, x1690, x1665, 0x0);
+ uint32_t x1693;
+ fiat_p384_cmovznz_u32(&x1693, x1692, x1667, x1641);
+ uint32_t x1694;
+ fiat_p384_cmovznz_u32(&x1694, x1692, x1669, x1643);
+ uint32_t x1695;
+ fiat_p384_cmovznz_u32(&x1695, x1692, x1671, x1645);
+ uint32_t x1696;
+ fiat_p384_cmovznz_u32(&x1696, x1692, x1673, x1647);
+ uint32_t x1697;
+ fiat_p384_cmovznz_u32(&x1697, x1692, x1675, x1649);
+ uint32_t x1698;
+ fiat_p384_cmovznz_u32(&x1698, x1692, x1677, x1651);
+ uint32_t x1699;
+ fiat_p384_cmovznz_u32(&x1699, x1692, x1679, x1653);
+ uint32_t x1700;
+ fiat_p384_cmovznz_u32(&x1700, x1692, x1681, x1655);
+ uint32_t x1701;
+ fiat_p384_cmovznz_u32(&x1701, x1692, x1683, x1657);
+ uint32_t x1702;
+ fiat_p384_cmovznz_u32(&x1702, x1692, x1685, x1659);
+ uint32_t x1703;
+ fiat_p384_cmovznz_u32(&x1703, x1692, x1687, x1661);
+ uint32_t x1704;
+ fiat_p384_cmovznz_u32(&x1704, x1692, x1689, x1663);
+ out1[0] = x1693;
+ out1[1] = x1694;
+ out1[2] = x1695;
+ out1[3] = x1696;
+ out1[4] = x1697;
+ out1[5] = x1698;
+ out1[6] = x1699;
+ out1[7] = x1700;
+ out1[8] = x1701;
+ out1[9] = x1702;
+ out1[10] = x1703;
+ out1[11] = x1704;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p384_add(uint32_t out1[12], const uint32_t arg1[12], const uint32_t arg2[12]) {
+ uint32_t x1;
+ fiat_p384_uint1 x2;
+ fiat_p384_addcarryx_u32(&x1, &x2, 0x0, (arg2[0]), (arg1[0]));
+ uint32_t x3;
+ fiat_p384_uint1 x4;
+ fiat_p384_addcarryx_u32(&x3, &x4, x2, (arg2[1]), (arg1[1]));
+ uint32_t x5;
+ fiat_p384_uint1 x6;
+ fiat_p384_addcarryx_u32(&x5, &x6, x4, (arg2[2]), (arg1[2]));
+ uint32_t x7;
+ fiat_p384_uint1 x8;
+ fiat_p384_addcarryx_u32(&x7, &x8, x6, (arg2[3]), (arg1[3]));
+ uint32_t x9;
+ fiat_p384_uint1 x10;
+ fiat_p384_addcarryx_u32(&x9, &x10, x8, (arg2[4]), (arg1[4]));
+ uint32_t x11;
+ fiat_p384_uint1 x12;
+ fiat_p384_addcarryx_u32(&x11, &x12, x10, (arg2[5]), (arg1[5]));
+ uint32_t x13;
+ fiat_p384_uint1 x14;
+ fiat_p384_addcarryx_u32(&x13, &x14, x12, (arg2[6]), (arg1[6]));
+ uint32_t x15;
+ fiat_p384_uint1 x16;
+ fiat_p384_addcarryx_u32(&x15, &x16, x14, (arg2[7]), (arg1[7]));
+ uint32_t x17;
+ fiat_p384_uint1 x18;
+ fiat_p384_addcarryx_u32(&x17, &x18, x16, (arg2[8]), (arg1[8]));
+ uint32_t x19;
+ fiat_p384_uint1 x20;
+ fiat_p384_addcarryx_u32(&x19, &x20, x18, (arg2[9]), (arg1[9]));
+ uint32_t x21;
+ fiat_p384_uint1 x22;
+ fiat_p384_addcarryx_u32(&x21, &x22, x20, (arg2[10]), (arg1[10]));
+ uint32_t x23;
+ fiat_p384_uint1 x24;
+ fiat_p384_addcarryx_u32(&x23, &x24, x22, (arg2[11]), (arg1[11]));
+ uint32_t x25;
+ fiat_p384_uint1 x26;
+ fiat_p384_subborrowx_u32(&x25, &x26, 0x0, x1, UINT32_C(0xffffffff));
+ uint32_t x27;
+ fiat_p384_uint1 x28;
+ fiat_p384_subborrowx_u32(&x27, &x28, x26, x3, 0x0);
+ uint32_t x29;
+ fiat_p384_uint1 x30;
+ fiat_p384_subborrowx_u32(&x29, &x30, x28, x5, 0x0);
+ uint32_t x31;
+ fiat_p384_uint1 x32;
+ fiat_p384_subborrowx_u32(&x31, &x32, x30, x7, UINT32_C(0xffffffff));
+ uint32_t x33;
+ fiat_p384_uint1 x34;
+ fiat_p384_subborrowx_u32(&x33, &x34, x32, x9, UINT32_C(0xfffffffe));
+ uint32_t x35;
+ fiat_p384_uint1 x36;
+ fiat_p384_subborrowx_u32(&x35, &x36, x34, x11, UINT32_C(0xffffffff));
+ uint32_t x37;
+ fiat_p384_uint1 x38;
+ fiat_p384_subborrowx_u32(&x37, &x38, x36, x13, UINT32_C(0xffffffff));
+ uint32_t x39;
+ fiat_p384_uint1 x40;
+ fiat_p384_subborrowx_u32(&x39, &x40, x38, x15, UINT32_C(0xffffffff));
+ uint32_t x41;
+ fiat_p384_uint1 x42;
+ fiat_p384_subborrowx_u32(&x41, &x42, x40, x17, UINT32_C(0xffffffff));
+ uint32_t x43;
+ fiat_p384_uint1 x44;
+ fiat_p384_subborrowx_u32(&x43, &x44, x42, x19, UINT32_C(0xffffffff));
+ uint32_t x45;
+ fiat_p384_uint1 x46;
+ fiat_p384_subborrowx_u32(&x45, &x46, x44, x21, UINT32_C(0xffffffff));
+ uint32_t x47;
+ fiat_p384_uint1 x48;
+ fiat_p384_subborrowx_u32(&x47, &x48, x46, x23, UINT32_C(0xffffffff));
+ uint32_t x49;
+ fiat_p384_uint1 x50;
+ fiat_p384_subborrowx_u32(&x49, &x50, x48, x24, 0x0);
+ uint32_t x51;
+ fiat_p384_cmovznz_u32(&x51, x50, x25, x1);
+ uint32_t x52;
+ fiat_p384_cmovznz_u32(&x52, x50, x27, x3);
+ uint32_t x53;
+ fiat_p384_cmovznz_u32(&x53, x50, x29, x5);
+ uint32_t x54;
+ fiat_p384_cmovznz_u32(&x54, x50, x31, x7);
+ uint32_t x55;
+ fiat_p384_cmovznz_u32(&x55, x50, x33, x9);
+ uint32_t x56;
+ fiat_p384_cmovznz_u32(&x56, x50, x35, x11);
+ uint32_t x57;
+ fiat_p384_cmovznz_u32(&x57, x50, x37, x13);
+ uint32_t x58;
+ fiat_p384_cmovznz_u32(&x58, x50, x39, x15);
+ uint32_t x59;
+ fiat_p384_cmovznz_u32(&x59, x50, x41, x17);
+ uint32_t x60;
+ fiat_p384_cmovznz_u32(&x60, x50, x43, x19);
+ uint32_t x61;
+ fiat_p384_cmovznz_u32(&x61, x50, x45, x21);
+ uint32_t x62;
+ fiat_p384_cmovznz_u32(&x62, x50, x47, x23);
+ out1[0] = x51;
+ out1[1] = x52;
+ out1[2] = x53;
+ out1[3] = x54;
+ out1[4] = x55;
+ out1[5] = x56;
+ out1[6] = x57;
+ out1[7] = x58;
+ out1[8] = x59;
+ out1[9] = x60;
+ out1[10] = x61;
+ out1[11] = x62;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p384_sub(uint32_t out1[12], const uint32_t arg1[12], const uint32_t arg2[12]) {
+ uint32_t x1;
+ fiat_p384_uint1 x2;
+ fiat_p384_subborrowx_u32(&x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+ uint32_t x3;
+ fiat_p384_uint1 x4;
+ fiat_p384_subborrowx_u32(&x3, &x4, x2, (arg1[1]), (arg2[1]));
+ uint32_t x5;
+ fiat_p384_uint1 x6;
+ fiat_p384_subborrowx_u32(&x5, &x6, x4, (arg1[2]), (arg2[2]));
+ uint32_t x7;
+ fiat_p384_uint1 x8;
+ fiat_p384_subborrowx_u32(&x7, &x8, x6, (arg1[3]), (arg2[3]));
+ uint32_t x9;
+ fiat_p384_uint1 x10;
+ fiat_p384_subborrowx_u32(&x9, &x10, x8, (arg1[4]), (arg2[4]));
+ uint32_t x11;
+ fiat_p384_uint1 x12;
+ fiat_p384_subborrowx_u32(&x11, &x12, x10, (arg1[5]), (arg2[5]));
+ uint32_t x13;
+ fiat_p384_uint1 x14;
+ fiat_p384_subborrowx_u32(&x13, &x14, x12, (arg1[6]), (arg2[6]));
+ uint32_t x15;
+ fiat_p384_uint1 x16;
+ fiat_p384_subborrowx_u32(&x15, &x16, x14, (arg1[7]), (arg2[7]));
+ uint32_t x17;
+ fiat_p384_uint1 x18;
+ fiat_p384_subborrowx_u32(&x17, &x18, x16, (arg1[8]), (arg2[8]));
+ uint32_t x19;
+ fiat_p384_uint1 x20;
+ fiat_p384_subborrowx_u32(&x19, &x20, x18, (arg1[9]), (arg2[9]));
+ uint32_t x21;
+ fiat_p384_uint1 x22;
+ fiat_p384_subborrowx_u32(&x21, &x22, x20, (arg1[10]), (arg2[10]));
+ uint32_t x23;
+ fiat_p384_uint1 x24;
+ fiat_p384_subborrowx_u32(&x23, &x24, x22, (arg1[11]), (arg2[11]));
+ uint32_t x25;
+ fiat_p384_cmovznz_u32(&x25, x24, 0x0, UINT32_C(0xffffffff));
+ uint32_t x26;
+ fiat_p384_uint1 x27;
+ fiat_p384_addcarryx_u32(&x26, &x27, 0x0, (x25 & UINT32_C(0xffffffff)), x1);
+ uint32_t x28;
+ fiat_p384_uint1 x29;
+ fiat_p384_addcarryx_u32(&x28, &x29, x27, 0x0, x3);
+ uint32_t x30;
+ fiat_p384_uint1 x31;
+ fiat_p384_addcarryx_u32(&x30, &x31, x29, 0x0, x5);
+ uint32_t x32;
+ fiat_p384_uint1 x33;
+ fiat_p384_addcarryx_u32(&x32, &x33, x31, (x25 & UINT32_C(0xffffffff)), x7);
+ uint32_t x34;
+ fiat_p384_uint1 x35;
+ fiat_p384_addcarryx_u32(&x34, &x35, x33, (x25 & UINT32_C(0xfffffffe)), x9);
+ uint32_t x36;
+ fiat_p384_uint1 x37;
+ fiat_p384_addcarryx_u32(&x36, &x37, x35, (x25 & UINT32_C(0xffffffff)), x11);
+ uint32_t x38;
+ fiat_p384_uint1 x39;
+ fiat_p384_addcarryx_u32(&x38, &x39, x37, (x25 & UINT32_C(0xffffffff)), x13);
+ uint32_t x40;
+ fiat_p384_uint1 x41;
+ fiat_p384_addcarryx_u32(&x40, &x41, x39, (x25 & UINT32_C(0xffffffff)), x15);
+ uint32_t x42;
+ fiat_p384_uint1 x43;
+ fiat_p384_addcarryx_u32(&x42, &x43, x41, (x25 & UINT32_C(0xffffffff)), x17);
+ uint32_t x44;
+ fiat_p384_uint1 x45;
+ fiat_p384_addcarryx_u32(&x44, &x45, x43, (x25 & UINT32_C(0xffffffff)), x19);
+ uint32_t x46;
+ fiat_p384_uint1 x47;
+ fiat_p384_addcarryx_u32(&x46, &x47, x45, (x25 & UINT32_C(0xffffffff)), x21);
+ uint32_t x48;
+ fiat_p384_uint1 x49;
+ fiat_p384_addcarryx_u32(&x48, &x49, x47, (x25 & UINT32_C(0xffffffff)), x23);
+ out1[0] = x26;
+ out1[1] = x28;
+ out1[2] = x30;
+ out1[3] = x32;
+ out1[4] = x34;
+ out1[5] = x36;
+ out1[6] = x38;
+ out1[7] = x40;
+ out1[8] = x42;
+ out1[9] = x44;
+ out1[10] = x46;
+ out1[11] = x48;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p384_opp(uint32_t out1[12], const uint32_t arg1[12]) {
+ uint32_t x1;
+ fiat_p384_uint1 x2;
+ fiat_p384_subborrowx_u32(&x1, &x2, 0x0, 0x0, (arg1[0]));
+ uint32_t x3;
+ fiat_p384_uint1 x4;
+ fiat_p384_subborrowx_u32(&x3, &x4, x2, 0x0, (arg1[1]));
+ uint32_t x5;
+ fiat_p384_uint1 x6;
+ fiat_p384_subborrowx_u32(&x5, &x6, x4, 0x0, (arg1[2]));
+ uint32_t x7;
+ fiat_p384_uint1 x8;
+ fiat_p384_subborrowx_u32(&x7, &x8, x6, 0x0, (arg1[3]));
+ uint32_t x9;
+ fiat_p384_uint1 x10;
+ fiat_p384_subborrowx_u32(&x9, &x10, x8, 0x0, (arg1[4]));
+ uint32_t x11;
+ fiat_p384_uint1 x12;
+ fiat_p384_subborrowx_u32(&x11, &x12, x10, 0x0, (arg1[5]));
+ uint32_t x13;
+ fiat_p384_uint1 x14;
+ fiat_p384_subborrowx_u32(&x13, &x14, x12, 0x0, (arg1[6]));
+ uint32_t x15;
+ fiat_p384_uint1 x16;
+ fiat_p384_subborrowx_u32(&x15, &x16, x14, 0x0, (arg1[7]));
+ uint32_t x17;
+ fiat_p384_uint1 x18;
+ fiat_p384_subborrowx_u32(&x17, &x18, x16, 0x0, (arg1[8]));
+ uint32_t x19;
+ fiat_p384_uint1 x20;
+ fiat_p384_subborrowx_u32(&x19, &x20, x18, 0x0, (arg1[9]));
+ uint32_t x21;
+ fiat_p384_uint1 x22;
+ fiat_p384_subborrowx_u32(&x21, &x22, x20, 0x0, (arg1[10]));
+ uint32_t x23;
+ fiat_p384_uint1 x24;
+ fiat_p384_subborrowx_u32(&x23, &x24, x22, 0x0, (arg1[11]));
+ uint32_t x25;
+ fiat_p384_cmovznz_u32(&x25, x24, 0x0, UINT32_C(0xffffffff));
+ uint32_t x26;
+ fiat_p384_uint1 x27;
+ fiat_p384_addcarryx_u32(&x26, &x27, 0x0, (x25 & UINT32_C(0xffffffff)), x1);
+ uint32_t x28;
+ fiat_p384_uint1 x29;
+ fiat_p384_addcarryx_u32(&x28, &x29, x27, 0x0, x3);
+ uint32_t x30;
+ fiat_p384_uint1 x31;
+ fiat_p384_addcarryx_u32(&x30, &x31, x29, 0x0, x5);
+ uint32_t x32;
+ fiat_p384_uint1 x33;
+ fiat_p384_addcarryx_u32(&x32, &x33, x31, (x25 & UINT32_C(0xffffffff)), x7);
+ uint32_t x34;
+ fiat_p384_uint1 x35;
+ fiat_p384_addcarryx_u32(&x34, &x35, x33, (x25 & UINT32_C(0xfffffffe)), x9);
+ uint32_t x36;
+ fiat_p384_uint1 x37;
+ fiat_p384_addcarryx_u32(&x36, &x37, x35, (x25 & UINT32_C(0xffffffff)), x11);
+ uint32_t x38;
+ fiat_p384_uint1 x39;
+ fiat_p384_addcarryx_u32(&x38, &x39, x37, (x25 & UINT32_C(0xffffffff)), x13);
+ uint32_t x40;
+ fiat_p384_uint1 x41;
+ fiat_p384_addcarryx_u32(&x40, &x41, x39, (x25 & UINT32_C(0xffffffff)), x15);
+ uint32_t x42;
+ fiat_p384_uint1 x43;
+ fiat_p384_addcarryx_u32(&x42, &x43, x41, (x25 & UINT32_C(0xffffffff)), x17);
+ uint32_t x44;
+ fiat_p384_uint1 x45;
+ fiat_p384_addcarryx_u32(&x44, &x45, x43, (x25 & UINT32_C(0xffffffff)), x19);
+ uint32_t x46;
+ fiat_p384_uint1 x47;
+ fiat_p384_addcarryx_u32(&x46, &x47, x45, (x25 & UINT32_C(0xffffffff)), x21);
+ uint32_t x48;
+ fiat_p384_uint1 x49;
+ fiat_p384_addcarryx_u32(&x48, &x49, x47, (x25 & UINT32_C(0xffffffff)), x23);
+ out1[0] = x26;
+ out1[1] = x28;
+ out1[2] = x30;
+ out1[3] = x32;
+ out1[4] = x34;
+ out1[5] = x36;
+ out1[6] = x38;
+ out1[7] = x40;
+ out1[8] = x42;
+ out1[9] = x44;
+ out1[10] = x46;
+ out1[11] = x48;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p384_from_montgomery(uint32_t out1[12], const uint32_t arg1[12]) {
+ uint32_t x1 = (arg1[0]);
+ uint32_t x2;
+ uint32_t x3;
+ fiat_p384_mulx_u32(&x2, &x3, x1, UINT32_C(0xffffffff));
+ uint32_t x4;
+ uint32_t x5;
+ fiat_p384_mulx_u32(&x4, &x5, x1, UINT32_C(0xffffffff));
+ uint32_t x6;
+ uint32_t x7;
+ fiat_p384_mulx_u32(&x6, &x7, x1, UINT32_C(0xffffffff));
+ uint32_t x8;
+ uint32_t x9;
+ fiat_p384_mulx_u32(&x8, &x9, x1, UINT32_C(0xffffffff));
+ uint32_t x10;
+ uint32_t x11;
+ fiat_p384_mulx_u32(&x10, &x11, x1, UINT32_C(0xffffffff));
+ uint32_t x12;
+ uint32_t x13;
+ fiat_p384_mulx_u32(&x12, &x13, x1, UINT32_C(0xffffffff));
+ uint32_t x14;
+ uint32_t x15;
+ fiat_p384_mulx_u32(&x14, &x15, x1, UINT32_C(0xffffffff));
+ uint32_t x16;
+ uint32_t x17;
+ fiat_p384_mulx_u32(&x16, &x17, x1, UINT32_C(0xfffffffe));
+ uint32_t x18;
+ uint32_t x19;
+ fiat_p384_mulx_u32(&x18, &x19, x1, UINT32_C(0xffffffff));
+ uint32_t x20;
+ uint32_t x21;
+ fiat_p384_mulx_u32(&x20, &x21, x1, UINT32_C(0xffffffff));
+ uint32_t x22;
+ fiat_p384_uint1 x23;
+ fiat_p384_addcarryx_u32(&x22, &x23, 0x0, x16, x19);
+ uint32_t x24;
+ fiat_p384_uint1 x25;
+ fiat_p384_addcarryx_u32(&x24, &x25, x23, x14, x17);
+ uint32_t x26;
+ fiat_p384_uint1 x27;
+ fiat_p384_addcarryx_u32(&x26, &x27, x25, x12, x15);
+ uint32_t x28;
+ fiat_p384_uint1 x29;
+ fiat_p384_addcarryx_u32(&x28, &x29, x27, x10, x13);
+ uint32_t x30;
+ fiat_p384_uint1 x31;
+ fiat_p384_addcarryx_u32(&x30, &x31, x29, x8, x11);
+ uint32_t x32;
+ fiat_p384_uint1 x33;
+ fiat_p384_addcarryx_u32(&x32, &x33, x31, x6, x9);
+ uint32_t x34;
+ fiat_p384_uint1 x35;
+ fiat_p384_addcarryx_u32(&x34, &x35, x33, x4, x7);
+ uint32_t x36;
+ fiat_p384_uint1 x37;
+ fiat_p384_addcarryx_u32(&x36, &x37, x35, x2, x5);
+ uint32_t x38;
+ fiat_p384_uint1 x39;
+ fiat_p384_addcarryx_u32(&x38, &x39, 0x0, x20, x1);
+ uint32_t x40;
+ fiat_p384_uint1 x41;
+ fiat_p384_addcarryx_u32(&x40, &x41, x39, x21, 0x0);
+ uint32_t x42;
+ fiat_p384_uint1 x43;
+ fiat_p384_addcarryx_u32(&x42, &x43, 0x0, (arg1[1]), x40);
+ uint32_t x44;
+ fiat_p384_uint1 x45;
+ fiat_p384_addcarryx_u32(&x44, &x45, x41, 0x0, 0x0);
+ uint32_t x46;
+ fiat_p384_uint1 x47;
+ fiat_p384_addcarryx_u32(&x46, &x47, x43, 0x0, (fiat_p384_uint1)x44);
+ uint32_t x48;
+ fiat_p384_uint1 x49;
+ fiat_p384_addcarryx_u32(&x48, &x49, x47, 0x0, x18);
+ uint32_t x50;
+ fiat_p384_uint1 x51;
+ fiat_p384_addcarryx_u32(&x50, &x51, x49, 0x0, x22);
+ uint32_t x52;
+ fiat_p384_uint1 x53;
+ fiat_p384_addcarryx_u32(&x52, &x53, x51, 0x0, x24);
+ uint32_t x54;
+ fiat_p384_uint1 x55;
+ fiat_p384_addcarryx_u32(&x54, &x55, x53, 0x0, x26);
+ uint32_t x56;
+ fiat_p384_uint1 x57;
+ fiat_p384_addcarryx_u32(&x56, &x57, x55, 0x0, x28);
+ uint32_t x58;
+ fiat_p384_uint1 x59;
+ fiat_p384_addcarryx_u32(&x58, &x59, x57, 0x0, x30);
+ uint32_t x60;
+ fiat_p384_uint1 x61;
+ fiat_p384_addcarryx_u32(&x60, &x61, x59, 0x0, x32);
+ uint32_t x62;
+ fiat_p384_uint1 x63;
+ fiat_p384_addcarryx_u32(&x62, &x63, x61, 0x0, x34);
+ uint32_t x64;
+ fiat_p384_uint1 x65;
+ fiat_p384_addcarryx_u32(&x64, &x65, x63, 0x0, x36);
+ uint32_t x66;
+ fiat_p384_uint1 x67;
+ fiat_p384_addcarryx_u32(&x66, &x67, x37, 0x0, x3);
+ uint32_t x68;
+ fiat_p384_uint1 x69;
+ fiat_p384_addcarryx_u32(&x68, &x69, x65, 0x0, x66);
+ uint32_t x70;
+ uint32_t x71;
+ fiat_p384_mulx_u32(&x70, &x71, x42, UINT32_C(0xffffffff));
+ uint32_t x72;
+ uint32_t x73;
+ fiat_p384_mulx_u32(&x72, &x73, x42, UINT32_C(0xffffffff));
+ uint32_t x74;
+ uint32_t x75;
+ fiat_p384_mulx_u32(&x74, &x75, x42, UINT32_C(0xffffffff));
+ uint32_t x76;
+ uint32_t x77;
+ fiat_p384_mulx_u32(&x76, &x77, x42, UINT32_C(0xffffffff));
+ uint32_t x78;
+ uint32_t x79;
+ fiat_p384_mulx_u32(&x78, &x79, x42, UINT32_C(0xffffffff));
+ uint32_t x80;
+ uint32_t x81;
+ fiat_p384_mulx_u32(&x80, &x81, x42, UINT32_C(0xffffffff));
+ uint32_t x82;
+ uint32_t x83;
+ fiat_p384_mulx_u32(&x82, &x83, x42, UINT32_C(0xffffffff));
+ uint32_t x84;
+ uint32_t x85;
+ fiat_p384_mulx_u32(&x84, &x85, x42, UINT32_C(0xfffffffe));
+ uint32_t x86;
+ uint32_t x87;
+ fiat_p384_mulx_u32(&x86, &x87, x42, UINT32_C(0xffffffff));
+ uint32_t x88;
+ uint32_t x89;
+ fiat_p384_mulx_u32(&x88, &x89, x42, UINT32_C(0xffffffff));
+ uint32_t x90;
+ fiat_p384_uint1 x91;
+ fiat_p384_addcarryx_u32(&x90, &x91, 0x0, x84, x87);
+ uint32_t x92;
+ fiat_p384_uint1 x93;
+ fiat_p384_addcarryx_u32(&x92, &x93, x91, x82, x85);
+ uint32_t x94;
+ fiat_p384_uint1 x95;
+ fiat_p384_addcarryx_u32(&x94, &x95, x93, x80, x83);
+ uint32_t x96;
+ fiat_p384_uint1 x97;
+ fiat_p384_addcarryx_u32(&x96, &x97, x95, x78, x81);
+ uint32_t x98;
+ fiat_p384_uint1 x99;
+ fiat_p384_addcarryx_u32(&x98, &x99, x97, x76, x79);
+ uint32_t x100;
+ fiat_p384_uint1 x101;
+ fiat_p384_addcarryx_u32(&x100, &x101, x99, x74, x77);
+ uint32_t x102;
+ fiat_p384_uint1 x103;
+ fiat_p384_addcarryx_u32(&x102, &x103, x101, x72, x75);
+ uint32_t x104;
+ fiat_p384_uint1 x105;
+ fiat_p384_addcarryx_u32(&x104, &x105, x103, x70, x73);
+ uint32_t x106;
+ fiat_p384_uint1 x107;
+ fiat_p384_addcarryx_u32(&x106, &x107, 0x0, x88, x42);
+ uint32_t x108;
+ fiat_p384_uint1 x109;
+ fiat_p384_addcarryx_u32(&x108, &x109, x107, x89, (fiat_p384_uint1)x46);
+ uint32_t x110;
+ fiat_p384_uint1 x111;
+ fiat_p384_addcarryx_u32(&x110, &x111, x109, 0x0, x48);
+ uint32_t x112;
+ fiat_p384_uint1 x113;
+ fiat_p384_addcarryx_u32(&x112, &x113, x111, x86, x50);
+ uint32_t x114;
+ fiat_p384_uint1 x115;
+ fiat_p384_addcarryx_u32(&x114, &x115, x113, x90, x52);
+ uint32_t x116;
+ fiat_p384_uint1 x117;
+ fiat_p384_addcarryx_u32(&x116, &x117, x115, x92, x54);
+ uint32_t x118;
+ fiat_p384_uint1 x119;
+ fiat_p384_addcarryx_u32(&x118, &x119, x117, x94, x56);
+ uint32_t x120;
+ fiat_p384_uint1 x121;
+ fiat_p384_addcarryx_u32(&x120, &x121, x119, x96, x58);
+ uint32_t x122;
+ fiat_p384_uint1 x123;
+ fiat_p384_addcarryx_u32(&x122, &x123, x121, x98, x60);
+ uint32_t x124;
+ fiat_p384_uint1 x125;
+ fiat_p384_addcarryx_u32(&x124, &x125, x123, x100, x62);
+ uint32_t x126;
+ fiat_p384_uint1 x127;
+ fiat_p384_addcarryx_u32(&x126, &x127, x125, x102, x64);
+ uint32_t x128;
+ fiat_p384_uint1 x129;
+ fiat_p384_addcarryx_u32(&x128, &x129, x127, x104, x68);
+ uint32_t x130;
+ fiat_p384_uint1 x131;
+ fiat_p384_addcarryx_u32(&x130, &x131, x69, 0x0, 0x0);
+ uint32_t x132;
+ fiat_p384_uint1 x133;
+ fiat_p384_addcarryx_u32(&x132, &x133, x105, 0x0, x71);
+ uint32_t x134;
+ fiat_p384_uint1 x135;
+ fiat_p384_addcarryx_u32(&x134, &x135, x129, x132, (fiat_p384_uint1)x130);
+ uint32_t x136;
+ fiat_p384_uint1 x137;
+ fiat_p384_addcarryx_u32(&x136, &x137, 0x0, (arg1[2]), x108);
+ uint32_t x138;
+ fiat_p384_uint1 x139;
+ fiat_p384_addcarryx_u32(&x138, &x139, x137, 0x0, x110);
+ uint32_t x140;
+ fiat_p384_uint1 x141;
+ fiat_p384_addcarryx_u32(&x140, &x141, x139, 0x0, x112);
+ uint32_t x142;
+ fiat_p384_uint1 x143;
+ fiat_p384_addcarryx_u32(&x142, &x143, x141, 0x0, x114);
+ uint32_t x144;
+ fiat_p384_uint1 x145;
+ fiat_p384_addcarryx_u32(&x144, &x145, x143, 0x0, x116);
+ uint32_t x146;
+ fiat_p384_uint1 x147;
+ fiat_p384_addcarryx_u32(&x146, &x147, x145, 0x0, x118);
+ uint32_t x148;
+ fiat_p384_uint1 x149;
+ fiat_p384_addcarryx_u32(&x148, &x149, x147, 0x0, x120);
+ uint32_t x150;
+ fiat_p384_uint1 x151;
+ fiat_p384_addcarryx_u32(&x150, &x151, x149, 0x0, x122);
+ uint32_t x152;
+ fiat_p384_uint1 x153;
+ fiat_p384_addcarryx_u32(&x152, &x153, x151, 0x0, x124);
+ uint32_t x154;
+ fiat_p384_uint1 x155;
+ fiat_p384_addcarryx_u32(&x154, &x155, x153, 0x0, x126);
+ uint32_t x156;
+ fiat_p384_uint1 x157;
+ fiat_p384_addcarryx_u32(&x156, &x157, x155, 0x0, x128);
+ uint32_t x158;
+ fiat_p384_uint1 x159;
+ fiat_p384_addcarryx_u32(&x158, &x159, x157, 0x0, x134);
+ uint32_t x160;
+ fiat_p384_uint1 x161;
+ fiat_p384_addcarryx_u32(&x160, &x161, x135, 0x0, 0x0);
+ uint32_t x162;
+ fiat_p384_uint1 x163;
+ fiat_p384_addcarryx_u32(&x162, &x163, x159, 0x0, (fiat_p384_uint1)x160);
+ uint32_t x164;
+ uint32_t x165;
+ fiat_p384_mulx_u32(&x164, &x165, x136, UINT32_C(0xffffffff));
+ uint32_t x166;
+ uint32_t x167;
+ fiat_p384_mulx_u32(&x166, &x167, x136, UINT32_C(0xffffffff));
+ uint32_t x168;
+ uint32_t x169;
+ fiat_p384_mulx_u32(&x168, &x169, x136, UINT32_C(0xffffffff));
+ uint32_t x170;
+ uint32_t x171;
+ fiat_p384_mulx_u32(&x170, &x171, x136, UINT32_C(0xffffffff));
+ uint32_t x172;
+ uint32_t x173;
+ fiat_p384_mulx_u32(&x172, &x173, x136, UINT32_C(0xffffffff));
+ uint32_t x174;
+ uint32_t x175;
+ fiat_p384_mulx_u32(&x174, &x175, x136, UINT32_C(0xffffffff));
+ uint32_t x176;
+ uint32_t x177;
+ fiat_p384_mulx_u32(&x176, &x177, x136, UINT32_C(0xffffffff));
+ uint32_t x178;
+ uint32_t x179;
+ fiat_p384_mulx_u32(&x178, &x179, x136, UINT32_C(0xfffffffe));
+ uint32_t x180;
+ uint32_t x181;
+ fiat_p384_mulx_u32(&x180, &x181, x136, UINT32_C(0xffffffff));
+ uint32_t x182;
+ uint32_t x183;
+ fiat_p384_mulx_u32(&x182, &x183, x136, UINT32_C(0xffffffff));
+ uint32_t x184;
+ fiat_p384_uint1 x185;
+ fiat_p384_addcarryx_u32(&x184, &x185, 0x0, x178, x181);
+ uint32_t x186;
+ fiat_p384_uint1 x187;
+ fiat_p384_addcarryx_u32(&x186, &x187, x185, x176, x179);
+ uint32_t x188;
+ fiat_p384_uint1 x189;
+ fiat_p384_addcarryx_u32(&x188, &x189, x187, x174, x177);
+ uint32_t x190;
+ fiat_p384_uint1 x191;
+ fiat_p384_addcarryx_u32(&x190, &x191, x189, x172, x175);
+ uint32_t x192;
+ fiat_p384_uint1 x193;
+ fiat_p384_addcarryx_u32(&x192, &x193, x191, x170, x173);
+ uint32_t x194;
+ fiat_p384_uint1 x195;
+ fiat_p384_addcarryx_u32(&x194, &x195, x193, x168, x171);
+ uint32_t x196;
+ fiat_p384_uint1 x197;
+ fiat_p384_addcarryx_u32(&x196, &x197, x195, x166, x169);
+ uint32_t x198;
+ fiat_p384_uint1 x199;
+ fiat_p384_addcarryx_u32(&x198, &x199, x197, x164, x167);
+ uint32_t x200;
+ fiat_p384_uint1 x201;
+ fiat_p384_addcarryx_u32(&x200, &x201, 0x0, x182, x136);
+ uint32_t x202;
+ fiat_p384_uint1 x203;
+ fiat_p384_addcarryx_u32(&x202, &x203, x201, x183, x138);
+ uint32_t x204;
+ fiat_p384_uint1 x205;
+ fiat_p384_addcarryx_u32(&x204, &x205, x203, 0x0, x140);
+ uint32_t x206;
+ fiat_p384_uint1 x207;
+ fiat_p384_addcarryx_u32(&x206, &x207, x205, x180, x142);
+ uint32_t x208;
+ fiat_p384_uint1 x209;
+ fiat_p384_addcarryx_u32(&x208, &x209, x207, x184, x144);
+ uint32_t x210;
+ fiat_p384_uint1 x211;
+ fiat_p384_addcarryx_u32(&x210, &x211, x209, x186, x146);
+ uint32_t x212;
+ fiat_p384_uint1 x213;
+ fiat_p384_addcarryx_u32(&x212, &x213, x211, x188, x148);
+ uint32_t x214;
+ fiat_p384_uint1 x215;
+ fiat_p384_addcarryx_u32(&x214, &x215, x213, x190, x150);
+ uint32_t x216;
+ fiat_p384_uint1 x217;
+ fiat_p384_addcarryx_u32(&x216, &x217, x215, x192, x152);
+ uint32_t x218;
+ fiat_p384_uint1 x219;
+ fiat_p384_addcarryx_u32(&x218, &x219, x217, x194, x154);
+ uint32_t x220;
+ fiat_p384_uint1 x221;
+ fiat_p384_addcarryx_u32(&x220, &x221, x219, x196, x156);
+ uint32_t x222;
+ fiat_p384_uint1 x223;
+ fiat_p384_addcarryx_u32(&x222, &x223, x221, x198, x158);
+ uint32_t x224;
+ fiat_p384_uint1 x225;
+ fiat_p384_addcarryx_u32(&x224, &x225, x199, 0x0, x165);
+ uint32_t x226;
+ fiat_p384_uint1 x227;
+ fiat_p384_addcarryx_u32(&x226, &x227, x223, x224, x162);
+ uint32_t x228;
+ fiat_p384_uint1 x229;
+ fiat_p384_addcarryx_u32(&x228, &x229, 0x0, (arg1[3]), x202);
+ uint32_t x230;
+ fiat_p384_uint1 x231;
+ fiat_p384_addcarryx_u32(&x230, &x231, x229, 0x0, x204);
+ uint32_t x232;
+ fiat_p384_uint1 x233;
+ fiat_p384_addcarryx_u32(&x232, &x233, x231, 0x0, x206);
+ uint32_t x234;
+ fiat_p384_uint1 x235;
+ fiat_p384_addcarryx_u32(&x234, &x235, x233, 0x0, x208);
+ uint32_t x236;
+ fiat_p384_uint1 x237;
+ fiat_p384_addcarryx_u32(&x236, &x237, x235, 0x0, x210);
+ uint32_t x238;
+ fiat_p384_uint1 x239;
+ fiat_p384_addcarryx_u32(&x238, &x239, x237, 0x0, x212);
+ uint32_t x240;
+ fiat_p384_uint1 x241;
+ fiat_p384_addcarryx_u32(&x240, &x241, x239, 0x0, x214);
+ uint32_t x242;
+ fiat_p384_uint1 x243;
+ fiat_p384_addcarryx_u32(&x242, &x243, x241, 0x0, x216);
+ uint32_t x244;
+ fiat_p384_uint1 x245;
+ fiat_p384_addcarryx_u32(&x244, &x245, x243, 0x0, x218);
+ uint32_t x246;
+ fiat_p384_uint1 x247;
+ fiat_p384_addcarryx_u32(&x246, &x247, x245, 0x0, x220);
+ uint32_t x248;
+ fiat_p384_uint1 x249;
+ fiat_p384_addcarryx_u32(&x248, &x249, x247, 0x0, x222);
+ uint32_t x250;
+ fiat_p384_uint1 x251;
+ fiat_p384_addcarryx_u32(&x250, &x251, x249, 0x0, x226);
+ uint32_t x252;
+ fiat_p384_uint1 x253;
+ fiat_p384_addcarryx_u32(&x252, &x253, x227, 0x0, x163);
+ uint32_t x254;
+ fiat_p384_uint1 x255;
+ fiat_p384_addcarryx_u32(&x254, &x255, x251, 0x0, (fiat_p384_uint1)x252);
+ uint32_t x256;
+ uint32_t x257;
+ fiat_p384_mulx_u32(&x256, &x257, x228, UINT32_C(0xffffffff));
+ uint32_t x258;
+ uint32_t x259;
+ fiat_p384_mulx_u32(&x258, &x259, x228, UINT32_C(0xffffffff));
+ uint32_t x260;
+ uint32_t x261;
+ fiat_p384_mulx_u32(&x260, &x261, x228, UINT32_C(0xffffffff));
+ uint32_t x262;
+ uint32_t x263;
+ fiat_p384_mulx_u32(&x262, &x263, x228, UINT32_C(0xffffffff));
+ uint32_t x264;
+ uint32_t x265;
+ fiat_p384_mulx_u32(&x264, &x265, x228, UINT32_C(0xffffffff));
+ uint32_t x266;
+ uint32_t x267;
+ fiat_p384_mulx_u32(&x266, &x267, x228, UINT32_C(0xffffffff));
+ uint32_t x268;
+ uint32_t x269;
+ fiat_p384_mulx_u32(&x268, &x269, x228, UINT32_C(0xffffffff));
+ uint32_t x270;
+ uint32_t x271;
+ fiat_p384_mulx_u32(&x270, &x271, x228, UINT32_C(0xfffffffe));
+ uint32_t x272;
+ uint32_t x273;
+ fiat_p384_mulx_u32(&x272, &x273, x228, UINT32_C(0xffffffff));
+ uint32_t x274;
+ uint32_t x275;
+ fiat_p384_mulx_u32(&x274, &x275, x228, UINT32_C(0xffffffff));
+ uint32_t x276;
+ fiat_p384_uint1 x277;
+ fiat_p384_addcarryx_u32(&x276, &x277, 0x0, x270, x273);
+ uint32_t x278;
+ fiat_p384_uint1 x279;
+ fiat_p384_addcarryx_u32(&x278, &x279, x277, x268, x271);
+ uint32_t x280;
+ fiat_p384_uint1 x281;
+ fiat_p384_addcarryx_u32(&x280, &x281, x279, x266, x269);
+ uint32_t x282;
+ fiat_p384_uint1 x283;
+ fiat_p384_addcarryx_u32(&x282, &x283, x281, x264, x267);
+ uint32_t x284;
+ fiat_p384_uint1 x285;
+ fiat_p384_addcarryx_u32(&x284, &x285, x283, x262, x265);
+ uint32_t x286;
+ fiat_p384_uint1 x287;
+ fiat_p384_addcarryx_u32(&x286, &x287, x285, x260, x263);
+ uint32_t x288;
+ fiat_p384_uint1 x289;
+ fiat_p384_addcarryx_u32(&x288, &x289, x287, x258, x261);
+ uint32_t x290;
+ fiat_p384_uint1 x291;
+ fiat_p384_addcarryx_u32(&x290, &x291, x289, x256, x259);
+ uint32_t x292;
+ fiat_p384_uint1 x293;
+ fiat_p384_addcarryx_u32(&x292, &x293, 0x0, x274, x228);
+ uint32_t x294;
+ fiat_p384_uint1 x295;
+ fiat_p384_addcarryx_u32(&x294, &x295, x293, x275, x230);
+ uint32_t x296;
+ fiat_p384_uint1 x297;
+ fiat_p384_addcarryx_u32(&x296, &x297, x295, 0x0, x232);
+ uint32_t x298;
+ fiat_p384_uint1 x299;
+ fiat_p384_addcarryx_u32(&x298, &x299, x297, x272, x234);
+ uint32_t x300;
+ fiat_p384_uint1 x301;
+ fiat_p384_addcarryx_u32(&x300, &x301, x299, x276, x236);
+ uint32_t x302;
+ fiat_p384_uint1 x303;
+ fiat_p384_addcarryx_u32(&x302, &x303, x301, x278, x238);
+ uint32_t x304;
+ fiat_p384_uint1 x305;
+ fiat_p384_addcarryx_u32(&x304, &x305, x303, x280, x240);
+ uint32_t x306;
+ fiat_p384_uint1 x307;
+ fiat_p384_addcarryx_u32(&x306, &x307, x305, x282, x242);
+ uint32_t x308;
+ fiat_p384_uint1 x309;
+ fiat_p384_addcarryx_u32(&x308, &x309, x307, x284, x244);
+ uint32_t x310;
+ fiat_p384_uint1 x311;
+ fiat_p384_addcarryx_u32(&x310, &x311, x309, x286, x246);
+ uint32_t x312;
+ fiat_p384_uint1 x313;
+ fiat_p384_addcarryx_u32(&x312, &x313, x311, x288, x248);
+ uint32_t x314;
+ fiat_p384_uint1 x315;
+ fiat_p384_addcarryx_u32(&x314, &x315, x313, x290, x250);
+ uint32_t x316;
+ fiat_p384_uint1 x317;
+ fiat_p384_addcarryx_u32(&x316, &x317, x291, 0x0, x257);
+ uint32_t x318;
+ fiat_p384_uint1 x319;
+ fiat_p384_addcarryx_u32(&x318, &x319, x315, x316, x254);
+ uint32_t x320;
+ fiat_p384_uint1 x321;
+ fiat_p384_addcarryx_u32(&x320, &x321, 0x0, (arg1[4]), x294);
+ uint32_t x322;
+ fiat_p384_uint1 x323;
+ fiat_p384_addcarryx_u32(&x322, &x323, x321, 0x0, x296);
+ uint32_t x324;
+ fiat_p384_uint1 x325;
+ fiat_p384_addcarryx_u32(&x324, &x325, x323, 0x0, x298);
+ uint32_t x326;
+ fiat_p384_uint1 x327;
+ fiat_p384_addcarryx_u32(&x326, &x327, x325, 0x0, x300);
+ uint32_t x328;
+ fiat_p384_uint1 x329;
+ fiat_p384_addcarryx_u32(&x328, &x329, x327, 0x0, x302);
+ uint32_t x330;
+ fiat_p384_uint1 x331;
+ fiat_p384_addcarryx_u32(&x330, &x331, x329, 0x0, x304);
+ uint32_t x332;
+ fiat_p384_uint1 x333;
+ fiat_p384_addcarryx_u32(&x332, &x333, x331, 0x0, x306);
+ uint32_t x334;
+ fiat_p384_uint1 x335;
+ fiat_p384_addcarryx_u32(&x334, &x335, x333, 0x0, x308);
+ uint32_t x336;
+ fiat_p384_uint1 x337;
+ fiat_p384_addcarryx_u32(&x336, &x337, x335, 0x0, x310);
+ uint32_t x338;
+ fiat_p384_uint1 x339;
+ fiat_p384_addcarryx_u32(&x338, &x339, x337, 0x0, x312);
+ uint32_t x340;
+ fiat_p384_uint1 x341;
+ fiat_p384_addcarryx_u32(&x340, &x341, x339, 0x0, x314);
+ uint32_t x342;
+ fiat_p384_uint1 x343;
+ fiat_p384_addcarryx_u32(&x342, &x343, x341, 0x0, x318);
+ uint32_t x344;
+ fiat_p384_uint1 x345;
+ fiat_p384_addcarryx_u32(&x344, &x345, x319, 0x0, x255);
+ uint32_t x346;
+ fiat_p384_uint1 x347;
+ fiat_p384_addcarryx_u32(&x346, &x347, x343, 0x0, (fiat_p384_uint1)x344);
+ uint32_t x348;
+ uint32_t x349;
+ fiat_p384_mulx_u32(&x348, &x349, x320, UINT32_C(0xffffffff));
+ uint32_t x350;
+ uint32_t x351;
+ fiat_p384_mulx_u32(&x350, &x351, x320, UINT32_C(0xffffffff));
+ uint32_t x352;
+ uint32_t x353;
+ fiat_p384_mulx_u32(&x352, &x353, x320, UINT32_C(0xffffffff));
+ uint32_t x354;
+ uint32_t x355;
+ fiat_p384_mulx_u32(&x354, &x355, x320, UINT32_C(0xffffffff));
+ uint32_t x356;
+ uint32_t x357;
+ fiat_p384_mulx_u32(&x356, &x357, x320, UINT32_C(0xffffffff));
+ uint32_t x358;
+ uint32_t x359;
+ fiat_p384_mulx_u32(&x358, &x359, x320, UINT32_C(0xffffffff));
+ uint32_t x360;
+ uint32_t x361;
+ fiat_p384_mulx_u32(&x360, &x361, x320, UINT32_C(0xffffffff));
+ uint32_t x362;
+ uint32_t x363;
+ fiat_p384_mulx_u32(&x362, &x363, x320, UINT32_C(0xfffffffe));
+ uint32_t x364;
+ uint32_t x365;
+ fiat_p384_mulx_u32(&x364, &x365, x320, UINT32_C(0xffffffff));
+ uint32_t x366;
+ uint32_t x367;
+ fiat_p384_mulx_u32(&x366, &x367, x320, UINT32_C(0xffffffff));
+ uint32_t x368;
+ fiat_p384_uint1 x369;
+ fiat_p384_addcarryx_u32(&x368, &x369, 0x0, x362, x365);
+ uint32_t x370;
+ fiat_p384_uint1 x371;
+ fiat_p384_addcarryx_u32(&x370, &x371, x369, x360, x363);
+ uint32_t x372;
+ fiat_p384_uint1 x373;
+ fiat_p384_addcarryx_u32(&x372, &x373, x371, x358, x361);
+ uint32_t x374;
+ fiat_p384_uint1 x375;
+ fiat_p384_addcarryx_u32(&x374, &x375, x373, x356, x359);
+ uint32_t x376;
+ fiat_p384_uint1 x377;
+ fiat_p384_addcarryx_u32(&x376, &x377, x375, x354, x357);
+ uint32_t x378;
+ fiat_p384_uint1 x379;
+ fiat_p384_addcarryx_u32(&x378, &x379, x377, x352, x355);
+ uint32_t x380;
+ fiat_p384_uint1 x381;
+ fiat_p384_addcarryx_u32(&x380, &x381, x379, x350, x353);
+ uint32_t x382;
+ fiat_p384_uint1 x383;
+ fiat_p384_addcarryx_u32(&x382, &x383, x381, x348, x351);
+ uint32_t x384;
+ fiat_p384_uint1 x385;
+ fiat_p384_addcarryx_u32(&x384, &x385, 0x0, x366, x320);
+ uint32_t x386;
+ fiat_p384_uint1 x387;
+ fiat_p384_addcarryx_u32(&x386, &x387, x385, x367, x322);
+ uint32_t x388;
+ fiat_p384_uint1 x389;
+ fiat_p384_addcarryx_u32(&x388, &x389, x387, 0x0, x324);
+ uint32_t x390;
+ fiat_p384_uint1 x391;
+ fiat_p384_addcarryx_u32(&x390, &x391, x389, x364, x326);
+ uint32_t x392;
+ fiat_p384_uint1 x393;
+ fiat_p384_addcarryx_u32(&x392, &x393, x391, x368, x328);
+ uint32_t x394;
+ fiat_p384_uint1 x395;
+ fiat_p384_addcarryx_u32(&x394, &x395, x393, x370, x330);
+ uint32_t x396;
+ fiat_p384_uint1 x397;
+ fiat_p384_addcarryx_u32(&x396, &x397, x395, x372, x332);
+ uint32_t x398;
+ fiat_p384_uint1 x399;
+ fiat_p384_addcarryx_u32(&x398, &x399, x397, x374, x334);
+ uint32_t x400;
+ fiat_p384_uint1 x401;
+ fiat_p384_addcarryx_u32(&x400, &x401, x399, x376, x336);
+ uint32_t x402;
+ fiat_p384_uint1 x403;
+ fiat_p384_addcarryx_u32(&x402, &x403, x401, x378, x338);
+ uint32_t x404;
+ fiat_p384_uint1 x405;
+ fiat_p384_addcarryx_u32(&x404, &x405, x403, x380, x340);
+ uint32_t x406;
+ fiat_p384_uint1 x407;
+ fiat_p384_addcarryx_u32(&x406, &x407, x405, x382, x342);
+ uint32_t x408;
+ fiat_p384_uint1 x409;
+ fiat_p384_addcarryx_u32(&x408, &x409, x383, 0x0, x349);
+ uint32_t x410;
+ fiat_p384_uint1 x411;
+ fiat_p384_addcarryx_u32(&x410, &x411, x407, x408, x346);
+ uint32_t x412;
+ fiat_p384_uint1 x413;
+ fiat_p384_addcarryx_u32(&x412, &x413, 0x0, (arg1[5]), x386);
+ uint32_t x414;
+ fiat_p384_uint1 x415;
+ fiat_p384_addcarryx_u32(&x414, &x415, x413, 0x0, x388);
+ uint32_t x416;
+ fiat_p384_uint1 x417;
+ fiat_p384_addcarryx_u32(&x416, &x417, x415, 0x0, x390);
+ uint32_t x418;
+ fiat_p384_uint1 x419;
+ fiat_p384_addcarryx_u32(&x418, &x419, x417, 0x0, x392);
+ uint32_t x420;
+ fiat_p384_uint1 x421;
+ fiat_p384_addcarryx_u32(&x420, &x421, x419, 0x0, x394);
+ uint32_t x422;
+ fiat_p384_uint1 x423;
+ fiat_p384_addcarryx_u32(&x422, &x423, x421, 0x0, x396);
+ uint32_t x424;
+ fiat_p384_uint1 x425;
+ fiat_p384_addcarryx_u32(&x424, &x425, x423, 0x0, x398);
+ uint32_t x426;
+ fiat_p384_uint1 x427;
+ fiat_p384_addcarryx_u32(&x426, &x427, x425, 0x0, x400);
+ uint32_t x428;
+ fiat_p384_uint1 x429;
+ fiat_p384_addcarryx_u32(&x428, &x429, x427, 0x0, x402);
+ uint32_t x430;
+ fiat_p384_uint1 x431;
+ fiat_p384_addcarryx_u32(&x430, &x431, x429, 0x0, x404);
+ uint32_t x432;
+ fiat_p384_uint1 x433;
+ fiat_p384_addcarryx_u32(&x432, &x433, x431, 0x0, x406);
+ uint32_t x434;
+ fiat_p384_uint1 x435;
+ fiat_p384_addcarryx_u32(&x434, &x435, x433, 0x0, x410);
+ uint32_t x436;
+ fiat_p384_uint1 x437;
+ fiat_p384_addcarryx_u32(&x436, &x437, x411, 0x0, x347);
+ uint32_t x438;
+ fiat_p384_uint1 x439;
+ fiat_p384_addcarryx_u32(&x438, &x439, x435, 0x0, (fiat_p384_uint1)x436);
+ uint32_t x440;
+ uint32_t x441;
+ fiat_p384_mulx_u32(&x440, &x441, x412, UINT32_C(0xffffffff));
+ uint32_t x442;
+ uint32_t x443;
+ fiat_p384_mulx_u32(&x442, &x443, x412, UINT32_C(0xffffffff));
+ uint32_t x444;
+ uint32_t x445;
+ fiat_p384_mulx_u32(&x444, &x445, x412, UINT32_C(0xffffffff));
+ uint32_t x446;
+ uint32_t x447;
+ fiat_p384_mulx_u32(&x446, &x447, x412, UINT32_C(0xffffffff));
+ uint32_t x448;
+ uint32_t x449;
+ fiat_p384_mulx_u32(&x448, &x449, x412, UINT32_C(0xffffffff));
+ uint32_t x450;
+ uint32_t x451;
+ fiat_p384_mulx_u32(&x450, &x451, x412, UINT32_C(0xffffffff));
+ uint32_t x452;
+ uint32_t x453;
+ fiat_p384_mulx_u32(&x452, &x453, x412, UINT32_C(0xffffffff));
+ uint32_t x454;
+ uint32_t x455;
+ fiat_p384_mulx_u32(&x454, &x455, x412, UINT32_C(0xfffffffe));
+ uint32_t x456;
+ uint32_t x457;
+ fiat_p384_mulx_u32(&x456, &x457, x412, UINT32_C(0xffffffff));
+ uint32_t x458;
+ uint32_t x459;
+ fiat_p384_mulx_u32(&x458, &x459, x412, UINT32_C(0xffffffff));
+ uint32_t x460;
+ fiat_p384_uint1 x461;
+ fiat_p384_addcarryx_u32(&x460, &x461, 0x0, x454, x457);
+ uint32_t x462;
+ fiat_p384_uint1 x463;
+ fiat_p384_addcarryx_u32(&x462, &x463, x461, x452, x455);
+ uint32_t x464;
+ fiat_p384_uint1 x465;
+ fiat_p384_addcarryx_u32(&x464, &x465, x463, x450, x453);
+ uint32_t x466;
+ fiat_p384_uint1 x467;
+ fiat_p384_addcarryx_u32(&x466, &x467, x465, x448, x451);
+ uint32_t x468;
+ fiat_p384_uint1 x469;
+ fiat_p384_addcarryx_u32(&x468, &x469, x467, x446, x449);
+ uint32_t x470;
+ fiat_p384_uint1 x471;
+ fiat_p384_addcarryx_u32(&x470, &x471, x469, x444, x447);
+ uint32_t x472;
+ fiat_p384_uint1 x473;
+ fiat_p384_addcarryx_u32(&x472, &x473, x471, x442, x445);
+ uint32_t x474;
+ fiat_p384_uint1 x475;
+ fiat_p384_addcarryx_u32(&x474, &x475, x473, x440, x443);
+ uint32_t x476;
+ fiat_p384_uint1 x477;
+ fiat_p384_addcarryx_u32(&x476, &x477, 0x0, x458, x412);
+ uint32_t x478;
+ fiat_p384_uint1 x479;
+ fiat_p384_addcarryx_u32(&x478, &x479, x477, x459, x414);
+ uint32_t x480;
+ fiat_p384_uint1 x481;
+ fiat_p384_addcarryx_u32(&x480, &x481, x479, 0x0, x416);
+ uint32_t x482;
+ fiat_p384_uint1 x483;
+ fiat_p384_addcarryx_u32(&x482, &x483, x481, x456, x418);
+ uint32_t x484;
+ fiat_p384_uint1 x485;
+ fiat_p384_addcarryx_u32(&x484, &x485, x483, x460, x420);
+ uint32_t x486;
+ fiat_p384_uint1 x487;
+ fiat_p384_addcarryx_u32(&x486, &x487, x485, x462, x422);
+ uint32_t x488;
+ fiat_p384_uint1 x489;
+ fiat_p384_addcarryx_u32(&x488, &x489, x487, x464, x424);
+ uint32_t x490;
+ fiat_p384_uint1 x491;
+ fiat_p384_addcarryx_u32(&x490, &x491, x489, x466, x426);
+ uint32_t x492;
+ fiat_p384_uint1 x493;
+ fiat_p384_addcarryx_u32(&x492, &x493, x491, x468, x428);
+ uint32_t x494;
+ fiat_p384_uint1 x495;
+ fiat_p384_addcarryx_u32(&x494, &x495, x493, x470, x430);
+ uint32_t x496;
+ fiat_p384_uint1 x497;
+ fiat_p384_addcarryx_u32(&x496, &x497, x495, x472, x432);
+ uint32_t x498;
+ fiat_p384_uint1 x499;
+ fiat_p384_addcarryx_u32(&x498, &x499, x497, x474, x434);
+ uint32_t x500;
+ fiat_p384_uint1 x501;
+ fiat_p384_addcarryx_u32(&x500, &x501, x475, 0x0, x441);
+ uint32_t x502;
+ fiat_p384_uint1 x503;
+ fiat_p384_addcarryx_u32(&x502, &x503, x499, x500, x438);
+ uint32_t x504;
+ fiat_p384_uint1 x505;
+ fiat_p384_addcarryx_u32(&x504, &x505, 0x0, (arg1[6]), x478);
+ uint32_t x506;
+ fiat_p384_uint1 x507;
+ fiat_p384_addcarryx_u32(&x506, &x507, x505, 0x0, x480);
+ uint32_t x508;
+ fiat_p384_uint1 x509;
+ fiat_p384_addcarryx_u32(&x508, &x509, x507, 0x0, x482);
+ uint32_t x510;
+ fiat_p384_uint1 x511;
+ fiat_p384_addcarryx_u32(&x510, &x511, x509, 0x0, x484);
+ uint32_t x512;
+ fiat_p384_uint1 x513;
+ fiat_p384_addcarryx_u32(&x512, &x513, x511, 0x0, x486);
+ uint32_t x514;
+ fiat_p384_uint1 x515;
+ fiat_p384_addcarryx_u32(&x514, &x515, x513, 0x0, x488);
+ uint32_t x516;
+ fiat_p384_uint1 x517;
+ fiat_p384_addcarryx_u32(&x516, &x517, x515, 0x0, x490);
+ uint32_t x518;
+ fiat_p384_uint1 x519;
+ fiat_p384_addcarryx_u32(&x518, &x519, x517, 0x0, x492);
+ uint32_t x520;
+ fiat_p384_uint1 x521;
+ fiat_p384_addcarryx_u32(&x520, &x521, x519, 0x0, x494);
+ uint32_t x522;
+ fiat_p384_uint1 x523;
+ fiat_p384_addcarryx_u32(&x522, &x523, x521, 0x0, x496);
+ uint32_t x524;
+ fiat_p384_uint1 x525;
+ fiat_p384_addcarryx_u32(&x524, &x525, x523, 0x0, x498);
+ uint32_t x526;
+ fiat_p384_uint1 x527;
+ fiat_p384_addcarryx_u32(&x526, &x527, x525, 0x0, x502);
+ uint32_t x528;
+ fiat_p384_uint1 x529;
+ fiat_p384_addcarryx_u32(&x528, &x529, x503, 0x0, x439);
+ uint32_t x530;
+ fiat_p384_uint1 x531;
+ fiat_p384_addcarryx_u32(&x530, &x531, x527, 0x0, (fiat_p384_uint1)x528);
+ uint32_t x532;
+ uint32_t x533;
+ fiat_p384_mulx_u32(&x532, &x533, x504, UINT32_C(0xffffffff));
+ uint32_t x534;
+ uint32_t x535;
+ fiat_p384_mulx_u32(&x534, &x535, x504, UINT32_C(0xffffffff));
+ uint32_t x536;
+ uint32_t x537;
+ fiat_p384_mulx_u32(&x536, &x537, x504, UINT32_C(0xffffffff));
+ uint32_t x538;
+ uint32_t x539;
+ fiat_p384_mulx_u32(&x538, &x539, x504, UINT32_C(0xffffffff));
+ uint32_t x540;
+ uint32_t x541;
+ fiat_p384_mulx_u32(&x540, &x541, x504, UINT32_C(0xffffffff));
+ uint32_t x542;
+ uint32_t x543;
+ fiat_p384_mulx_u32(&x542, &x543, x504, UINT32_C(0xffffffff));
+ uint32_t x544;
+ uint32_t x545;
+ fiat_p384_mulx_u32(&x544, &x545, x504, UINT32_C(0xffffffff));
+ uint32_t x546;
+ uint32_t x547;
+ fiat_p384_mulx_u32(&x546, &x547, x504, UINT32_C(0xfffffffe));
+ uint32_t x548;
+ uint32_t x549;
+ fiat_p384_mulx_u32(&x548, &x549, x504, UINT32_C(0xffffffff));
+ uint32_t x550;
+ uint32_t x551;
+ fiat_p384_mulx_u32(&x550, &x551, x504, UINT32_C(0xffffffff));
+ uint32_t x552;
+ fiat_p384_uint1 x553;
+ fiat_p384_addcarryx_u32(&x552, &x553, 0x0, x546, x549);
+ uint32_t x554;
+ fiat_p384_uint1 x555;
+ fiat_p384_addcarryx_u32(&x554, &x555, x553, x544, x547);
+ uint32_t x556;
+ fiat_p384_uint1 x557;
+ fiat_p384_addcarryx_u32(&x556, &x557, x555, x542, x545);
+ uint32_t x558;
+ fiat_p384_uint1 x559;
+ fiat_p384_addcarryx_u32(&x558, &x559, x557, x540, x543);
+ uint32_t x560;
+ fiat_p384_uint1 x561;
+ fiat_p384_addcarryx_u32(&x560, &x561, x559, x538, x541);
+ uint32_t x562;
+ fiat_p384_uint1 x563;
+ fiat_p384_addcarryx_u32(&x562, &x563, x561, x536, x539);
+ uint32_t x564;
+ fiat_p384_uint1 x565;
+ fiat_p384_addcarryx_u32(&x564, &x565, x563, x534, x537);
+ uint32_t x566;
+ fiat_p384_uint1 x567;
+ fiat_p384_addcarryx_u32(&x566, &x567, x565, x532, x535);
+ uint32_t x568;
+ fiat_p384_uint1 x569;
+ fiat_p384_addcarryx_u32(&x568, &x569, 0x0, x550, x504);
+ uint32_t x570;
+ fiat_p384_uint1 x571;
+ fiat_p384_addcarryx_u32(&x570, &x571, x569, x551, x506);
+ uint32_t x572;
+ fiat_p384_uint1 x573;
+ fiat_p384_addcarryx_u32(&x572, &x573, x571, 0x0, x508);
+ uint32_t x574;
+ fiat_p384_uint1 x575;
+ fiat_p384_addcarryx_u32(&x574, &x575, x573, x548, x510);
+ uint32_t x576;
+ fiat_p384_uint1 x577;
+ fiat_p384_addcarryx_u32(&x576, &x577, x575, x552, x512);
+ uint32_t x578;
+ fiat_p384_uint1 x579;
+ fiat_p384_addcarryx_u32(&x578, &x579, x577, x554, x514);
+ uint32_t x580;
+ fiat_p384_uint1 x581;
+ fiat_p384_addcarryx_u32(&x580, &x581, x579, x556, x516);
+ uint32_t x582;
+ fiat_p384_uint1 x583;
+ fiat_p384_addcarryx_u32(&x582, &x583, x581, x558, x518);
+ uint32_t x584;
+ fiat_p384_uint1 x585;
+ fiat_p384_addcarryx_u32(&x584, &x585, x583, x560, x520);
+ uint32_t x586;
+ fiat_p384_uint1 x587;
+ fiat_p384_addcarryx_u32(&x586, &x587, x585, x562, x522);
+ uint32_t x588;
+ fiat_p384_uint1 x589;
+ fiat_p384_addcarryx_u32(&x588, &x589, x587, x564, x524);
+ uint32_t x590;
+ fiat_p384_uint1 x591;
+ fiat_p384_addcarryx_u32(&x590, &x591, x589, x566, x526);
+ uint32_t x592;
+ fiat_p384_uint1 x593;
+ fiat_p384_addcarryx_u32(&x592, &x593, x567, 0x0, x533);
+ uint32_t x594;
+ fiat_p384_uint1 x595;
+ fiat_p384_addcarryx_u32(&x594, &x595, x591, x592, x530);
+ uint32_t x596;
+ fiat_p384_uint1 x597;
+ fiat_p384_addcarryx_u32(&x596, &x597, 0x0, (arg1[7]), x570);
+ uint32_t x598;
+ fiat_p384_uint1 x599;
+ fiat_p384_addcarryx_u32(&x598, &x599, x597, 0x0, x572);
+ uint32_t x600;
+ fiat_p384_uint1 x601;
+ fiat_p384_addcarryx_u32(&x600, &x601, x599, 0x0, x574);
+ uint32_t x602;
+ fiat_p384_uint1 x603;
+ fiat_p384_addcarryx_u32(&x602, &x603, x601, 0x0, x576);
+ uint32_t x604;
+ fiat_p384_uint1 x605;
+ fiat_p384_addcarryx_u32(&x604, &x605, x603, 0x0, x578);
+ uint32_t x606;
+ fiat_p384_uint1 x607;
+ fiat_p384_addcarryx_u32(&x606, &x607, x605, 0x0, x580);
+ uint32_t x608;
+ fiat_p384_uint1 x609;
+ fiat_p384_addcarryx_u32(&x608, &x609, x607, 0x0, x582);
+ uint32_t x610;
+ fiat_p384_uint1 x611;
+ fiat_p384_addcarryx_u32(&x610, &x611, x609, 0x0, x584);
+ uint32_t x612;
+ fiat_p384_uint1 x613;
+ fiat_p384_addcarryx_u32(&x612, &x613, x611, 0x0, x586);
+ uint32_t x614;
+ fiat_p384_uint1 x615;
+ fiat_p384_addcarryx_u32(&x614, &x615, x613, 0x0, x588);
+ uint32_t x616;
+ fiat_p384_uint1 x617;
+ fiat_p384_addcarryx_u32(&x616, &x617, x615, 0x0, x590);
+ uint32_t x618;
+ fiat_p384_uint1 x619;
+ fiat_p384_addcarryx_u32(&x618, &x619, x617, 0x0, x594);
+ uint32_t x620;
+ fiat_p384_uint1 x621;
+ fiat_p384_addcarryx_u32(&x620, &x621, x595, 0x0, x531);
+ uint32_t x622;
+ fiat_p384_uint1 x623;
+ fiat_p384_addcarryx_u32(&x622, &x623, x619, 0x0, (fiat_p384_uint1)x620);
+ uint32_t x624;
+ uint32_t x625;
+ fiat_p384_mulx_u32(&x624, &x625, x596, UINT32_C(0xffffffff));
+ uint32_t x626;
+ uint32_t x627;
+ fiat_p384_mulx_u32(&x626, &x627, x596, UINT32_C(0xffffffff));
+ uint32_t x628;
+ uint32_t x629;
+ fiat_p384_mulx_u32(&x628, &x629, x596, UINT32_C(0xffffffff));
+ uint32_t x630;
+ uint32_t x631;
+ fiat_p384_mulx_u32(&x630, &x631, x596, UINT32_C(0xffffffff));
+ uint32_t x632;
+ uint32_t x633;
+ fiat_p384_mulx_u32(&x632, &x633, x596, UINT32_C(0xffffffff));
+ uint32_t x634;
+ uint32_t x635;
+ fiat_p384_mulx_u32(&x634, &x635, x596, UINT32_C(0xffffffff));
+ uint32_t x636;
+ uint32_t x637;
+ fiat_p384_mulx_u32(&x636, &x637, x596, UINT32_C(0xffffffff));
+ uint32_t x638;
+ uint32_t x639;
+ fiat_p384_mulx_u32(&x638, &x639, x596, UINT32_C(0xfffffffe));
+ uint32_t x640;
+ uint32_t x641;
+ fiat_p384_mulx_u32(&x640, &x641, x596, UINT32_C(0xffffffff));
+ uint32_t x642;
+ uint32_t x643;
+ fiat_p384_mulx_u32(&x642, &x643, x596, UINT32_C(0xffffffff));
+ uint32_t x644;
+ fiat_p384_uint1 x645;
+ fiat_p384_addcarryx_u32(&x644, &x645, 0x0, x638, x641);
+ uint32_t x646;
+ fiat_p384_uint1 x647;
+ fiat_p384_addcarryx_u32(&x646, &x647, x645, x636, x639);
+ uint32_t x648;
+ fiat_p384_uint1 x649;
+ fiat_p384_addcarryx_u32(&x648, &x649, x647, x634, x637);
+ uint32_t x650;
+ fiat_p384_uint1 x651;
+ fiat_p384_addcarryx_u32(&x650, &x651, x649, x632, x635);
+ uint32_t x652;
+ fiat_p384_uint1 x653;
+ fiat_p384_addcarryx_u32(&x652, &x653, x651, x630, x633);
+ uint32_t x654;
+ fiat_p384_uint1 x655;
+ fiat_p384_addcarryx_u32(&x654, &x655, x653, x628, x631);
+ uint32_t x656;
+ fiat_p384_uint1 x657;
+ fiat_p384_addcarryx_u32(&x656, &x657, x655, x626, x629);
+ uint32_t x658;
+ fiat_p384_uint1 x659;
+ fiat_p384_addcarryx_u32(&x658, &x659, x657, x624, x627);
+ uint32_t x660;
+ fiat_p384_uint1 x661;
+ fiat_p384_addcarryx_u32(&x660, &x661, 0x0, x642, x596);
+ uint32_t x662;
+ fiat_p384_uint1 x663;
+ fiat_p384_addcarryx_u32(&x662, &x663, x661, x643, x598);
+ uint32_t x664;
+ fiat_p384_uint1 x665;
+ fiat_p384_addcarryx_u32(&x664, &x665, x663, 0x0, x600);
+ uint32_t x666;
+ fiat_p384_uint1 x667;
+ fiat_p384_addcarryx_u32(&x666, &x667, x665, x640, x602);
+ uint32_t x668;
+ fiat_p384_uint1 x669;
+ fiat_p384_addcarryx_u32(&x668, &x669, x667, x644, x604);
+ uint32_t x670;
+ fiat_p384_uint1 x671;
+ fiat_p384_addcarryx_u32(&x670, &x671, x669, x646, x606);
+ uint32_t x672;
+ fiat_p384_uint1 x673;
+ fiat_p384_addcarryx_u32(&x672, &x673, x671, x648, x608);
+ uint32_t x674;
+ fiat_p384_uint1 x675;
+ fiat_p384_addcarryx_u32(&x674, &x675, x673, x650, x610);
+ uint32_t x676;
+ fiat_p384_uint1 x677;
+ fiat_p384_addcarryx_u32(&x676, &x677, x675, x652, x612);
+ uint32_t x678;
+ fiat_p384_uint1 x679;
+ fiat_p384_addcarryx_u32(&x678, &x679, x677, x654, x614);
+ uint32_t x680;
+ fiat_p384_uint1 x681;
+ fiat_p384_addcarryx_u32(&x680, &x681, x679, x656, x616);
+ uint32_t x682;
+ fiat_p384_uint1 x683;
+ fiat_p384_addcarryx_u32(&x682, &x683, x681, x658, x618);
+ uint32_t x684;
+ fiat_p384_uint1 x685;
+ fiat_p384_addcarryx_u32(&x684, &x685, x659, 0x0, x625);
+ uint32_t x686;
+ fiat_p384_uint1 x687;
+ fiat_p384_addcarryx_u32(&x686, &x687, x683, x684, x622);
+ uint32_t x688;
+ fiat_p384_uint1 x689;
+ fiat_p384_addcarryx_u32(&x688, &x689, 0x0, (arg1[8]), x662);
+ uint32_t x690;
+ fiat_p384_uint1 x691;
+ fiat_p384_addcarryx_u32(&x690, &x691, x689, 0x0, x664);
+ uint32_t x692;
+ fiat_p384_uint1 x693;
+ fiat_p384_addcarryx_u32(&x692, &x693, x691, 0x0, x666);
+ uint32_t x694;
+ fiat_p384_uint1 x695;
+ fiat_p384_addcarryx_u32(&x694, &x695, x693, 0x0, x668);
+ uint32_t x696;
+ fiat_p384_uint1 x697;
+ fiat_p384_addcarryx_u32(&x696, &x697, x695, 0x0, x670);
+ uint32_t x698;
+ fiat_p384_uint1 x699;
+ fiat_p384_addcarryx_u32(&x698, &x699, x697, 0x0, x672);
+ uint32_t x700;
+ fiat_p384_uint1 x701;
+ fiat_p384_addcarryx_u32(&x700, &x701, x699, 0x0, x674);
+ uint32_t x702;
+ fiat_p384_uint1 x703;
+ fiat_p384_addcarryx_u32(&x702, &x703, x701, 0x0, x676);
+ uint32_t x704;
+ fiat_p384_uint1 x705;
+ fiat_p384_addcarryx_u32(&x704, &x705, x703, 0x0, x678);
+ uint32_t x706;
+ fiat_p384_uint1 x707;
+ fiat_p384_addcarryx_u32(&x706, &x707, x705, 0x0, x680);
+ uint32_t x708;
+ fiat_p384_uint1 x709;
+ fiat_p384_addcarryx_u32(&x708, &x709, x707, 0x0, x682);
+ uint32_t x710;
+ fiat_p384_uint1 x711;
+ fiat_p384_addcarryx_u32(&x710, &x711, x709, 0x0, x686);
+ uint32_t x712;
+ fiat_p384_uint1 x713;
+ fiat_p384_addcarryx_u32(&x712, &x713, x687, 0x0, x623);
+ uint32_t x714;
+ fiat_p384_uint1 x715;
+ fiat_p384_addcarryx_u32(&x714, &x715, x711, 0x0, (fiat_p384_uint1)x712);
+ uint32_t x716;
+ uint32_t x717;
+ fiat_p384_mulx_u32(&x716, &x717, x688, UINT32_C(0xffffffff));
+ uint32_t x718;
+ uint32_t x719;
+ fiat_p384_mulx_u32(&x718, &x719, x688, UINT32_C(0xffffffff));
+ uint32_t x720;
+ uint32_t x721;
+ fiat_p384_mulx_u32(&x720, &x721, x688, UINT32_C(0xffffffff));
+ uint32_t x722;
+ uint32_t x723;
+ fiat_p384_mulx_u32(&x722, &x723, x688, UINT32_C(0xffffffff));
+ uint32_t x724;
+ uint32_t x725;
+ fiat_p384_mulx_u32(&x724, &x725, x688, UINT32_C(0xffffffff));
+ uint32_t x726;
+ uint32_t x727;
+ fiat_p384_mulx_u32(&x726, &x727, x688, UINT32_C(0xffffffff));
+ uint32_t x728;
+ uint32_t x729;
+ fiat_p384_mulx_u32(&x728, &x729, x688, UINT32_C(0xffffffff));
+ uint32_t x730;
+ uint32_t x731;
+ fiat_p384_mulx_u32(&x730, &x731, x688, UINT32_C(0xfffffffe));
+ uint32_t x732;
+ uint32_t x733;
+ fiat_p384_mulx_u32(&x732, &x733, x688, UINT32_C(0xffffffff));
+ uint32_t x734;
+ uint32_t x735;
+ fiat_p384_mulx_u32(&x734, &x735, x688, UINT32_C(0xffffffff));
+ uint32_t x736;
+ fiat_p384_uint1 x737;
+ fiat_p384_addcarryx_u32(&x736, &x737, 0x0, x730, x733);
+ uint32_t x738;
+ fiat_p384_uint1 x739;
+ fiat_p384_addcarryx_u32(&x738, &x739, x737, x728, x731);
+ uint32_t x740;
+ fiat_p384_uint1 x741;
+ fiat_p384_addcarryx_u32(&x740, &x741, x739, x726, x729);
+ uint32_t x742;
+ fiat_p384_uint1 x743;
+ fiat_p384_addcarryx_u32(&x742, &x743, x741, x724, x727);
+ uint32_t x744;
+ fiat_p384_uint1 x745;
+ fiat_p384_addcarryx_u32(&x744, &x745, x743, x722, x725);
+ uint32_t x746;
+ fiat_p384_uint1 x747;
+ fiat_p384_addcarryx_u32(&x746, &x747, x745, x720, x723);
+ uint32_t x748;
+ fiat_p384_uint1 x749;
+ fiat_p384_addcarryx_u32(&x748, &x749, x747, x718, x721);
+ uint32_t x750;
+ fiat_p384_uint1 x751;
+ fiat_p384_addcarryx_u32(&x750, &x751, x749, x716, x719);
+ uint32_t x752;
+ fiat_p384_uint1 x753;
+ fiat_p384_addcarryx_u32(&x752, &x753, 0x0, x734, x688);
+ uint32_t x754;
+ fiat_p384_uint1 x755;
+ fiat_p384_addcarryx_u32(&x754, &x755, x753, x735, x690);
+ uint32_t x756;
+ fiat_p384_uint1 x757;
+ fiat_p384_addcarryx_u32(&x756, &x757, x755, 0x0, x692);
+ uint32_t x758;
+ fiat_p384_uint1 x759;
+ fiat_p384_addcarryx_u32(&x758, &x759, x757, x732, x694);
+ uint32_t x760;
+ fiat_p384_uint1 x761;
+ fiat_p384_addcarryx_u32(&x760, &x761, x759, x736, x696);
+ uint32_t x762;
+ fiat_p384_uint1 x763;
+ fiat_p384_addcarryx_u32(&x762, &x763, x761, x738, x698);
+ uint32_t x764;
+ fiat_p384_uint1 x765;
+ fiat_p384_addcarryx_u32(&x764, &x765, x763, x740, x700);
+ uint32_t x766;
+ fiat_p384_uint1 x767;
+ fiat_p384_addcarryx_u32(&x766, &x767, x765, x742, x702);
+ uint32_t x768;
+ fiat_p384_uint1 x769;
+ fiat_p384_addcarryx_u32(&x768, &x769, x767, x744, x704);
+ uint32_t x770;
+ fiat_p384_uint1 x771;
+ fiat_p384_addcarryx_u32(&x770, &x771, x769, x746, x706);
+ uint32_t x772;
+ fiat_p384_uint1 x773;
+ fiat_p384_addcarryx_u32(&x772, &x773, x771, x748, x708);
+ uint32_t x774;
+ fiat_p384_uint1 x775;
+ fiat_p384_addcarryx_u32(&x774, &x775, x773, x750, x710);
+ uint32_t x776;
+ fiat_p384_uint1 x777;
+ fiat_p384_addcarryx_u32(&x776, &x777, x751, 0x0, x717);
+ uint32_t x778;
+ fiat_p384_uint1 x779;
+ fiat_p384_addcarryx_u32(&x778, &x779, x775, x776, x714);
+ uint32_t x780;
+ fiat_p384_uint1 x781;
+ fiat_p384_addcarryx_u32(&x780, &x781, 0x0, (arg1[9]), x754);
+ uint32_t x782;
+ fiat_p384_uint1 x783;
+ fiat_p384_addcarryx_u32(&x782, &x783, x781, 0x0, x756);
+ uint32_t x784;
+ fiat_p384_uint1 x785;
+ fiat_p384_addcarryx_u32(&x784, &x785, x783, 0x0, x758);
+ uint32_t x786;
+ fiat_p384_uint1 x787;
+ fiat_p384_addcarryx_u32(&x786, &x787, x785, 0x0, x760);
+ uint32_t x788;
+ fiat_p384_uint1 x789;
+ fiat_p384_addcarryx_u32(&x788, &x789, x787, 0x0, x762);
+ uint32_t x790;
+ fiat_p384_uint1 x791;
+ fiat_p384_addcarryx_u32(&x790, &x791, x789, 0x0, x764);
+ uint32_t x792;
+ fiat_p384_uint1 x793;
+ fiat_p384_addcarryx_u32(&x792, &x793, x791, 0x0, x766);
+ uint32_t x794;
+ fiat_p384_uint1 x795;
+ fiat_p384_addcarryx_u32(&x794, &x795, x793, 0x0, x768);
+ uint32_t x796;
+ fiat_p384_uint1 x797;
+ fiat_p384_addcarryx_u32(&x796, &x797, x795, 0x0, x770);
+ uint32_t x798;
+ fiat_p384_uint1 x799;
+ fiat_p384_addcarryx_u32(&x798, &x799, x797, 0x0, x772);
+ uint32_t x800;
+ fiat_p384_uint1 x801;
+ fiat_p384_addcarryx_u32(&x800, &x801, x799, 0x0, x774);
+ uint32_t x802;
+ fiat_p384_uint1 x803;
+ fiat_p384_addcarryx_u32(&x802, &x803, x801, 0x0, x778);
+ uint32_t x804;
+ fiat_p384_uint1 x805;
+ fiat_p384_addcarryx_u32(&x804, &x805, x779, 0x0, x715);
+ uint32_t x806;
+ fiat_p384_uint1 x807;
+ fiat_p384_addcarryx_u32(&x806, &x807, x803, 0x0, (fiat_p384_uint1)x804);
+ uint32_t x808;
+ uint32_t x809;
+ fiat_p384_mulx_u32(&x808, &x809, x780, UINT32_C(0xffffffff));
+ uint32_t x810;
+ uint32_t x811;
+ fiat_p384_mulx_u32(&x810, &x811, x780, UINT32_C(0xffffffff));
+ uint32_t x812;
+ uint32_t x813;
+ fiat_p384_mulx_u32(&x812, &x813, x780, UINT32_C(0xffffffff));
+ uint32_t x814;
+ uint32_t x815;
+ fiat_p384_mulx_u32(&x814, &x815, x780, UINT32_C(0xffffffff));
+ uint32_t x816;
+ uint32_t x817;
+ fiat_p384_mulx_u32(&x816, &x817, x780, UINT32_C(0xffffffff));
+ uint32_t x818;
+ uint32_t x819;
+ fiat_p384_mulx_u32(&x818, &x819, x780, UINT32_C(0xffffffff));
+ uint32_t x820;
+ uint32_t x821;
+ fiat_p384_mulx_u32(&x820, &x821, x780, UINT32_C(0xffffffff));
+ uint32_t x822;
+ uint32_t x823;
+ fiat_p384_mulx_u32(&x822, &x823, x780, UINT32_C(0xfffffffe));
+ uint32_t x824;
+ uint32_t x825;
+ fiat_p384_mulx_u32(&x824, &x825, x780, UINT32_C(0xffffffff));
+ uint32_t x826;
+ uint32_t x827;
+ fiat_p384_mulx_u32(&x826, &x827, x780, UINT32_C(0xffffffff));
+ uint32_t x828;
+ fiat_p384_uint1 x829;
+ fiat_p384_addcarryx_u32(&x828, &x829, 0x0, x822, x825);
+ uint32_t x830;
+ fiat_p384_uint1 x831;
+ fiat_p384_addcarryx_u32(&x830, &x831, x829, x820, x823);
+ uint32_t x832;
+ fiat_p384_uint1 x833;
+ fiat_p384_addcarryx_u32(&x832, &x833, x831, x818, x821);
+ uint32_t x834;
+ fiat_p384_uint1 x835;
+ fiat_p384_addcarryx_u32(&x834, &x835, x833, x816, x819);
+ uint32_t x836;
+ fiat_p384_uint1 x837;
+ fiat_p384_addcarryx_u32(&x836, &x837, x835, x814, x817);
+ uint32_t x838;
+ fiat_p384_uint1 x839;
+ fiat_p384_addcarryx_u32(&x838, &x839, x837, x812, x815);
+ uint32_t x840;
+ fiat_p384_uint1 x841;
+ fiat_p384_addcarryx_u32(&x840, &x841, x839, x810, x813);
+ uint32_t x842;
+ fiat_p384_uint1 x843;
+ fiat_p384_addcarryx_u32(&x842, &x843, x841, x808, x811);
+ uint32_t x844;
+ fiat_p384_uint1 x845;
+ fiat_p384_addcarryx_u32(&x844, &x845, 0x0, x826, x780);
+ uint32_t x846;
+ fiat_p384_uint1 x847;
+ fiat_p384_addcarryx_u32(&x846, &x847, x845, x827, x782);
+ uint32_t x848;
+ fiat_p384_uint1 x849;
+ fiat_p384_addcarryx_u32(&x848, &x849, x847, 0x0, x784);
+ uint32_t x850;
+ fiat_p384_uint1 x851;
+ fiat_p384_addcarryx_u32(&x850, &x851, x849, x824, x786);
+ uint32_t x852;
+ fiat_p384_uint1 x853;
+ fiat_p384_addcarryx_u32(&x852, &x853, x851, x828, x788);
+ uint32_t x854;
+ fiat_p384_uint1 x855;
+ fiat_p384_addcarryx_u32(&x854, &x855, x853, x830, x790);
+ uint32_t x856;
+ fiat_p384_uint1 x857;
+ fiat_p384_addcarryx_u32(&x856, &x857, x855, x832, x792);
+ uint32_t x858;
+ fiat_p384_uint1 x859;
+ fiat_p384_addcarryx_u32(&x858, &x859, x857, x834, x794);
+ uint32_t x860;
+ fiat_p384_uint1 x861;
+ fiat_p384_addcarryx_u32(&x860, &x861, x859, x836, x796);
+ uint32_t x862;
+ fiat_p384_uint1 x863;
+ fiat_p384_addcarryx_u32(&x862, &x863, x861, x838, x798);
+ uint32_t x864;
+ fiat_p384_uint1 x865;
+ fiat_p384_addcarryx_u32(&x864, &x865, x863, x840, x800);
+ uint32_t x866;
+ fiat_p384_uint1 x867;
+ fiat_p384_addcarryx_u32(&x866, &x867, x865, x842, x802);
+ uint32_t x868;
+ fiat_p384_uint1 x869;
+ fiat_p384_addcarryx_u32(&x868, &x869, x843, 0x0, x809);
+ uint32_t x870;
+ fiat_p384_uint1 x871;
+ fiat_p384_addcarryx_u32(&x870, &x871, x867, x868, x806);
+ uint32_t x872;
+ fiat_p384_uint1 x873;
+ fiat_p384_addcarryx_u32(&x872, &x873, 0x0, (arg1[10]), x846);
+ uint32_t x874;
+ fiat_p384_uint1 x875;
+ fiat_p384_addcarryx_u32(&x874, &x875, x873, 0x0, x848);
+ uint32_t x876;
+ fiat_p384_uint1 x877;
+ fiat_p384_addcarryx_u32(&x876, &x877, x875, 0x0, x850);
+ uint32_t x878;
+ fiat_p384_uint1 x879;
+ fiat_p384_addcarryx_u32(&x878, &x879, x877, 0x0, x852);
+ uint32_t x880;
+ fiat_p384_uint1 x881;
+ fiat_p384_addcarryx_u32(&x880, &x881, x879, 0x0, x854);
+ uint32_t x882;
+ fiat_p384_uint1 x883;
+ fiat_p384_addcarryx_u32(&x882, &x883, x881, 0x0, x856);
+ uint32_t x884;
+ fiat_p384_uint1 x885;
+ fiat_p384_addcarryx_u32(&x884, &x885, x883, 0x0, x858);
+ uint32_t x886;
+ fiat_p384_uint1 x887;
+ fiat_p384_addcarryx_u32(&x886, &x887, x885, 0x0, x860);
+ uint32_t x888;
+ fiat_p384_uint1 x889;
+ fiat_p384_addcarryx_u32(&x888, &x889, x887, 0x0, x862);
+ uint32_t x890;
+ fiat_p384_uint1 x891;
+ fiat_p384_addcarryx_u32(&x890, &x891, x889, 0x0, x864);
+ uint32_t x892;
+ fiat_p384_uint1 x893;
+ fiat_p384_addcarryx_u32(&x892, &x893, x891, 0x0, x866);
+ uint32_t x894;
+ fiat_p384_uint1 x895;
+ fiat_p384_addcarryx_u32(&x894, &x895, x893, 0x0, x870);
+ uint32_t x896;
+ fiat_p384_uint1 x897;
+ fiat_p384_addcarryx_u32(&x896, &x897, x871, 0x0, x807);
+ uint32_t x898;
+ fiat_p384_uint1 x899;
+ fiat_p384_addcarryx_u32(&x898, &x899, x895, 0x0, (fiat_p384_uint1)x896);
+ uint32_t x900;
+ uint32_t x901;
+ fiat_p384_mulx_u32(&x900, &x901, x872, UINT32_C(0xffffffff));
+ uint32_t x902;
+ uint32_t x903;
+ fiat_p384_mulx_u32(&x902, &x903, x872, UINT32_C(0xffffffff));
+ uint32_t x904;
+ uint32_t x905;
+ fiat_p384_mulx_u32(&x904, &x905, x872, UINT32_C(0xffffffff));
+ uint32_t x906;
+ uint32_t x907;
+ fiat_p384_mulx_u32(&x906, &x907, x872, UINT32_C(0xffffffff));
+ uint32_t x908;
+ uint32_t x909;
+ fiat_p384_mulx_u32(&x908, &x909, x872, UINT32_C(0xffffffff));
+ uint32_t x910;
+ uint32_t x911;
+ fiat_p384_mulx_u32(&x910, &x911, x872, UINT32_C(0xffffffff));
+ uint32_t x912;
+ uint32_t x913;
+ fiat_p384_mulx_u32(&x912, &x913, x872, UINT32_C(0xffffffff));
+ uint32_t x914;
+ uint32_t x915;
+ fiat_p384_mulx_u32(&x914, &x915, x872, UINT32_C(0xfffffffe));
+ uint32_t x916;
+ uint32_t x917;
+ fiat_p384_mulx_u32(&x916, &x917, x872, UINT32_C(0xffffffff));
+ uint32_t x918;
+ uint32_t x919;
+ fiat_p384_mulx_u32(&x918, &x919, x872, UINT32_C(0xffffffff));
+ uint32_t x920;
+ fiat_p384_uint1 x921;
+ fiat_p384_addcarryx_u32(&x920, &x921, 0x0, x914, x917);
+ uint32_t x922;
+ fiat_p384_uint1 x923;
+ fiat_p384_addcarryx_u32(&x922, &x923, x921, x912, x915);
+ uint32_t x924;
+ fiat_p384_uint1 x925;
+ fiat_p384_addcarryx_u32(&x924, &x925, x923, x910, x913);
+ uint32_t x926;
+ fiat_p384_uint1 x927;
+ fiat_p384_addcarryx_u32(&x926, &x927, x925, x908, x911);
+ uint32_t x928;
+ fiat_p384_uint1 x929;
+ fiat_p384_addcarryx_u32(&x928, &x929, x927, x906, x909);
+ uint32_t x930;
+ fiat_p384_uint1 x931;
+ fiat_p384_addcarryx_u32(&x930, &x931, x929, x904, x907);
+ uint32_t x932;
+ fiat_p384_uint1 x933;
+ fiat_p384_addcarryx_u32(&x932, &x933, x931, x902, x905);
+ uint32_t x934;
+ fiat_p384_uint1 x935;
+ fiat_p384_addcarryx_u32(&x934, &x935, x933, x900, x903);
+ uint32_t x936;
+ fiat_p384_uint1 x937;
+ fiat_p384_addcarryx_u32(&x936, &x937, 0x0, x918, x872);
+ uint32_t x938;
+ fiat_p384_uint1 x939;
+ fiat_p384_addcarryx_u32(&x938, &x939, x937, x919, x874);
+ uint32_t x940;
+ fiat_p384_uint1 x941;
+ fiat_p384_addcarryx_u32(&x940, &x941, x939, 0x0, x876);
+ uint32_t x942;
+ fiat_p384_uint1 x943;
+ fiat_p384_addcarryx_u32(&x942, &x943, x941, x916, x878);
+ uint32_t x944;
+ fiat_p384_uint1 x945;
+ fiat_p384_addcarryx_u32(&x944, &x945, x943, x920, x880);
+ uint32_t x946;
+ fiat_p384_uint1 x947;
+ fiat_p384_addcarryx_u32(&x946, &x947, x945, x922, x882);
+ uint32_t x948;
+ fiat_p384_uint1 x949;
+ fiat_p384_addcarryx_u32(&x948, &x949, x947, x924, x884);
+ uint32_t x950;
+ fiat_p384_uint1 x951;
+ fiat_p384_addcarryx_u32(&x950, &x951, x949, x926, x886);
+ uint32_t x952;
+ fiat_p384_uint1 x953;
+ fiat_p384_addcarryx_u32(&x952, &x953, x951, x928, x888);
+ uint32_t x954;
+ fiat_p384_uint1 x955;
+ fiat_p384_addcarryx_u32(&x954, &x955, x953, x930, x890);
+ uint32_t x956;
+ fiat_p384_uint1 x957;
+ fiat_p384_addcarryx_u32(&x956, &x957, x955, x932, x892);
+ uint32_t x958;
+ fiat_p384_uint1 x959;
+ fiat_p384_addcarryx_u32(&x958, &x959, x957, x934, x894);
+ uint32_t x960;
+ fiat_p384_uint1 x961;
+ fiat_p384_addcarryx_u32(&x960, &x961, x935, 0x0, x901);
+ uint32_t x962;
+ fiat_p384_uint1 x963;
+ fiat_p384_addcarryx_u32(&x962, &x963, x959, x960, x898);
+ uint32_t x964;
+ fiat_p384_uint1 x965;
+ fiat_p384_addcarryx_u32(&x964, &x965, 0x0, (arg1[11]), x938);
+ uint32_t x966;
+ fiat_p384_uint1 x967;
+ fiat_p384_addcarryx_u32(&x966, &x967, x965, 0x0, x940);
+ uint32_t x968;
+ fiat_p384_uint1 x969;
+ fiat_p384_addcarryx_u32(&x968, &x969, x967, 0x0, x942);
+ uint32_t x970;
+ fiat_p384_uint1 x971;
+ fiat_p384_addcarryx_u32(&x970, &x971, x969, 0x0, x944);
+ uint32_t x972;
+ fiat_p384_uint1 x973;
+ fiat_p384_addcarryx_u32(&x972, &x973, x971, 0x0, x946);
+ uint32_t x974;
+ fiat_p384_uint1 x975;
+ fiat_p384_addcarryx_u32(&x974, &x975, x973, 0x0, x948);
+ uint32_t x976;
+ fiat_p384_uint1 x977;
+ fiat_p384_addcarryx_u32(&x976, &x977, x975, 0x0, x950);
+ uint32_t x978;
+ fiat_p384_uint1 x979;
+ fiat_p384_addcarryx_u32(&x978, &x979, x977, 0x0, x952);
+ uint32_t x980;
+ fiat_p384_uint1 x981;
+ fiat_p384_addcarryx_u32(&x980, &x981, x979, 0x0, x954);
+ uint32_t x982;
+ fiat_p384_uint1 x983;
+ fiat_p384_addcarryx_u32(&x982, &x983, x981, 0x0, x956);
+ uint32_t x984;
+ fiat_p384_uint1 x985;
+ fiat_p384_addcarryx_u32(&x984, &x985, x983, 0x0, x958);
+ uint32_t x986;
+ fiat_p384_uint1 x987;
+ fiat_p384_addcarryx_u32(&x986, &x987, x985, 0x0, x962);
+ uint32_t x988;
+ fiat_p384_uint1 x989;
+ fiat_p384_addcarryx_u32(&x988, &x989, x963, 0x0, x899);
+ uint32_t x990;
+ fiat_p384_uint1 x991;
+ fiat_p384_addcarryx_u32(&x990, &x991, x987, 0x0, (fiat_p384_uint1)x988);
+ uint32_t x992;
+ uint32_t x993;
+ fiat_p384_mulx_u32(&x992, &x993, x964, UINT32_C(0xffffffff));
+ uint32_t x994;
+ uint32_t x995;
+ fiat_p384_mulx_u32(&x994, &x995, x964, UINT32_C(0xffffffff));
+ uint32_t x996;
+ uint32_t x997;
+ fiat_p384_mulx_u32(&x996, &x997, x964, UINT32_C(0xffffffff));
+ uint32_t x998;
+ uint32_t x999;
+ fiat_p384_mulx_u32(&x998, &x999, x964, UINT32_C(0xffffffff));
+ uint32_t x1000;
+ uint32_t x1001;
+ fiat_p384_mulx_u32(&x1000, &x1001, x964, UINT32_C(0xffffffff));
+ uint32_t x1002;
+ uint32_t x1003;
+ fiat_p384_mulx_u32(&x1002, &x1003, x964, UINT32_C(0xffffffff));
+ uint32_t x1004;
+ uint32_t x1005;
+ fiat_p384_mulx_u32(&x1004, &x1005, x964, UINT32_C(0xffffffff));
+ uint32_t x1006;
+ uint32_t x1007;
+ fiat_p384_mulx_u32(&x1006, &x1007, x964, UINT32_C(0xfffffffe));
+ uint32_t x1008;
+ uint32_t x1009;
+ fiat_p384_mulx_u32(&x1008, &x1009, x964, UINT32_C(0xffffffff));
+ uint32_t x1010;
+ uint32_t x1011;
+ fiat_p384_mulx_u32(&x1010, &x1011, x964, UINT32_C(0xffffffff));
+ uint32_t x1012;
+ fiat_p384_uint1 x1013;
+ fiat_p384_addcarryx_u32(&x1012, &x1013, 0x0, x1006, x1009);
+ uint32_t x1014;
+ fiat_p384_uint1 x1015;
+ fiat_p384_addcarryx_u32(&x1014, &x1015, x1013, x1004, x1007);
+ uint32_t x1016;
+ fiat_p384_uint1 x1017;
+ fiat_p384_addcarryx_u32(&x1016, &x1017, x1015, x1002, x1005);
+ uint32_t x1018;
+ fiat_p384_uint1 x1019;
+ fiat_p384_addcarryx_u32(&x1018, &x1019, x1017, x1000, x1003);
+ uint32_t x1020;
+ fiat_p384_uint1 x1021;
+ fiat_p384_addcarryx_u32(&x1020, &x1021, x1019, x998, x1001);
+ uint32_t x1022;
+ fiat_p384_uint1 x1023;
+ fiat_p384_addcarryx_u32(&x1022, &x1023, x1021, x996, x999);
+ uint32_t x1024;
+ fiat_p384_uint1 x1025;
+ fiat_p384_addcarryx_u32(&x1024, &x1025, x1023, x994, x997);
+ uint32_t x1026;
+ fiat_p384_uint1 x1027;
+ fiat_p384_addcarryx_u32(&x1026, &x1027, x1025, x992, x995);
+ uint32_t x1028;
+ fiat_p384_uint1 x1029;
+ fiat_p384_addcarryx_u32(&x1028, &x1029, 0x0, x1010, x964);
+ uint32_t x1030;
+ fiat_p384_uint1 x1031;
+ fiat_p384_addcarryx_u32(&x1030, &x1031, x1029, x1011, x966);
+ uint32_t x1032;
+ fiat_p384_uint1 x1033;
+ fiat_p384_addcarryx_u32(&x1032, &x1033, x1031, 0x0, x968);
+ uint32_t x1034;
+ fiat_p384_uint1 x1035;
+ fiat_p384_addcarryx_u32(&x1034, &x1035, x1033, x1008, x970);
+ uint32_t x1036;
+ fiat_p384_uint1 x1037;
+ fiat_p384_addcarryx_u32(&x1036, &x1037, x1035, x1012, x972);
+ uint32_t x1038;
+ fiat_p384_uint1 x1039;
+ fiat_p384_addcarryx_u32(&x1038, &x1039, x1037, x1014, x974);
+ uint32_t x1040;
+ fiat_p384_uint1 x1041;
+ fiat_p384_addcarryx_u32(&x1040, &x1041, x1039, x1016, x976);
+ uint32_t x1042;
+ fiat_p384_uint1 x1043;
+ fiat_p384_addcarryx_u32(&x1042, &x1043, x1041, x1018, x978);
+ uint32_t x1044;
+ fiat_p384_uint1 x1045;
+ fiat_p384_addcarryx_u32(&x1044, &x1045, x1043, x1020, x980);
+ uint32_t x1046;
+ fiat_p384_uint1 x1047;
+ fiat_p384_addcarryx_u32(&x1046, &x1047, x1045, x1022, x982);
+ uint32_t x1048;
+ fiat_p384_uint1 x1049;
+ fiat_p384_addcarryx_u32(&x1048, &x1049, x1047, x1024, x984);
+ uint32_t x1050;
+ fiat_p384_uint1 x1051;
+ fiat_p384_addcarryx_u32(&x1050, &x1051, x1049, x1026, x986);
+ uint32_t x1052;
+ fiat_p384_uint1 x1053;
+ fiat_p384_addcarryx_u32(&x1052, &x1053, x1027, 0x0, x993);
+ uint32_t x1054;
+ fiat_p384_uint1 x1055;
+ fiat_p384_addcarryx_u32(&x1054, &x1055, x1051, x1052, x990);
+ uint32_t x1056;
+ fiat_p384_uint1 x1057;
+ fiat_p384_subborrowx_u32(&x1056, &x1057, 0x0, x1030, UINT32_C(0xffffffff));
+ uint32_t x1058;
+ fiat_p384_uint1 x1059;
+ fiat_p384_subborrowx_u32(&x1058, &x1059, x1057, x1032, 0x0);
+ uint32_t x1060;
+ fiat_p384_uint1 x1061;
+ fiat_p384_subborrowx_u32(&x1060, &x1061, x1059, x1034, 0x0);
+ uint32_t x1062;
+ fiat_p384_uint1 x1063;
+ fiat_p384_subborrowx_u32(&x1062, &x1063, x1061, x1036, UINT32_C(0xffffffff));
+ uint32_t x1064;
+ fiat_p384_uint1 x1065;
+ fiat_p384_subborrowx_u32(&x1064, &x1065, x1063, x1038, UINT32_C(0xfffffffe));
+ uint32_t x1066;
+ fiat_p384_uint1 x1067;
+ fiat_p384_subborrowx_u32(&x1066, &x1067, x1065, x1040, UINT32_C(0xffffffff));
+ uint32_t x1068;
+ fiat_p384_uint1 x1069;
+ fiat_p384_subborrowx_u32(&x1068, &x1069, x1067, x1042, UINT32_C(0xffffffff));
+ uint32_t x1070;
+ fiat_p384_uint1 x1071;
+ fiat_p384_subborrowx_u32(&x1070, &x1071, x1069, x1044, UINT32_C(0xffffffff));
+ uint32_t x1072;
+ fiat_p384_uint1 x1073;
+ fiat_p384_subborrowx_u32(&x1072, &x1073, x1071, x1046, UINT32_C(0xffffffff));
+ uint32_t x1074;
+ fiat_p384_uint1 x1075;
+ fiat_p384_subborrowx_u32(&x1074, &x1075, x1073, x1048, UINT32_C(0xffffffff));
+ uint32_t x1076;
+ fiat_p384_uint1 x1077;
+ fiat_p384_subborrowx_u32(&x1076, &x1077, x1075, x1050, UINT32_C(0xffffffff));
+ uint32_t x1078;
+ fiat_p384_uint1 x1079;
+ fiat_p384_subborrowx_u32(&x1078, &x1079, x1077, x1054, UINT32_C(0xffffffff));
+ uint32_t x1080;
+ fiat_p384_uint1 x1081;
+ fiat_p384_addcarryx_u32(&x1080, &x1081, x1055, 0x0, x991);
+ uint32_t x1082;
+ fiat_p384_uint1 x1083;
+ fiat_p384_subborrowx_u32(&x1082, &x1083, x1079, (fiat_p384_uint1)x1080, 0x0);
+ uint32_t x1084;
+ fiat_p384_cmovznz_u32(&x1084, x1083, x1056, x1030);
+ uint32_t x1085;
+ fiat_p384_cmovznz_u32(&x1085, x1083, x1058, x1032);
+ uint32_t x1086;
+ fiat_p384_cmovznz_u32(&x1086, x1083, x1060, x1034);
+ uint32_t x1087;
+ fiat_p384_cmovznz_u32(&x1087, x1083, x1062, x1036);
+ uint32_t x1088;
+ fiat_p384_cmovznz_u32(&x1088, x1083, x1064, x1038);
+ uint32_t x1089;
+ fiat_p384_cmovznz_u32(&x1089, x1083, x1066, x1040);
+ uint32_t x1090;
+ fiat_p384_cmovznz_u32(&x1090, x1083, x1068, x1042);
+ uint32_t x1091;
+ fiat_p384_cmovznz_u32(&x1091, x1083, x1070, x1044);
+ uint32_t x1092;
+ fiat_p384_cmovznz_u32(&x1092, x1083, x1072, x1046);
+ uint32_t x1093;
+ fiat_p384_cmovznz_u32(&x1093, x1083, x1074, x1048);
+ uint32_t x1094;
+ fiat_p384_cmovznz_u32(&x1094, x1083, x1076, x1050);
+ uint32_t x1095;
+ fiat_p384_cmovznz_u32(&x1095, x1083, x1078, x1054);
+ out1[0] = x1084;
+ out1[1] = x1085;
+ out1[2] = x1086;
+ out1[3] = x1087;
+ out1[4] = x1088;
+ out1[5] = x1089;
+ out1[6] = x1090;
+ out1[7] = x1091;
+ out1[8] = x1092;
+ out1[9] = x1093;
+ out1[10] = x1094;
+ out1[11] = x1095;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ */
+static void fiat_p384_nonzero(uint32_t* out1, const uint32_t arg1[12]) {
+ uint32_t x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | ((arg1[4]) | ((arg1[5]) | ((arg1[6]) | ((arg1[7]) | ((arg1[8]) | ((arg1[9]) | ((arg1[10]) | ((arg1[11]) | (uint32_t)0x0))))))))))));
+ *out1 = x1;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p384_selectznz(uint32_t out1[12], fiat_p384_uint1 arg1, const uint32_t arg2[12], const uint32_t arg3[12]) {
+ uint32_t x1;
+ fiat_p384_cmovznz_u32(&x1, arg1, (arg2[0]), (arg3[0]));
+ uint32_t x2;
+ fiat_p384_cmovznz_u32(&x2, arg1, (arg2[1]), (arg3[1]));
+ uint32_t x3;
+ fiat_p384_cmovznz_u32(&x3, arg1, (arg2[2]), (arg3[2]));
+ uint32_t x4;
+ fiat_p384_cmovznz_u32(&x4, arg1, (arg2[3]), (arg3[3]));
+ uint32_t x5;
+ fiat_p384_cmovznz_u32(&x5, arg1, (arg2[4]), (arg3[4]));
+ uint32_t x6;
+ fiat_p384_cmovznz_u32(&x6, arg1, (arg2[5]), (arg3[5]));
+ uint32_t x7;
+ fiat_p384_cmovznz_u32(&x7, arg1, (arg2[6]), (arg3[6]));
+ uint32_t x8;
+ fiat_p384_cmovznz_u32(&x8, arg1, (arg2[7]), (arg3[7]));
+ uint32_t x9;
+ fiat_p384_cmovznz_u32(&x9, arg1, (arg2[8]), (arg3[8]));
+ uint32_t x10;
+ fiat_p384_cmovznz_u32(&x10, arg1, (arg2[9]), (arg3[9]));
+ uint32_t x11;
+ fiat_p384_cmovznz_u32(&x11, arg1, (arg2[10]), (arg3[10]));
+ uint32_t x12;
+ fiat_p384_cmovznz_u32(&x12, arg1, (arg2[11]), (arg3[11]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+ out1[9] = x10;
+ out1[10] = x11;
+ out1[11] = x12;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
+ */
+static void fiat_p384_to_bytes(uint8_t out1[48], const uint32_t arg1[12]) {
+ uint32_t x1 = (arg1[11]);
+ uint32_t x2 = (arg1[10]);
+ uint32_t x3 = (arg1[9]);
+ uint32_t x4 = (arg1[8]);
+ uint32_t x5 = (arg1[7]);
+ uint32_t x6 = (arg1[6]);
+ uint32_t x7 = (arg1[5]);
+ uint32_t x8 = (arg1[4]);
+ uint32_t x9 = (arg1[3]);
+ uint32_t x10 = (arg1[2]);
+ uint32_t x11 = (arg1[1]);
+ uint32_t x12 = (arg1[0]);
+ uint32_t x13 = (x12 >> 8);
+ uint8_t x14 = (uint8_t)(x12 & UINT8_C(0xff));
+ uint32_t x15 = (x13 >> 8);
+ uint8_t x16 = (uint8_t)(x13 & UINT8_C(0xff));
+ uint8_t x17 = (uint8_t)(x15 >> 8);
+ uint8_t x18 = (uint8_t)(x15 & UINT8_C(0xff));
+ fiat_p384_uint1 x19 = (fiat_p384_uint1)(x17 >> 8);
+ uint8_t x20 = (uint8_t)(x17 & UINT8_C(0xff));
+ uint32_t x21 = (x19 + x11);
+ uint32_t x22 = (x21 >> 8);
+ uint8_t x23 = (uint8_t)(x21 & UINT8_C(0xff));
+ uint32_t x24 = (x22 >> 8);
+ uint8_t x25 = (uint8_t)(x22 & UINT8_C(0xff));
+ uint8_t x26 = (uint8_t)(x24 >> 8);
+ uint8_t x27 = (uint8_t)(x24 & UINT8_C(0xff));
+ fiat_p384_uint1 x28 = (fiat_p384_uint1)(x26 >> 8);
+ uint8_t x29 = (uint8_t)(x26 & UINT8_C(0xff));
+ uint32_t x30 = (x28 + x10);
+ uint32_t x31 = (x30 >> 8);
+ uint8_t x32 = (uint8_t)(x30 & UINT8_C(0xff));
+ uint32_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));
+ fiat_p384_uint1 x37 = (fiat_p384_uint1)(x35 >> 8);
+ uint8_t x38 = (uint8_t)(x35 & UINT8_C(0xff));
+ uint32_t x39 = (x37 + x9);
+ uint32_t x40 = (x39 >> 8);
+ uint8_t x41 = (uint8_t)(x39 & UINT8_C(0xff));
+ uint32_t x42 = (x40 >> 8);
+ uint8_t x43 = (uint8_t)(x40 & UINT8_C(0xff));
+ uint8_t x44 = (uint8_t)(x42 >> 8);
+ uint8_t x45 = (uint8_t)(x42 & UINT8_C(0xff));
+ fiat_p384_uint1 x46 = (fiat_p384_uint1)(x44 >> 8);
+ uint8_t x47 = (uint8_t)(x44 & UINT8_C(0xff));
+ uint32_t x48 = (x46 + x8);
+ uint32_t x49 = (x48 >> 8);
+ uint8_t x50 = (uint8_t)(x48 & UINT8_C(0xff));
+ uint32_t x51 = (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));
+ uint32_t x57 = (x55 + x7);
+ uint32_t x58 = (x57 >> 8);
+ uint8_t x59 = (uint8_t)(x57 & UINT8_C(0xff));
+ uint32_t x60 = (x58 >> 8);
+ uint8_t x61 = (uint8_t)(x58 & UINT8_C(0xff));
+ uint8_t x62 = (uint8_t)(x60 >> 8);
+ uint8_t x63 = (uint8_t)(x60 & UINT8_C(0xff));
+ fiat_p384_uint1 x64 = (fiat_p384_uint1)(x62 >> 8);
+ uint8_t x65 = (uint8_t)(x62 & UINT8_C(0xff));
+ uint32_t x66 = (x64 + x6);
+ uint32_t x67 = (x66 >> 8);
+ uint8_t x68 = (uint8_t)(x66 & UINT8_C(0xff));
+ uint32_t x69 = (x67 >> 8);
+ uint8_t x70 = (uint8_t)(x67 & UINT8_C(0xff));
+ uint8_t x71 = (uint8_t)(x69 >> 8);
+ uint8_t x72 = (uint8_t)(x69 & UINT8_C(0xff));
+ fiat_p384_uint1 x73 = (fiat_p384_uint1)(x71 >> 8);
+ uint8_t x74 = (uint8_t)(x71 & UINT8_C(0xff));
+ uint32_t x75 = (x73 + x5);
+ uint32_t x76 = (x75 >> 8);
+ uint8_t x77 = (uint8_t)(x75 & UINT8_C(0xff));
+ uint32_t x78 = (x76 >> 8);
+ uint8_t x79 = (uint8_t)(x76 & UINT8_C(0xff));
+ uint8_t x80 = (uint8_t)(x78 >> 8);
+ uint8_t x81 = (uint8_t)(x78 & UINT8_C(0xff));
+ fiat_p384_uint1 x82 = (fiat_p384_uint1)(x80 >> 8);
+ uint8_t x83 = (uint8_t)(x80 & UINT8_C(0xff));
+ uint32_t x84 = (x82 + x4);
+ uint32_t x85 = (x84 >> 8);
+ uint8_t x86 = (uint8_t)(x84 & UINT8_C(0xff));
+ uint32_t x87 = (x85 >> 8);
+ uint8_t x88 = (uint8_t)(x85 & UINT8_C(0xff));
+ uint8_t x89 = (uint8_t)(x87 >> 8);
+ uint8_t x90 = (uint8_t)(x87 & UINT8_C(0xff));
+ fiat_p384_uint1 x91 = (fiat_p384_uint1)(x89 >> 8);
+ uint8_t x92 = (uint8_t)(x89 & UINT8_C(0xff));
+ uint32_t x93 = (x91 + x3);
+ uint32_t x94 = (x93 >> 8);
+ uint8_t x95 = (uint8_t)(x93 & UINT8_C(0xff));
+ uint32_t x96 = (x94 >> 8);
+ uint8_t x97 = (uint8_t)(x94 & UINT8_C(0xff));
+ uint8_t x98 = (uint8_t)(x96 >> 8);
+ uint8_t x99 = (uint8_t)(x96 & UINT8_C(0xff));
+ fiat_p384_uint1 x100 = (fiat_p384_uint1)(x98 >> 8);
+ uint8_t x101 = (uint8_t)(x98 & UINT8_C(0xff));
+ uint32_t x102 = (x100 + x2);
+ uint32_t x103 = (x102 >> 8);
+ uint8_t x104 = (uint8_t)(x102 & UINT8_C(0xff));
+ uint32_t x105 = (x103 >> 8);
+ uint8_t x106 = (uint8_t)(x103 & UINT8_C(0xff));
+ uint8_t x107 = (uint8_t)(x105 >> 8);
+ uint8_t x108 = (uint8_t)(x105 & UINT8_C(0xff));
+ fiat_p384_uint1 x109 = (fiat_p384_uint1)(x107 >> 8);
+ uint8_t x110 = (uint8_t)(x107 & UINT8_C(0xff));
+ uint32_t x111 = (x109 + x1);
+ uint32_t x112 = (x111 >> 8);
+ uint8_t x113 = (uint8_t)(x111 & UINT8_C(0xff));
+ uint32_t x114 = (x112 >> 8);
+ uint8_t x115 = (uint8_t)(x112 & UINT8_C(0xff));
+ uint8_t x116 = (uint8_t)(x114 >> 8);
+ uint8_t x117 = (uint8_t)(x114 & UINT8_C(0xff));
+ out1[0] = x14;
+ out1[1] = x16;
+ out1[2] = x18;
+ out1[3] = x20;
+ out1[4] = x23;
+ out1[5] = x25;
+ out1[6] = x27;
+ out1[7] = x29;
+ out1[8] = x32;
+ out1[9] = x34;
+ out1[10] = x36;
+ out1[11] = x38;
+ out1[12] = x41;
+ out1[13] = x43;
+ out1[14] = x45;
+ out1[15] = x47;
+ out1[16] = x50;
+ out1[17] = x52;
+ out1[18] = x54;
+ out1[19] = x56;
+ out1[20] = x59;
+ out1[21] = x61;
+ out1[22] = x63;
+ out1[23] = x65;
+ out1[24] = x68;
+ out1[25] = x70;
+ out1[26] = x72;
+ out1[27] = x74;
+ out1[28] = x77;
+ out1[29] = x79;
+ out1[30] = x81;
+ out1[31] = x83;
+ out1[32] = x86;
+ out1[33] = x88;
+ out1[34] = x90;
+ out1[35] = x92;
+ out1[36] = x95;
+ out1[37] = x97;
+ out1[38] = x99;
+ out1[39] = x101;
+ out1[40] = x104;
+ out1[41] = x106;
+ out1[42] = x108;
+ out1[43] = x110;
+ out1[44] = x113;
+ out1[45] = x115;
+ out1[46] = x117;
+ out1[47] = x116;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p384_from_bytes(uint32_t out1[12], const uint8_t arg1[48]) {
+ uint32_t x1 = ((uint32_t)(arg1[47]) << 24);
+ uint32_t x2 = ((uint32_t)(arg1[46]) << 16);
+ uint32_t x3 = ((uint32_t)(arg1[45]) << 8);
+ uint8_t x4 = (arg1[44]);
+ uint32_t x5 = ((uint32_t)(arg1[43]) << 24);
+ uint32_t x6 = ((uint32_t)(arg1[42]) << 16);
+ uint32_t x7 = ((uint32_t)(arg1[41]) << 8);
+ uint8_t x8 = (arg1[40]);
+ uint32_t x9 = ((uint32_t)(arg1[39]) << 24);
+ uint32_t x10 = ((uint32_t)(arg1[38]) << 16);
+ uint32_t x11 = ((uint32_t)(arg1[37]) << 8);
+ uint8_t x12 = (arg1[36]);
+ uint32_t x13 = ((uint32_t)(arg1[35]) << 24);
+ uint32_t x14 = ((uint32_t)(arg1[34]) << 16);
+ uint32_t x15 = ((uint32_t)(arg1[33]) << 8);
+ uint8_t x16 = (arg1[32]);
+ uint32_t x17 = ((uint32_t)(arg1[31]) << 24);
+ uint32_t x18 = ((uint32_t)(arg1[30]) << 16);
+ uint32_t x19 = ((uint32_t)(arg1[29]) << 8);
+ uint8_t x20 = (arg1[28]);
+ uint32_t x21 = ((uint32_t)(arg1[27]) << 24);
+ uint32_t x22 = ((uint32_t)(arg1[26]) << 16);
+ uint32_t x23 = ((uint32_t)(arg1[25]) << 8);
+ uint8_t x24 = (arg1[24]);
+ uint32_t x25 = ((uint32_t)(arg1[23]) << 24);
+ uint32_t x26 = ((uint32_t)(arg1[22]) << 16);
+ uint32_t x27 = ((uint32_t)(arg1[21]) << 8);
+ uint8_t x28 = (arg1[20]);
+ uint32_t x29 = ((uint32_t)(arg1[19]) << 24);
+ uint32_t x30 = ((uint32_t)(arg1[18]) << 16);
+ uint32_t x31 = ((uint32_t)(arg1[17]) << 8);
+ uint8_t x32 = (arg1[16]);
+ uint32_t x33 = ((uint32_t)(arg1[15]) << 24);
+ uint32_t x34 = ((uint32_t)(arg1[14]) << 16);
+ uint32_t x35 = ((uint32_t)(arg1[13]) << 8);
+ uint8_t x36 = (arg1[12]);
+ uint32_t x37 = ((uint32_t)(arg1[11]) << 24);
+ uint32_t x38 = ((uint32_t)(arg1[10]) << 16);
+ uint32_t x39 = ((uint32_t)(arg1[9]) << 8);
+ uint8_t x40 = (arg1[8]);
+ uint32_t x41 = ((uint32_t)(arg1[7]) << 24);
+ uint32_t x42 = ((uint32_t)(arg1[6]) << 16);
+ uint32_t x43 = ((uint32_t)(arg1[5]) << 8);
+ uint8_t x44 = (arg1[4]);
+ uint32_t x45 = ((uint32_t)(arg1[3]) << 24);
+ uint32_t x46 = ((uint32_t)(arg1[2]) << 16);
+ uint32_t x47 = ((uint32_t)(arg1[1]) << 8);
+ uint8_t x48 = (arg1[0]);
+ uint32_t x49 = (x48 + (x47 + (x46 + x45)));
+ fiat_p384_uint1 x50 = (fiat_p384_uint1)((uint64_t)x49 >> 32);
+ uint32_t x51 = (x49 & UINT32_C(0xffffffff));
+ uint32_t x52 = (x4 + (x3 + (x2 + x1)));
+ uint32_t x53 = (x8 + (x7 + (x6 + x5)));
+ uint32_t x54 = (x12 + (x11 + (x10 + x9)));
+ uint32_t x55 = (x16 + (x15 + (x14 + x13)));
+ uint32_t x56 = (x20 + (x19 + (x18 + x17)));
+ uint32_t x57 = (x24 + (x23 + (x22 + x21)));
+ uint32_t x58 = (x28 + (x27 + (x26 + x25)));
+ uint32_t x59 = (x32 + (x31 + (x30 + x29)));
+ uint32_t x60 = (x36 + (x35 + (x34 + x33)));
+ uint32_t x61 = (x40 + (x39 + (x38 + x37)));
+ uint32_t x62 = (x44 + (x43 + (x42 + x41)));
+ uint32_t x63 = (x50 + x62);
+ fiat_p384_uint1 x64 = (fiat_p384_uint1)((uint64_t)x63 >> 32);
+ uint32_t x65 = (x63 & UINT32_C(0xffffffff));
+ uint32_t x66 = (x64 + x61);
+ fiat_p384_uint1 x67 = (fiat_p384_uint1)((uint64_t)x66 >> 32);
+ uint32_t x68 = (x66 & UINT32_C(0xffffffff));
+ uint32_t x69 = (x67 + x60);
+ fiat_p384_uint1 x70 = (fiat_p384_uint1)((uint64_t)x69 >> 32);
+ uint32_t x71 = (x69 & UINT32_C(0xffffffff));
+ uint32_t x72 = (x70 + x59);
+ fiat_p384_uint1 x73 = (fiat_p384_uint1)((uint64_t)x72 >> 32);
+ uint32_t x74 = (x72 & UINT32_C(0xffffffff));
+ uint32_t x75 = (x73 + x58);
+ fiat_p384_uint1 x76 = (fiat_p384_uint1)((uint64_t)x75 >> 32);
+ uint32_t x77 = (x75 & UINT32_C(0xffffffff));
+ uint32_t x78 = (x76 + x57);
+ fiat_p384_uint1 x79 = (fiat_p384_uint1)((uint64_t)x78 >> 32);
+ uint32_t x80 = (x78 & UINT32_C(0xffffffff));
+ uint32_t x81 = (x79 + x56);
+ fiat_p384_uint1 x82 = (fiat_p384_uint1)((uint64_t)x81 >> 32);
+ uint32_t x83 = (x81 & UINT32_C(0xffffffff));
+ uint32_t x84 = (x82 + x55);
+ fiat_p384_uint1 x85 = (fiat_p384_uint1)((uint64_t)x84 >> 32);
+ uint32_t x86 = (x84 & UINT32_C(0xffffffff));
+ uint32_t x87 = (x85 + x54);
+ fiat_p384_uint1 x88 = (fiat_p384_uint1)((uint64_t)x87 >> 32);
+ uint32_t x89 = (x87 & UINT32_C(0xffffffff));
+ uint32_t x90 = (x88 + x53);
+ fiat_p384_uint1 x91 = (fiat_p384_uint1)((uint64_t)x90 >> 32);
+ uint32_t x92 = (x90 & UINT32_C(0xffffffff));
+ uint32_t x93 = (x91 + x52);
+ out1[0] = x51;
+ out1[1] = x65;
+ out1[2] = x68;
+ out1[3] = x71;
+ out1[4] = x74;
+ out1[5] = x77;
+ out1[6] = x80;
+ out1[7] = x83;
+ out1[8] = x86;
+ out1[9] = x89;
+ out1[10] = x92;
+ out1[11] = x93;
+}
+
diff --git a/p384_64.c b/p384_64.c
new file mode 100644
index 000000000..accfa964a
--- /dev/null
+++ b/p384_64.c
@@ -0,0 +1,2585 @@
+/* Autogenerated */
+/* curve description: p384 */
+/* requested operations: (all) */
+/* s = 0x1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (from "2^384") */
+/* c = [(340282366920938463463374607431768211456, 1), (79228162514264337593543950336, 1), (4294967296, -1), (1, 1)] (from "2^128,1;2^96,1;2^32,-1;1,1") */
+/* machine_wordsize = 64 (from "64") */
+/* */
+/* NOTE: In addition to the bounds specified above each function, all */
+/* functions synthesized for this Montgomery arithmetic require the */
+/* input to be strictly less than the prime modulus (s-c), and also */
+/* require the input to be in the unique saturated representation. */
+/* All functions also ensure that these two properties are true of */
+/* return values. */
+
+#include <stdint.h>
+typedef unsigned char fiat_p384_uint1;
+typedef signed char fiat_p384_int1;
+typedef signed __int128 fiat_p384_int128;
+typedef unsigned __int128 fiat_p384_uint128;
+
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffffffffffff]
+ * arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p384_addcarryx_u64(uint64_t* out1, fiat_p384_uint1* out2, fiat_p384_uint1 arg1, uint64_t arg2, uint64_t arg3) {
+ fiat_p384_uint128 x1 = ((arg1 + (fiat_p384_uint128)arg2) + arg3);
+ uint64_t x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+ fiat_p384_uint1 x3 = (fiat_p384_uint1)(x1 >> 64);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffffffffffff]
+ * arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p384_subborrowx_u64(uint64_t* out1, fiat_p384_uint1* out2, fiat_p384_uint1 arg1, uint64_t arg2, uint64_t arg3) {
+ fiat_p384_int128 x1 = ((arg2 - (fiat_p384_int128)arg1) - arg3);
+ fiat_p384_int1 x2 = (fiat_p384_int1)((fiat_p384_uint128)x1 >> 64);
+ uint64_t x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+ *out1 = x3;
+ *out2 = (fiat_p384_uint1)(0x0 - x2);
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0xffffffffffffffff]
+ * arg2: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ * out2: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_p384_mulx_u64(uint64_t* out1, uint64_t* out2, uint64_t arg1, uint64_t arg2) {
+ fiat_p384_uint128 x1 = ((fiat_p384_uint128)arg1 * arg2);
+ uint64_t x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+ uint64_t x3 = (uint64_t)(x1 >> 64);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffffffffffff]
+ * arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_p384_cmovznz_u64(uint64_t* out1, fiat_p384_uint1 arg1, uint64_t arg2, uint64_t arg3) {
+ fiat_p384_uint1 x1 = (!(!arg1));
+ uint64_t x2 = ((fiat_p384_int1)(0x0 - x1) & UINT64_C(0xffffffffffffffff));
+ uint64_t x3 = ((x2 & arg3) | (uint64_t)((fiat_p384_uint128)(~x2) & arg2));
+ *out1 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p384_mul(uint64_t out1[6], const uint64_t arg1[6], const uint64_t arg2[6]) {
+ uint64_t x1 = (arg1[1]);
+ uint64_t x2 = (arg1[2]);
+ uint64_t x3 = (arg1[3]);
+ uint64_t x4 = (arg1[4]);
+ uint64_t x5 = (arg1[5]);
+ uint64_t x6 = (arg1[0]);
+ uint64_t x7;
+ uint64_t x8;
+ fiat_p384_mulx_u64(&x7, &x8, x6, (arg2[5]));
+ uint64_t x9;
+ uint64_t x10;
+ fiat_p384_mulx_u64(&x9, &x10, x6, (arg2[4]));
+ uint64_t x11;
+ uint64_t x12;
+ fiat_p384_mulx_u64(&x11, &x12, x6, (arg2[3]));
+ uint64_t x13;
+ uint64_t x14;
+ fiat_p384_mulx_u64(&x13, &x14, x6, (arg2[2]));
+ uint64_t x15;
+ uint64_t x16;
+ fiat_p384_mulx_u64(&x15, &x16, x6, (arg2[1]));
+ uint64_t x17;
+ uint64_t x18;
+ fiat_p384_mulx_u64(&x17, &x18, x6, (arg2[0]));
+ uint64_t x19;
+ fiat_p384_uint1 x20;
+ fiat_p384_addcarryx_u64(&x19, &x20, 0x0, x15, x18);
+ uint64_t x21;
+ fiat_p384_uint1 x22;
+ fiat_p384_addcarryx_u64(&x21, &x22, x20, x13, x16);
+ uint64_t x23;
+ fiat_p384_uint1 x24;
+ fiat_p384_addcarryx_u64(&x23, &x24, x22, x11, x14);
+ uint64_t x25;
+ fiat_p384_uint1 x26;
+ fiat_p384_addcarryx_u64(&x25, &x26, x24, x9, x12);
+ uint64_t x27;
+ fiat_p384_uint1 x28;
+ fiat_p384_addcarryx_u64(&x27, &x28, x26, x7, x10);
+ uint64_t x29;
+ fiat_p384_uint1 x30;
+ fiat_p384_addcarryx_u64(&x29, &x30, x28, 0x0, x8);
+ uint64_t x31;
+ uint64_t x32;
+ fiat_p384_mulx_u64(&x31, &x32, x17, UINT64_C(0x100000001));
+ uint64_t x33;
+ uint64_t x34;
+ fiat_p384_mulx_u64(&x33, &x34, x31, UINT64_C(0xffffffffffffffff));
+ uint64_t x35;
+ uint64_t x36;
+ fiat_p384_mulx_u64(&x35, &x36, x31, UINT64_C(0xffffffffffffffff));
+ uint64_t x37;
+ uint64_t x38;
+ fiat_p384_mulx_u64(&x37, &x38, x31, UINT64_C(0xffffffffffffffff));
+ uint64_t x39;
+ uint64_t x40;
+ fiat_p384_mulx_u64(&x39, &x40, x31, UINT64_C(0xfffffffffffffffe));
+ uint64_t x41;
+ uint64_t x42;
+ fiat_p384_mulx_u64(&x41, &x42, x31, UINT64_C(0xffffffff00000000));
+ uint64_t x43;
+ uint64_t x44;
+ fiat_p384_mulx_u64(&x43, &x44, x31, UINT32_C(0xffffffff));
+ uint64_t x45;
+ fiat_p384_uint1 x46;
+ fiat_p384_addcarryx_u64(&x45, &x46, 0x0, x41, x44);
+ uint64_t x47;
+ fiat_p384_uint1 x48;
+ fiat_p384_addcarryx_u64(&x47, &x48, x46, x39, x42);
+ uint64_t x49;
+ fiat_p384_uint1 x50;
+ fiat_p384_addcarryx_u64(&x49, &x50, x48, x37, x40);
+ uint64_t x51;
+ fiat_p384_uint1 x52;
+ fiat_p384_addcarryx_u64(&x51, &x52, x50, x35, x38);
+ uint64_t x53;
+ fiat_p384_uint1 x54;
+ fiat_p384_addcarryx_u64(&x53, &x54, x52, x33, x36);
+ uint64_t x55;
+ fiat_p384_uint1 x56;
+ fiat_p384_addcarryx_u64(&x55, &x56, x54, 0x0, x34);
+ uint64_t x57;
+ fiat_p384_uint1 x58;
+ fiat_p384_addcarryx_u64(&x57, &x58, 0x0, x43, x17);
+ uint64_t x59;
+ fiat_p384_uint1 x60;
+ fiat_p384_addcarryx_u64(&x59, &x60, x58, x45, x19);
+ uint64_t x61;
+ fiat_p384_uint1 x62;
+ fiat_p384_addcarryx_u64(&x61, &x62, x60, x47, x21);
+ uint64_t x63;
+ fiat_p384_uint1 x64;
+ fiat_p384_addcarryx_u64(&x63, &x64, x62, x49, x23);
+ uint64_t x65;
+ fiat_p384_uint1 x66;
+ fiat_p384_addcarryx_u64(&x65, &x66, x64, x51, x25);
+ uint64_t x67;
+ fiat_p384_uint1 x68;
+ fiat_p384_addcarryx_u64(&x67, &x68, x66, x53, x27);
+ uint64_t x69;
+ fiat_p384_uint1 x70;
+ fiat_p384_addcarryx_u64(&x69, &x70, x68, x55, x29);
+ uint64_t x71;
+ fiat_p384_uint1 x72;
+ fiat_p384_addcarryx_u64(&x71, &x72, x70, 0x0, 0x0);
+ uint64_t x73;
+ uint64_t x74;
+ fiat_p384_mulx_u64(&x73, &x74, x1, (arg2[5]));
+ uint64_t x75;
+ uint64_t x76;
+ fiat_p384_mulx_u64(&x75, &x76, x1, (arg2[4]));
+ uint64_t x77;
+ uint64_t x78;
+ fiat_p384_mulx_u64(&x77, &x78, x1, (arg2[3]));
+ uint64_t x79;
+ uint64_t x80;
+ fiat_p384_mulx_u64(&x79, &x80, x1, (arg2[2]));
+ uint64_t x81;
+ uint64_t x82;
+ fiat_p384_mulx_u64(&x81, &x82, x1, (arg2[1]));
+ uint64_t x83;
+ uint64_t x84;
+ fiat_p384_mulx_u64(&x83, &x84, x1, (arg2[0]));
+ uint64_t x85;
+ fiat_p384_uint1 x86;
+ fiat_p384_addcarryx_u64(&x85, &x86, 0x0, x81, x84);
+ uint64_t x87;
+ fiat_p384_uint1 x88;
+ fiat_p384_addcarryx_u64(&x87, &x88, x86, x79, x82);
+ uint64_t x89;
+ fiat_p384_uint1 x90;
+ fiat_p384_addcarryx_u64(&x89, &x90, x88, x77, x80);
+ uint64_t x91;
+ fiat_p384_uint1 x92;
+ fiat_p384_addcarryx_u64(&x91, &x92, x90, x75, x78);
+ uint64_t x93;
+ fiat_p384_uint1 x94;
+ fiat_p384_addcarryx_u64(&x93, &x94, x92, x73, x76);
+ uint64_t x95;
+ fiat_p384_uint1 x96;
+ fiat_p384_addcarryx_u64(&x95, &x96, x94, 0x0, x74);
+ uint64_t x97;
+ fiat_p384_uint1 x98;
+ fiat_p384_addcarryx_u64(&x97, &x98, 0x0, x83, x59);
+ uint64_t x99;
+ fiat_p384_uint1 x100;
+ fiat_p384_addcarryx_u64(&x99, &x100, x98, x85, x61);
+ uint64_t x101;
+ fiat_p384_uint1 x102;
+ fiat_p384_addcarryx_u64(&x101, &x102, x100, x87, x63);
+ uint64_t x103;
+ fiat_p384_uint1 x104;
+ fiat_p384_addcarryx_u64(&x103, &x104, x102, x89, x65);
+ uint64_t x105;
+ fiat_p384_uint1 x106;
+ fiat_p384_addcarryx_u64(&x105, &x106, x104, x91, x67);
+ uint64_t x107;
+ fiat_p384_uint1 x108;
+ fiat_p384_addcarryx_u64(&x107, &x108, x106, x93, x69);
+ uint64_t x109;
+ fiat_p384_uint1 x110;
+ fiat_p384_addcarryx_u64(&x109, &x110, x108, x95, (fiat_p384_uint1)x71);
+ uint64_t x111;
+ uint64_t x112;
+ fiat_p384_mulx_u64(&x111, &x112, x97, UINT64_C(0x100000001));
+ uint64_t x113;
+ uint64_t x114;
+ fiat_p384_mulx_u64(&x113, &x114, x111, UINT64_C(0xffffffffffffffff));
+ uint64_t x115;
+ uint64_t x116;
+ fiat_p384_mulx_u64(&x115, &x116, x111, UINT64_C(0xffffffffffffffff));
+ uint64_t x117;
+ uint64_t x118;
+ fiat_p384_mulx_u64(&x117, &x118, x111, UINT64_C(0xffffffffffffffff));
+ uint64_t x119;
+ uint64_t x120;
+ fiat_p384_mulx_u64(&x119, &x120, x111, UINT64_C(0xfffffffffffffffe));
+ uint64_t x121;
+ uint64_t x122;
+ fiat_p384_mulx_u64(&x121, &x122, x111, UINT64_C(0xffffffff00000000));
+ uint64_t x123;
+ uint64_t x124;
+ fiat_p384_mulx_u64(&x123, &x124, x111, UINT32_C(0xffffffff));
+ uint64_t x125;
+ fiat_p384_uint1 x126;
+ fiat_p384_addcarryx_u64(&x125, &x126, 0x0, x121, x124);
+ uint64_t x127;
+ fiat_p384_uint1 x128;
+ fiat_p384_addcarryx_u64(&x127, &x128, x126, x119, x122);
+ uint64_t x129;
+ fiat_p384_uint1 x130;
+ fiat_p384_addcarryx_u64(&x129, &x130, x128, x117, x120);
+ uint64_t x131;
+ fiat_p384_uint1 x132;
+ fiat_p384_addcarryx_u64(&x131, &x132, x130, x115, x118);
+ uint64_t x133;
+ fiat_p384_uint1 x134;
+ fiat_p384_addcarryx_u64(&x133, &x134, x132, x113, x116);
+ uint64_t x135;
+ fiat_p384_uint1 x136;
+ fiat_p384_addcarryx_u64(&x135, &x136, x134, 0x0, x114);
+ uint64_t x137;
+ fiat_p384_uint1 x138;
+ fiat_p384_addcarryx_u64(&x137, &x138, 0x0, x123, x97);
+ uint64_t x139;
+ fiat_p384_uint1 x140;
+ fiat_p384_addcarryx_u64(&x139, &x140, x138, x125, x99);
+ uint64_t x141;
+ fiat_p384_uint1 x142;
+ fiat_p384_addcarryx_u64(&x141, &x142, x140, x127, x101);
+ uint64_t x143;
+ fiat_p384_uint1 x144;
+ fiat_p384_addcarryx_u64(&x143, &x144, x142, x129, x103);
+ uint64_t x145;
+ fiat_p384_uint1 x146;
+ fiat_p384_addcarryx_u64(&x145, &x146, x144, x131, x105);
+ uint64_t x147;
+ fiat_p384_uint1 x148;
+ fiat_p384_addcarryx_u64(&x147, &x148, x146, x133, x107);
+ uint64_t x149;
+ fiat_p384_uint1 x150;
+ fiat_p384_addcarryx_u64(&x149, &x150, x148, x135, x109);
+ uint64_t x151;
+ fiat_p384_uint1 x152;
+ fiat_p384_addcarryx_u64(&x151, &x152, x150, 0x0, x110);
+ uint64_t x153;
+ uint64_t x154;
+ fiat_p384_mulx_u64(&x153, &x154, x2, (arg2[5]));
+ uint64_t x155;
+ uint64_t x156;
+ fiat_p384_mulx_u64(&x155, &x156, x2, (arg2[4]));
+ uint64_t x157;
+ uint64_t x158;
+ fiat_p384_mulx_u64(&x157, &x158, x2, (arg2[3]));
+ uint64_t x159;
+ uint64_t x160;
+ fiat_p384_mulx_u64(&x159, &x160, x2, (arg2[2]));
+ uint64_t x161;
+ uint64_t x162;
+ fiat_p384_mulx_u64(&x161, &x162, x2, (arg2[1]));
+ uint64_t x163;
+ uint64_t x164;
+ fiat_p384_mulx_u64(&x163, &x164, x2, (arg2[0]));
+ uint64_t x165;
+ fiat_p384_uint1 x166;
+ fiat_p384_addcarryx_u64(&x165, &x166, 0x0, x161, x164);
+ uint64_t x167;
+ fiat_p384_uint1 x168;
+ fiat_p384_addcarryx_u64(&x167, &x168, x166, x159, x162);
+ uint64_t x169;
+ fiat_p384_uint1 x170;
+ fiat_p384_addcarryx_u64(&x169, &x170, x168, x157, x160);
+ uint64_t x171;
+ fiat_p384_uint1 x172;
+ fiat_p384_addcarryx_u64(&x171, &x172, x170, x155, x158);
+ uint64_t x173;
+ fiat_p384_uint1 x174;
+ fiat_p384_addcarryx_u64(&x173, &x174, x172, x153, x156);
+ uint64_t x175;
+ fiat_p384_uint1 x176;
+ fiat_p384_addcarryx_u64(&x175, &x176, x174, 0x0, x154);
+ uint64_t x177;
+ fiat_p384_uint1 x178;
+ fiat_p384_addcarryx_u64(&x177, &x178, 0x0, x163, x139);
+ uint64_t x179;
+ fiat_p384_uint1 x180;
+ fiat_p384_addcarryx_u64(&x179, &x180, x178, x165, x141);
+ uint64_t x181;
+ fiat_p384_uint1 x182;
+ fiat_p384_addcarryx_u64(&x181, &x182, x180, x167, x143);
+ uint64_t x183;
+ fiat_p384_uint1 x184;
+ fiat_p384_addcarryx_u64(&x183, &x184, x182, x169, x145);
+ uint64_t x185;
+ fiat_p384_uint1 x186;
+ fiat_p384_addcarryx_u64(&x185, &x186, x184, x171, x147);
+ uint64_t x187;
+ fiat_p384_uint1 x188;
+ fiat_p384_addcarryx_u64(&x187, &x188, x186, x173, x149);
+ uint64_t x189;
+ fiat_p384_uint1 x190;
+ fiat_p384_addcarryx_u64(&x189, &x190, x188, x175, x151);
+ uint64_t x191;
+ uint64_t x192;
+ fiat_p384_mulx_u64(&x191, &x192, x177, UINT64_C(0x100000001));
+ uint64_t x193;
+ uint64_t x194;
+ fiat_p384_mulx_u64(&x193, &x194, x191, UINT64_C(0xffffffffffffffff));
+ uint64_t x195;
+ uint64_t x196;
+ fiat_p384_mulx_u64(&x195, &x196, x191, UINT64_C(0xffffffffffffffff));
+ uint64_t x197;
+ uint64_t x198;
+ fiat_p384_mulx_u64(&x197, &x198, x191, UINT64_C(0xffffffffffffffff));
+ uint64_t x199;
+ uint64_t x200;
+ fiat_p384_mulx_u64(&x199, &x200, x191, UINT64_C(0xfffffffffffffffe));
+ uint64_t x201;
+ uint64_t x202;
+ fiat_p384_mulx_u64(&x201, &x202, x191, UINT64_C(0xffffffff00000000));
+ uint64_t x203;
+ uint64_t x204;
+ fiat_p384_mulx_u64(&x203, &x204, x191, UINT32_C(0xffffffff));
+ uint64_t x205;
+ fiat_p384_uint1 x206;
+ fiat_p384_addcarryx_u64(&x205, &x206, 0x0, x201, x204);
+ uint64_t x207;
+ fiat_p384_uint1 x208;
+ fiat_p384_addcarryx_u64(&x207, &x208, x206, x199, x202);
+ uint64_t x209;
+ fiat_p384_uint1 x210;
+ fiat_p384_addcarryx_u64(&x209, &x210, x208, x197, x200);
+ uint64_t x211;
+ fiat_p384_uint1 x212;
+ fiat_p384_addcarryx_u64(&x211, &x212, x210, x195, x198);
+ uint64_t x213;
+ fiat_p384_uint1 x214;
+ fiat_p384_addcarryx_u64(&x213, &x214, x212, x193, x196);
+ uint64_t x215;
+ fiat_p384_uint1 x216;
+ fiat_p384_addcarryx_u64(&x215, &x216, x214, 0x0, x194);
+ uint64_t x217;
+ fiat_p384_uint1 x218;
+ fiat_p384_addcarryx_u64(&x217, &x218, 0x0, x203, x177);
+ uint64_t x219;
+ fiat_p384_uint1 x220;
+ fiat_p384_addcarryx_u64(&x219, &x220, x218, x205, x179);
+ uint64_t x221;
+ fiat_p384_uint1 x222;
+ fiat_p384_addcarryx_u64(&x221, &x222, x220, x207, x181);
+ uint64_t x223;
+ fiat_p384_uint1 x224;
+ fiat_p384_addcarryx_u64(&x223, &x224, x222, x209, x183);
+ uint64_t x225;
+ fiat_p384_uint1 x226;
+ fiat_p384_addcarryx_u64(&x225, &x226, x224, x211, x185);
+ uint64_t x227;
+ fiat_p384_uint1 x228;
+ fiat_p384_addcarryx_u64(&x227, &x228, x226, x213, x187);
+ uint64_t x229;
+ fiat_p384_uint1 x230;
+ fiat_p384_addcarryx_u64(&x229, &x230, x228, x215, x189);
+ uint64_t x231;
+ fiat_p384_uint1 x232;
+ fiat_p384_addcarryx_u64(&x231, &x232, x230, 0x0, x190);
+ uint64_t x233;
+ uint64_t x234;
+ fiat_p384_mulx_u64(&x233, &x234, x3, (arg2[5]));
+ uint64_t x235;
+ uint64_t x236;
+ fiat_p384_mulx_u64(&x235, &x236, x3, (arg2[4]));
+ uint64_t x237;
+ uint64_t x238;
+ fiat_p384_mulx_u64(&x237, &x238, x3, (arg2[3]));
+ uint64_t x239;
+ uint64_t x240;
+ fiat_p384_mulx_u64(&x239, &x240, x3, (arg2[2]));
+ uint64_t x241;
+ uint64_t x242;
+ fiat_p384_mulx_u64(&x241, &x242, x3, (arg2[1]));
+ uint64_t x243;
+ uint64_t x244;
+ fiat_p384_mulx_u64(&x243, &x244, x3, (arg2[0]));
+ uint64_t x245;
+ fiat_p384_uint1 x246;
+ fiat_p384_addcarryx_u64(&x245, &x246, 0x0, x241, x244);
+ uint64_t x247;
+ fiat_p384_uint1 x248;
+ fiat_p384_addcarryx_u64(&x247, &x248, x246, x239, x242);
+ uint64_t x249;
+ fiat_p384_uint1 x250;
+ fiat_p384_addcarryx_u64(&x249, &x250, x248, x237, x240);
+ uint64_t x251;
+ fiat_p384_uint1 x252;
+ fiat_p384_addcarryx_u64(&x251, &x252, x250, x235, x238);
+ uint64_t x253;
+ fiat_p384_uint1 x254;
+ fiat_p384_addcarryx_u64(&x253, &x254, x252, x233, x236);
+ uint64_t x255;
+ fiat_p384_uint1 x256;
+ fiat_p384_addcarryx_u64(&x255, &x256, x254, 0x0, x234);
+ uint64_t x257;
+ fiat_p384_uint1 x258;
+ fiat_p384_addcarryx_u64(&x257, &x258, 0x0, x243, x219);
+ uint64_t x259;
+ fiat_p384_uint1 x260;
+ fiat_p384_addcarryx_u64(&x259, &x260, x258, x245, x221);
+ uint64_t x261;
+ fiat_p384_uint1 x262;
+ fiat_p384_addcarryx_u64(&x261, &x262, x260, x247, x223);
+ uint64_t x263;
+ fiat_p384_uint1 x264;
+ fiat_p384_addcarryx_u64(&x263, &x264, x262, x249, x225);
+ uint64_t x265;
+ fiat_p384_uint1 x266;
+ fiat_p384_addcarryx_u64(&x265, &x266, x264, x251, x227);
+ uint64_t x267;
+ fiat_p384_uint1 x268;
+ fiat_p384_addcarryx_u64(&x267, &x268, x266, x253, x229);
+ uint64_t x269;
+ fiat_p384_uint1 x270;
+ fiat_p384_addcarryx_u64(&x269, &x270, x268, x255, x231);
+ uint64_t x271;
+ uint64_t x272;
+ fiat_p384_mulx_u64(&x271, &x272, x257, UINT64_C(0x100000001));
+ uint64_t x273;
+ uint64_t x274;
+ fiat_p384_mulx_u64(&x273, &x274, x271, UINT64_C(0xffffffffffffffff));
+ uint64_t x275;
+ uint64_t x276;
+ fiat_p384_mulx_u64(&x275, &x276, x271, UINT64_C(0xffffffffffffffff));
+ uint64_t x277;
+ uint64_t x278;
+ fiat_p384_mulx_u64(&x277, &x278, x271, UINT64_C(0xffffffffffffffff));
+ uint64_t x279;
+ uint64_t x280;
+ fiat_p384_mulx_u64(&x279, &x280, x271, UINT64_C(0xfffffffffffffffe));
+ uint64_t x281;
+ uint64_t x282;
+ fiat_p384_mulx_u64(&x281, &x282, x271, UINT64_C(0xffffffff00000000));
+ uint64_t x283;
+ uint64_t x284;
+ fiat_p384_mulx_u64(&x283, &x284, x271, UINT32_C(0xffffffff));
+ uint64_t x285;
+ fiat_p384_uint1 x286;
+ fiat_p384_addcarryx_u64(&x285, &x286, 0x0, x281, x284);
+ uint64_t x287;
+ fiat_p384_uint1 x288;
+ fiat_p384_addcarryx_u64(&x287, &x288, x286, x279, x282);
+ uint64_t x289;
+ fiat_p384_uint1 x290;
+ fiat_p384_addcarryx_u64(&x289, &x290, x288, x277, x280);
+ uint64_t x291;
+ fiat_p384_uint1 x292;
+ fiat_p384_addcarryx_u64(&x291, &x292, x290, x275, x278);
+ uint64_t x293;
+ fiat_p384_uint1 x294;
+ fiat_p384_addcarryx_u64(&x293, &x294, x292, x273, x276);
+ uint64_t x295;
+ fiat_p384_uint1 x296;
+ fiat_p384_addcarryx_u64(&x295, &x296, x294, 0x0, x274);
+ uint64_t x297;
+ fiat_p384_uint1 x298;
+ fiat_p384_addcarryx_u64(&x297, &x298, 0x0, x283, x257);
+ uint64_t x299;
+ fiat_p384_uint1 x300;
+ fiat_p384_addcarryx_u64(&x299, &x300, x298, x285, x259);
+ uint64_t x301;
+ fiat_p384_uint1 x302;
+ fiat_p384_addcarryx_u64(&x301, &x302, x300, x287, x261);
+ uint64_t x303;
+ fiat_p384_uint1 x304;
+ fiat_p384_addcarryx_u64(&x303, &x304, x302, x289, x263);
+ uint64_t x305;
+ fiat_p384_uint1 x306;
+ fiat_p384_addcarryx_u64(&x305, &x306, x304, x291, x265);
+ uint64_t x307;
+ fiat_p384_uint1 x308;
+ fiat_p384_addcarryx_u64(&x307, &x308, x306, x293, x267);
+ uint64_t x309;
+ fiat_p384_uint1 x310;
+ fiat_p384_addcarryx_u64(&x309, &x310, x308, x295, x269);
+ uint64_t x311;
+ fiat_p384_uint1 x312;
+ fiat_p384_addcarryx_u64(&x311, &x312, x310, 0x0, x270);
+ uint64_t x313;
+ uint64_t x314;
+ fiat_p384_mulx_u64(&x313, &x314, x4, (arg2[5]));
+ uint64_t x315;
+ uint64_t x316;
+ fiat_p384_mulx_u64(&x315, &x316, x4, (arg2[4]));
+ uint64_t x317;
+ uint64_t x318;
+ fiat_p384_mulx_u64(&x317, &x318, x4, (arg2[3]));
+ uint64_t x319;
+ uint64_t x320;
+ fiat_p384_mulx_u64(&x319, &x320, x4, (arg2[2]));
+ uint64_t x321;
+ uint64_t x322;
+ fiat_p384_mulx_u64(&x321, &x322, x4, (arg2[1]));
+ uint64_t x323;
+ uint64_t x324;
+ fiat_p384_mulx_u64(&x323, &x324, x4, (arg2[0]));
+ uint64_t x325;
+ fiat_p384_uint1 x326;
+ fiat_p384_addcarryx_u64(&x325, &x326, 0x0, x321, x324);
+ uint64_t x327;
+ fiat_p384_uint1 x328;
+ fiat_p384_addcarryx_u64(&x327, &x328, x326, x319, x322);
+ uint64_t x329;
+ fiat_p384_uint1 x330;
+ fiat_p384_addcarryx_u64(&x329, &x330, x328, x317, x320);
+ uint64_t x331;
+ fiat_p384_uint1 x332;
+ fiat_p384_addcarryx_u64(&x331, &x332, x330, x315, x318);
+ uint64_t x333;
+ fiat_p384_uint1 x334;
+ fiat_p384_addcarryx_u64(&x333, &x334, x332, x313, x316);
+ uint64_t x335;
+ fiat_p384_uint1 x336;
+ fiat_p384_addcarryx_u64(&x335, &x336, x334, 0x0, x314);
+ uint64_t x337;
+ fiat_p384_uint1 x338;
+ fiat_p384_addcarryx_u64(&x337, &x338, 0x0, x323, x299);
+ uint64_t x339;
+ fiat_p384_uint1 x340;
+ fiat_p384_addcarryx_u64(&x339, &x340, x338, x325, x301);
+ uint64_t x341;
+ fiat_p384_uint1 x342;
+ fiat_p384_addcarryx_u64(&x341, &x342, x340, x327, x303);
+ uint64_t x343;
+ fiat_p384_uint1 x344;
+ fiat_p384_addcarryx_u64(&x343, &x344, x342, x329, x305);
+ uint64_t x345;
+ fiat_p384_uint1 x346;
+ fiat_p384_addcarryx_u64(&x345, &x346, x344, x331, x307);
+ uint64_t x347;
+ fiat_p384_uint1 x348;
+ fiat_p384_addcarryx_u64(&x347, &x348, x346, x333, x309);
+ uint64_t x349;
+ fiat_p384_uint1 x350;
+ fiat_p384_addcarryx_u64(&x349, &x350, x348, x335, x311);
+ uint64_t x351;
+ uint64_t x352;
+ fiat_p384_mulx_u64(&x351, &x352, x337, UINT64_C(0x100000001));
+ uint64_t x353;
+ uint64_t x354;
+ fiat_p384_mulx_u64(&x353, &x354, x351, UINT64_C(0xffffffffffffffff));
+ uint64_t x355;
+ uint64_t x356;
+ fiat_p384_mulx_u64(&x355, &x356, x351, UINT64_C(0xffffffffffffffff));
+ uint64_t x357;
+ uint64_t x358;
+ fiat_p384_mulx_u64(&x357, &x358, x351, UINT64_C(0xffffffffffffffff));
+ uint64_t x359;
+ uint64_t x360;
+ fiat_p384_mulx_u64(&x359, &x360, x351, UINT64_C(0xfffffffffffffffe));
+ uint64_t x361;
+ uint64_t x362;
+ fiat_p384_mulx_u64(&x361, &x362, x351, UINT64_C(0xffffffff00000000));
+ uint64_t x363;
+ uint64_t x364;
+ fiat_p384_mulx_u64(&x363, &x364, x351, UINT32_C(0xffffffff));
+ uint64_t x365;
+ fiat_p384_uint1 x366;
+ fiat_p384_addcarryx_u64(&x365, &x366, 0x0, x361, x364);
+ uint64_t x367;
+ fiat_p384_uint1 x368;
+ fiat_p384_addcarryx_u64(&x367, &x368, x366, x359, x362);
+ uint64_t x369;
+ fiat_p384_uint1 x370;
+ fiat_p384_addcarryx_u64(&x369, &x370, x368, x357, x360);
+ uint64_t x371;
+ fiat_p384_uint1 x372;
+ fiat_p384_addcarryx_u64(&x371, &x372, x370, x355, x358);
+ uint64_t x373;
+ fiat_p384_uint1 x374;
+ fiat_p384_addcarryx_u64(&x373, &x374, x372, x353, x356);
+ uint64_t x375;
+ fiat_p384_uint1 x376;
+ fiat_p384_addcarryx_u64(&x375, &x376, x374, 0x0, x354);
+ uint64_t x377;
+ fiat_p384_uint1 x378;
+ fiat_p384_addcarryx_u64(&x377, &x378, 0x0, x363, x337);
+ uint64_t x379;
+ fiat_p384_uint1 x380;
+ fiat_p384_addcarryx_u64(&x379, &x380, x378, x365, x339);
+ uint64_t x381;
+ fiat_p384_uint1 x382;
+ fiat_p384_addcarryx_u64(&x381, &x382, x380, x367, x341);
+ uint64_t x383;
+ fiat_p384_uint1 x384;
+ fiat_p384_addcarryx_u64(&x383, &x384, x382, x369, x343);
+ uint64_t x385;
+ fiat_p384_uint1 x386;
+ fiat_p384_addcarryx_u64(&x385, &x386, x384, x371, x345);
+ uint64_t x387;
+ fiat_p384_uint1 x388;
+ fiat_p384_addcarryx_u64(&x387, &x388, x386, x373, x347);
+ uint64_t x389;
+ fiat_p384_uint1 x390;
+ fiat_p384_addcarryx_u64(&x389, &x390, x388, x375, x349);
+ uint64_t x391;
+ fiat_p384_uint1 x392;
+ fiat_p384_addcarryx_u64(&x391, &x392, x390, 0x0, x350);
+ uint64_t x393;
+ uint64_t x394;
+ fiat_p384_mulx_u64(&x393, &x394, x5, (arg2[5]));
+ uint64_t x395;
+ uint64_t x396;
+ fiat_p384_mulx_u64(&x395, &x396, x5, (arg2[4]));
+ uint64_t x397;
+ uint64_t x398;
+ fiat_p384_mulx_u64(&x397, &x398, x5, (arg2[3]));
+ uint64_t x399;
+ uint64_t x400;
+ fiat_p384_mulx_u64(&x399, &x400, x5, (arg2[2]));
+ uint64_t x401;
+ uint64_t x402;
+ fiat_p384_mulx_u64(&x401, &x402, x5, (arg2[1]));
+ uint64_t x403;
+ uint64_t x404;
+ fiat_p384_mulx_u64(&x403, &x404, x5, (arg2[0]));
+ uint64_t x405;
+ fiat_p384_uint1 x406;
+ fiat_p384_addcarryx_u64(&x405, &x406, 0x0, x401, x404);
+ uint64_t x407;
+ fiat_p384_uint1 x408;
+ fiat_p384_addcarryx_u64(&x407, &x408, x406, x399, x402);
+ uint64_t x409;
+ fiat_p384_uint1 x410;
+ fiat_p384_addcarryx_u64(&x409, &x410, x408, x397, x400);
+ uint64_t x411;
+ fiat_p384_uint1 x412;
+ fiat_p384_addcarryx_u64(&x411, &x412, x410, x395, x398);
+ uint64_t x413;
+ fiat_p384_uint1 x414;
+ fiat_p384_addcarryx_u64(&x413, &x414, x412, x393, x396);
+ uint64_t x415;
+ fiat_p384_uint1 x416;
+ fiat_p384_addcarryx_u64(&x415, &x416, x414, 0x0, x394);
+ uint64_t x417;
+ fiat_p384_uint1 x418;
+ fiat_p384_addcarryx_u64(&x417, &x418, 0x0, x403, x379);
+ uint64_t x419;
+ fiat_p384_uint1 x420;
+ fiat_p384_addcarryx_u64(&x419, &x420, x418, x405, x381);
+ uint64_t x421;
+ fiat_p384_uint1 x422;
+ fiat_p384_addcarryx_u64(&x421, &x422, x420, x407, x383);
+ uint64_t x423;
+ fiat_p384_uint1 x424;
+ fiat_p384_addcarryx_u64(&x423, &x424, x422, x409, x385);
+ uint64_t x425;
+ fiat_p384_uint1 x426;
+ fiat_p384_addcarryx_u64(&x425, &x426, x424, x411, x387);
+ uint64_t x427;
+ fiat_p384_uint1 x428;
+ fiat_p384_addcarryx_u64(&x427, &x428, x426, x413, x389);
+ uint64_t x429;
+ fiat_p384_uint1 x430;
+ fiat_p384_addcarryx_u64(&x429, &x430, x428, x415, x391);
+ uint64_t x431;
+ uint64_t x432;
+ fiat_p384_mulx_u64(&x431, &x432, x417, UINT64_C(0x100000001));
+ uint64_t x433;
+ uint64_t x434;
+ fiat_p384_mulx_u64(&x433, &x434, x431, UINT64_C(0xffffffffffffffff));
+ uint64_t x435;
+ uint64_t x436;
+ fiat_p384_mulx_u64(&x435, &x436, x431, UINT64_C(0xffffffffffffffff));
+ uint64_t x437;
+ uint64_t x438;
+ fiat_p384_mulx_u64(&x437, &x438, x431, UINT64_C(0xffffffffffffffff));
+ uint64_t x439;
+ uint64_t x440;
+ fiat_p384_mulx_u64(&x439, &x440, x431, UINT64_C(0xfffffffffffffffe));
+ uint64_t x441;
+ uint64_t x442;
+ fiat_p384_mulx_u64(&x441, &x442, x431, UINT64_C(0xffffffff00000000));
+ uint64_t x443;
+ uint64_t x444;
+ fiat_p384_mulx_u64(&x443, &x444, x431, UINT32_C(0xffffffff));
+ uint64_t x445;
+ fiat_p384_uint1 x446;
+ fiat_p384_addcarryx_u64(&x445, &x446, 0x0, x441, x444);
+ uint64_t x447;
+ fiat_p384_uint1 x448;
+ fiat_p384_addcarryx_u64(&x447, &x448, x446, x439, x442);
+ uint64_t x449;
+ fiat_p384_uint1 x450;
+ fiat_p384_addcarryx_u64(&x449, &x450, x448, x437, x440);
+ uint64_t x451;
+ fiat_p384_uint1 x452;
+ fiat_p384_addcarryx_u64(&x451, &x452, x450, x435, x438);
+ uint64_t x453;
+ fiat_p384_uint1 x454;
+ fiat_p384_addcarryx_u64(&x453, &x454, x452, x433, x436);
+ uint64_t x455;
+ fiat_p384_uint1 x456;
+ fiat_p384_addcarryx_u64(&x455, &x456, x454, 0x0, x434);
+ uint64_t x457;
+ fiat_p384_uint1 x458;
+ fiat_p384_addcarryx_u64(&x457, &x458, 0x0, x443, x417);
+ uint64_t x459;
+ fiat_p384_uint1 x460;
+ fiat_p384_addcarryx_u64(&x459, &x460, x458, x445, x419);
+ uint64_t x461;
+ fiat_p384_uint1 x462;
+ fiat_p384_addcarryx_u64(&x461, &x462, x460, x447, x421);
+ uint64_t x463;
+ fiat_p384_uint1 x464;
+ fiat_p384_addcarryx_u64(&x463, &x464, x462, x449, x423);
+ uint64_t x465;
+ fiat_p384_uint1 x466;
+ fiat_p384_addcarryx_u64(&x465, &x466, x464, x451, x425);
+ uint64_t x467;
+ fiat_p384_uint1 x468;
+ fiat_p384_addcarryx_u64(&x467, &x468, x466, x453, x427);
+ uint64_t x469;
+ fiat_p384_uint1 x470;
+ fiat_p384_addcarryx_u64(&x469, &x470, x468, x455, x429);
+ uint64_t x471;
+ fiat_p384_uint1 x472;
+ fiat_p384_addcarryx_u64(&x471, &x472, x470, 0x0, x430);
+ uint64_t x473;
+ fiat_p384_uint1 x474;
+ fiat_p384_subborrowx_u64(&x473, &x474, 0x0, x459, UINT32_C(0xffffffff));
+ uint64_t x475;
+ fiat_p384_uint1 x476;
+ fiat_p384_subborrowx_u64(&x475, &x476, x474, x461, UINT64_C(0xffffffff00000000));
+ uint64_t x477;
+ fiat_p384_uint1 x478;
+ fiat_p384_subborrowx_u64(&x477, &x478, x476, x463, UINT64_C(0xfffffffffffffffe));
+ uint64_t x479;
+ fiat_p384_uint1 x480;
+ fiat_p384_subborrowx_u64(&x479, &x480, x478, x465, UINT64_C(0xffffffffffffffff));
+ uint64_t x481;
+ fiat_p384_uint1 x482;
+ fiat_p384_subborrowx_u64(&x481, &x482, x480, x467, UINT64_C(0xffffffffffffffff));
+ uint64_t x483;
+ fiat_p384_uint1 x484;
+ fiat_p384_subborrowx_u64(&x483, &x484, x482, x469, UINT64_C(0xffffffffffffffff));
+ uint64_t x485;
+ fiat_p384_uint1 x486;
+ fiat_p384_subborrowx_u64(&x485, &x486, x484, x471, 0x0);
+ uint64_t x487;
+ fiat_p384_cmovznz_u64(&x487, x486, x473, x459);
+ uint64_t x488;
+ fiat_p384_cmovznz_u64(&x488, x486, x475, x461);
+ uint64_t x489;
+ fiat_p384_cmovznz_u64(&x489, x486, x477, x463);
+ uint64_t x490;
+ fiat_p384_cmovznz_u64(&x490, x486, x479, x465);
+ uint64_t x491;
+ fiat_p384_cmovznz_u64(&x491, x486, x481, x467);
+ uint64_t x492;
+ fiat_p384_cmovznz_u64(&x492, x486, x483, x469);
+ out1[0] = x487;
+ out1[1] = x488;
+ out1[2] = x489;
+ out1[3] = x490;
+ out1[4] = x491;
+ out1[5] = x492;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p384_square(uint64_t out1[6], const uint64_t arg1[6]) {
+ uint64_t x1 = (arg1[1]);
+ uint64_t x2 = (arg1[2]);
+ uint64_t x3 = (arg1[3]);
+ uint64_t x4 = (arg1[4]);
+ uint64_t x5 = (arg1[5]);
+ uint64_t x6 = (arg1[0]);
+ uint64_t x7;
+ uint64_t x8;
+ fiat_p384_mulx_u64(&x7, &x8, x6, (arg1[5]));
+ uint64_t x9;
+ uint64_t x10;
+ fiat_p384_mulx_u64(&x9, &x10, x6, (arg1[4]));
+ uint64_t x11;
+ uint64_t x12;
+ fiat_p384_mulx_u64(&x11, &x12, x6, (arg1[3]));
+ uint64_t x13;
+ uint64_t x14;
+ fiat_p384_mulx_u64(&x13, &x14, x6, (arg1[2]));
+ uint64_t x15;
+ uint64_t x16;
+ fiat_p384_mulx_u64(&x15, &x16, x6, (arg1[1]));
+ uint64_t x17;
+ uint64_t x18;
+ fiat_p384_mulx_u64(&x17, &x18, x6, (arg1[0]));
+ uint64_t x19;
+ fiat_p384_uint1 x20;
+ fiat_p384_addcarryx_u64(&x19, &x20, 0x0, x15, x18);
+ uint64_t x21;
+ fiat_p384_uint1 x22;
+ fiat_p384_addcarryx_u64(&x21, &x22, x20, x13, x16);
+ uint64_t x23;
+ fiat_p384_uint1 x24;
+ fiat_p384_addcarryx_u64(&x23, &x24, x22, x11, x14);
+ uint64_t x25;
+ fiat_p384_uint1 x26;
+ fiat_p384_addcarryx_u64(&x25, &x26, x24, x9, x12);
+ uint64_t x27;
+ fiat_p384_uint1 x28;
+ fiat_p384_addcarryx_u64(&x27, &x28, x26, x7, x10);
+ uint64_t x29;
+ fiat_p384_uint1 x30;
+ fiat_p384_addcarryx_u64(&x29, &x30, x28, 0x0, x8);
+ uint64_t x31;
+ uint64_t x32;
+ fiat_p384_mulx_u64(&x31, &x32, x17, UINT64_C(0x100000001));
+ uint64_t x33;
+ uint64_t x34;
+ fiat_p384_mulx_u64(&x33, &x34, x31, UINT64_C(0xffffffffffffffff));
+ uint64_t x35;
+ uint64_t x36;
+ fiat_p384_mulx_u64(&x35, &x36, x31, UINT64_C(0xffffffffffffffff));
+ uint64_t x37;
+ uint64_t x38;
+ fiat_p384_mulx_u64(&x37, &x38, x31, UINT64_C(0xffffffffffffffff));
+ uint64_t x39;
+ uint64_t x40;
+ fiat_p384_mulx_u64(&x39, &x40, x31, UINT64_C(0xfffffffffffffffe));
+ uint64_t x41;
+ uint64_t x42;
+ fiat_p384_mulx_u64(&x41, &x42, x31, UINT64_C(0xffffffff00000000));
+ uint64_t x43;
+ uint64_t x44;
+ fiat_p384_mulx_u64(&x43, &x44, x31, UINT32_C(0xffffffff));
+ uint64_t x45;
+ fiat_p384_uint1 x46;
+ fiat_p384_addcarryx_u64(&x45, &x46, 0x0, x41, x44);
+ uint64_t x47;
+ fiat_p384_uint1 x48;
+ fiat_p384_addcarryx_u64(&x47, &x48, x46, x39, x42);
+ uint64_t x49;
+ fiat_p384_uint1 x50;
+ fiat_p384_addcarryx_u64(&x49, &x50, x48, x37, x40);
+ uint64_t x51;
+ fiat_p384_uint1 x52;
+ fiat_p384_addcarryx_u64(&x51, &x52, x50, x35, x38);
+ uint64_t x53;
+ fiat_p384_uint1 x54;
+ fiat_p384_addcarryx_u64(&x53, &x54, x52, x33, x36);
+ uint64_t x55;
+ fiat_p384_uint1 x56;
+ fiat_p384_addcarryx_u64(&x55, &x56, x54, 0x0, x34);
+ uint64_t x57;
+ fiat_p384_uint1 x58;
+ fiat_p384_addcarryx_u64(&x57, &x58, 0x0, x43, x17);
+ uint64_t x59;
+ fiat_p384_uint1 x60;
+ fiat_p384_addcarryx_u64(&x59, &x60, x58, x45, x19);
+ uint64_t x61;
+ fiat_p384_uint1 x62;
+ fiat_p384_addcarryx_u64(&x61, &x62, x60, x47, x21);
+ uint64_t x63;
+ fiat_p384_uint1 x64;
+ fiat_p384_addcarryx_u64(&x63, &x64, x62, x49, x23);
+ uint64_t x65;
+ fiat_p384_uint1 x66;
+ fiat_p384_addcarryx_u64(&x65, &x66, x64, x51, x25);
+ uint64_t x67;
+ fiat_p384_uint1 x68;
+ fiat_p384_addcarryx_u64(&x67, &x68, x66, x53, x27);
+ uint64_t x69;
+ fiat_p384_uint1 x70;
+ fiat_p384_addcarryx_u64(&x69, &x70, x68, x55, x29);
+ uint64_t x71;
+ fiat_p384_uint1 x72;
+ fiat_p384_addcarryx_u64(&x71, &x72, x70, 0x0, 0x0);
+ uint64_t x73;
+ uint64_t x74;
+ fiat_p384_mulx_u64(&x73, &x74, x1, (arg1[5]));
+ uint64_t x75;
+ uint64_t x76;
+ fiat_p384_mulx_u64(&x75, &x76, x1, (arg1[4]));
+ uint64_t x77;
+ uint64_t x78;
+ fiat_p384_mulx_u64(&x77, &x78, x1, (arg1[3]));
+ uint64_t x79;
+ uint64_t x80;
+ fiat_p384_mulx_u64(&x79, &x80, x1, (arg1[2]));
+ uint64_t x81;
+ uint64_t x82;
+ fiat_p384_mulx_u64(&x81, &x82, x1, (arg1[1]));
+ uint64_t x83;
+ uint64_t x84;
+ fiat_p384_mulx_u64(&x83, &x84, x1, (arg1[0]));
+ uint64_t x85;
+ fiat_p384_uint1 x86;
+ fiat_p384_addcarryx_u64(&x85, &x86, 0x0, x81, x84);
+ uint64_t x87;
+ fiat_p384_uint1 x88;
+ fiat_p384_addcarryx_u64(&x87, &x88, x86, x79, x82);
+ uint64_t x89;
+ fiat_p384_uint1 x90;
+ fiat_p384_addcarryx_u64(&x89, &x90, x88, x77, x80);
+ uint64_t x91;
+ fiat_p384_uint1 x92;
+ fiat_p384_addcarryx_u64(&x91, &x92, x90, x75, x78);
+ uint64_t x93;
+ fiat_p384_uint1 x94;
+ fiat_p384_addcarryx_u64(&x93, &x94, x92, x73, x76);
+ uint64_t x95;
+ fiat_p384_uint1 x96;
+ fiat_p384_addcarryx_u64(&x95, &x96, x94, 0x0, x74);
+ uint64_t x97;
+ fiat_p384_uint1 x98;
+ fiat_p384_addcarryx_u64(&x97, &x98, 0x0, x83, x59);
+ uint64_t x99;
+ fiat_p384_uint1 x100;
+ fiat_p384_addcarryx_u64(&x99, &x100, x98, x85, x61);
+ uint64_t x101;
+ fiat_p384_uint1 x102;
+ fiat_p384_addcarryx_u64(&x101, &x102, x100, x87, x63);
+ uint64_t x103;
+ fiat_p384_uint1 x104;
+ fiat_p384_addcarryx_u64(&x103, &x104, x102, x89, x65);
+ uint64_t x105;
+ fiat_p384_uint1 x106;
+ fiat_p384_addcarryx_u64(&x105, &x106, x104, x91, x67);
+ uint64_t x107;
+ fiat_p384_uint1 x108;
+ fiat_p384_addcarryx_u64(&x107, &x108, x106, x93, x69);
+ uint64_t x109;
+ fiat_p384_uint1 x110;
+ fiat_p384_addcarryx_u64(&x109, &x110, x108, x95, (fiat_p384_uint1)x71);
+ uint64_t x111;
+ uint64_t x112;
+ fiat_p384_mulx_u64(&x111, &x112, x97, UINT64_C(0x100000001));
+ uint64_t x113;
+ uint64_t x114;
+ fiat_p384_mulx_u64(&x113, &x114, x111, UINT64_C(0xffffffffffffffff));
+ uint64_t x115;
+ uint64_t x116;
+ fiat_p384_mulx_u64(&x115, &x116, x111, UINT64_C(0xffffffffffffffff));
+ uint64_t x117;
+ uint64_t x118;
+ fiat_p384_mulx_u64(&x117, &x118, x111, UINT64_C(0xffffffffffffffff));
+ uint64_t x119;
+ uint64_t x120;
+ fiat_p384_mulx_u64(&x119, &x120, x111, UINT64_C(0xfffffffffffffffe));
+ uint64_t x121;
+ uint64_t x122;
+ fiat_p384_mulx_u64(&x121, &x122, x111, UINT64_C(0xffffffff00000000));
+ uint64_t x123;
+ uint64_t x124;
+ fiat_p384_mulx_u64(&x123, &x124, x111, UINT32_C(0xffffffff));
+ uint64_t x125;
+ fiat_p384_uint1 x126;
+ fiat_p384_addcarryx_u64(&x125, &x126, 0x0, x121, x124);
+ uint64_t x127;
+ fiat_p384_uint1 x128;
+ fiat_p384_addcarryx_u64(&x127, &x128, x126, x119, x122);
+ uint64_t x129;
+ fiat_p384_uint1 x130;
+ fiat_p384_addcarryx_u64(&x129, &x130, x128, x117, x120);
+ uint64_t x131;
+ fiat_p384_uint1 x132;
+ fiat_p384_addcarryx_u64(&x131, &x132, x130, x115, x118);
+ uint64_t x133;
+ fiat_p384_uint1 x134;
+ fiat_p384_addcarryx_u64(&x133, &x134, x132, x113, x116);
+ uint64_t x135;
+ fiat_p384_uint1 x136;
+ fiat_p384_addcarryx_u64(&x135, &x136, x134, 0x0, x114);
+ uint64_t x137;
+ fiat_p384_uint1 x138;
+ fiat_p384_addcarryx_u64(&x137, &x138, 0x0, x123, x97);
+ uint64_t x139;
+ fiat_p384_uint1 x140;
+ fiat_p384_addcarryx_u64(&x139, &x140, x138, x125, x99);
+ uint64_t x141;
+ fiat_p384_uint1 x142;
+ fiat_p384_addcarryx_u64(&x141, &x142, x140, x127, x101);
+ uint64_t x143;
+ fiat_p384_uint1 x144;
+ fiat_p384_addcarryx_u64(&x143, &x144, x142, x129, x103);
+ uint64_t x145;
+ fiat_p384_uint1 x146;
+ fiat_p384_addcarryx_u64(&x145, &x146, x144, x131, x105);
+ uint64_t x147;
+ fiat_p384_uint1 x148;
+ fiat_p384_addcarryx_u64(&x147, &x148, x146, x133, x107);
+ uint64_t x149;
+ fiat_p384_uint1 x150;
+ fiat_p384_addcarryx_u64(&x149, &x150, x148, x135, x109);
+ uint64_t x151;
+ fiat_p384_uint1 x152;
+ fiat_p384_addcarryx_u64(&x151, &x152, x150, 0x0, x110);
+ uint64_t x153;
+ uint64_t x154;
+ fiat_p384_mulx_u64(&x153, &x154, x2, (arg1[5]));
+ uint64_t x155;
+ uint64_t x156;
+ fiat_p384_mulx_u64(&x155, &x156, x2, (arg1[4]));
+ uint64_t x157;
+ uint64_t x158;
+ fiat_p384_mulx_u64(&x157, &x158, x2, (arg1[3]));
+ uint64_t x159;
+ uint64_t x160;
+ fiat_p384_mulx_u64(&x159, &x160, x2, (arg1[2]));
+ uint64_t x161;
+ uint64_t x162;
+ fiat_p384_mulx_u64(&x161, &x162, x2, (arg1[1]));
+ uint64_t x163;
+ uint64_t x164;
+ fiat_p384_mulx_u64(&x163, &x164, x2, (arg1[0]));
+ uint64_t x165;
+ fiat_p384_uint1 x166;
+ fiat_p384_addcarryx_u64(&x165, &x166, 0x0, x161, x164);
+ uint64_t x167;
+ fiat_p384_uint1 x168;
+ fiat_p384_addcarryx_u64(&x167, &x168, x166, x159, x162);
+ uint64_t x169;
+ fiat_p384_uint1 x170;
+ fiat_p384_addcarryx_u64(&x169, &x170, x168, x157, x160);
+ uint64_t x171;
+ fiat_p384_uint1 x172;
+ fiat_p384_addcarryx_u64(&x171, &x172, x170, x155, x158);
+ uint64_t x173;
+ fiat_p384_uint1 x174;
+ fiat_p384_addcarryx_u64(&x173, &x174, x172, x153, x156);
+ uint64_t x175;
+ fiat_p384_uint1 x176;
+ fiat_p384_addcarryx_u64(&x175, &x176, x174, 0x0, x154);
+ uint64_t x177;
+ fiat_p384_uint1 x178;
+ fiat_p384_addcarryx_u64(&x177, &x178, 0x0, x163, x139);
+ uint64_t x179;
+ fiat_p384_uint1 x180;
+ fiat_p384_addcarryx_u64(&x179, &x180, x178, x165, x141);
+ uint64_t x181;
+ fiat_p384_uint1 x182;
+ fiat_p384_addcarryx_u64(&x181, &x182, x180, x167, x143);
+ uint64_t x183;
+ fiat_p384_uint1 x184;
+ fiat_p384_addcarryx_u64(&x183, &x184, x182, x169, x145);
+ uint64_t x185;
+ fiat_p384_uint1 x186;
+ fiat_p384_addcarryx_u64(&x185, &x186, x184, x171, x147);
+ uint64_t x187;
+ fiat_p384_uint1 x188;
+ fiat_p384_addcarryx_u64(&x187, &x188, x186, x173, x149);
+ uint64_t x189;
+ fiat_p384_uint1 x190;
+ fiat_p384_addcarryx_u64(&x189, &x190, x188, x175, x151);
+ uint64_t x191;
+ uint64_t x192;
+ fiat_p384_mulx_u64(&x191, &x192, x177, UINT64_C(0x100000001));
+ uint64_t x193;
+ uint64_t x194;
+ fiat_p384_mulx_u64(&x193, &x194, x191, UINT64_C(0xffffffffffffffff));
+ uint64_t x195;
+ uint64_t x196;
+ fiat_p384_mulx_u64(&x195, &x196, x191, UINT64_C(0xffffffffffffffff));
+ uint64_t x197;
+ uint64_t x198;
+ fiat_p384_mulx_u64(&x197, &x198, x191, UINT64_C(0xffffffffffffffff));
+ uint64_t x199;
+ uint64_t x200;
+ fiat_p384_mulx_u64(&x199, &x200, x191, UINT64_C(0xfffffffffffffffe));
+ uint64_t x201;
+ uint64_t x202;
+ fiat_p384_mulx_u64(&x201, &x202, x191, UINT64_C(0xffffffff00000000));
+ uint64_t x203;
+ uint64_t x204;
+ fiat_p384_mulx_u64(&x203, &x204, x191, UINT32_C(0xffffffff));
+ uint64_t x205;
+ fiat_p384_uint1 x206;
+ fiat_p384_addcarryx_u64(&x205, &x206, 0x0, x201, x204);
+ uint64_t x207;
+ fiat_p384_uint1 x208;
+ fiat_p384_addcarryx_u64(&x207, &x208, x206, x199, x202);
+ uint64_t x209;
+ fiat_p384_uint1 x210;
+ fiat_p384_addcarryx_u64(&x209, &x210, x208, x197, x200);
+ uint64_t x211;
+ fiat_p384_uint1 x212;
+ fiat_p384_addcarryx_u64(&x211, &x212, x210, x195, x198);
+ uint64_t x213;
+ fiat_p384_uint1 x214;
+ fiat_p384_addcarryx_u64(&x213, &x214, x212, x193, x196);
+ uint64_t x215;
+ fiat_p384_uint1 x216;
+ fiat_p384_addcarryx_u64(&x215, &x216, x214, 0x0, x194);
+ uint64_t x217;
+ fiat_p384_uint1 x218;
+ fiat_p384_addcarryx_u64(&x217, &x218, 0x0, x203, x177);
+ uint64_t x219;
+ fiat_p384_uint1 x220;
+ fiat_p384_addcarryx_u64(&x219, &x220, x218, x205, x179);
+ uint64_t x221;
+ fiat_p384_uint1 x222;
+ fiat_p384_addcarryx_u64(&x221, &x222, x220, x207, x181);
+ uint64_t x223;
+ fiat_p384_uint1 x224;
+ fiat_p384_addcarryx_u64(&x223, &x224, x222, x209, x183);
+ uint64_t x225;
+ fiat_p384_uint1 x226;
+ fiat_p384_addcarryx_u64(&x225, &x226, x224, x211, x185);
+ uint64_t x227;
+ fiat_p384_uint1 x228;
+ fiat_p384_addcarryx_u64(&x227, &x228, x226, x213, x187);
+ uint64_t x229;
+ fiat_p384_uint1 x230;
+ fiat_p384_addcarryx_u64(&x229, &x230, x228, x215, x189);
+ uint64_t x231;
+ fiat_p384_uint1 x232;
+ fiat_p384_addcarryx_u64(&x231, &x232, x230, 0x0, x190);
+ uint64_t x233;
+ uint64_t x234;
+ fiat_p384_mulx_u64(&x233, &x234, x3, (arg1[5]));
+ uint64_t x235;
+ uint64_t x236;
+ fiat_p384_mulx_u64(&x235, &x236, x3, (arg1[4]));
+ uint64_t x237;
+ uint64_t x238;
+ fiat_p384_mulx_u64(&x237, &x238, x3, (arg1[3]));
+ uint64_t x239;
+ uint64_t x240;
+ fiat_p384_mulx_u64(&x239, &x240, x3, (arg1[2]));
+ uint64_t x241;
+ uint64_t x242;
+ fiat_p384_mulx_u64(&x241, &x242, x3, (arg1[1]));
+ uint64_t x243;
+ uint64_t x244;
+ fiat_p384_mulx_u64(&x243, &x244, x3, (arg1[0]));
+ uint64_t x245;
+ fiat_p384_uint1 x246;
+ fiat_p384_addcarryx_u64(&x245, &x246, 0x0, x241, x244);
+ uint64_t x247;
+ fiat_p384_uint1 x248;
+ fiat_p384_addcarryx_u64(&x247, &x248, x246, x239, x242);
+ uint64_t x249;
+ fiat_p384_uint1 x250;
+ fiat_p384_addcarryx_u64(&x249, &x250, x248, x237, x240);
+ uint64_t x251;
+ fiat_p384_uint1 x252;
+ fiat_p384_addcarryx_u64(&x251, &x252, x250, x235, x238);
+ uint64_t x253;
+ fiat_p384_uint1 x254;
+ fiat_p384_addcarryx_u64(&x253, &x254, x252, x233, x236);
+ uint64_t x255;
+ fiat_p384_uint1 x256;
+ fiat_p384_addcarryx_u64(&x255, &x256, x254, 0x0, x234);
+ uint64_t x257;
+ fiat_p384_uint1 x258;
+ fiat_p384_addcarryx_u64(&x257, &x258, 0x0, x243, x219);
+ uint64_t x259;
+ fiat_p384_uint1 x260;
+ fiat_p384_addcarryx_u64(&x259, &x260, x258, x245, x221);
+ uint64_t x261;
+ fiat_p384_uint1 x262;
+ fiat_p384_addcarryx_u64(&x261, &x262, x260, x247, x223);
+ uint64_t x263;
+ fiat_p384_uint1 x264;
+ fiat_p384_addcarryx_u64(&x263, &x264, x262, x249, x225);
+ uint64_t x265;
+ fiat_p384_uint1 x266;
+ fiat_p384_addcarryx_u64(&x265, &x266, x264, x251, x227);
+ uint64_t x267;
+ fiat_p384_uint1 x268;
+ fiat_p384_addcarryx_u64(&x267, &x268, x266, x253, x229);
+ uint64_t x269;
+ fiat_p384_uint1 x270;
+ fiat_p384_addcarryx_u64(&x269, &x270, x268, x255, x231);
+ uint64_t x271;
+ uint64_t x272;
+ fiat_p384_mulx_u64(&x271, &x272, x257, UINT64_C(0x100000001));
+ uint64_t x273;
+ uint64_t x274;
+ fiat_p384_mulx_u64(&x273, &x274, x271, UINT64_C(0xffffffffffffffff));
+ uint64_t x275;
+ uint64_t x276;
+ fiat_p384_mulx_u64(&x275, &x276, x271, UINT64_C(0xffffffffffffffff));
+ uint64_t x277;
+ uint64_t x278;
+ fiat_p384_mulx_u64(&x277, &x278, x271, UINT64_C(0xffffffffffffffff));
+ uint64_t x279;
+ uint64_t x280;
+ fiat_p384_mulx_u64(&x279, &x280, x271, UINT64_C(0xfffffffffffffffe));
+ uint64_t x281;
+ uint64_t x282;
+ fiat_p384_mulx_u64(&x281, &x282, x271, UINT64_C(0xffffffff00000000));
+ uint64_t x283;
+ uint64_t x284;
+ fiat_p384_mulx_u64(&x283, &x284, x271, UINT32_C(0xffffffff));
+ uint64_t x285;
+ fiat_p384_uint1 x286;
+ fiat_p384_addcarryx_u64(&x285, &x286, 0x0, x281, x284);
+ uint64_t x287;
+ fiat_p384_uint1 x288;
+ fiat_p384_addcarryx_u64(&x287, &x288, x286, x279, x282);
+ uint64_t x289;
+ fiat_p384_uint1 x290;
+ fiat_p384_addcarryx_u64(&x289, &x290, x288, x277, x280);
+ uint64_t x291;
+ fiat_p384_uint1 x292;
+ fiat_p384_addcarryx_u64(&x291, &x292, x290, x275, x278);
+ uint64_t x293;
+ fiat_p384_uint1 x294;
+ fiat_p384_addcarryx_u64(&x293, &x294, x292, x273, x276);
+ uint64_t x295;
+ fiat_p384_uint1 x296;
+ fiat_p384_addcarryx_u64(&x295, &x296, x294, 0x0, x274);
+ uint64_t x297;
+ fiat_p384_uint1 x298;
+ fiat_p384_addcarryx_u64(&x297, &x298, 0x0, x283, x257);
+ uint64_t x299;
+ fiat_p384_uint1 x300;
+ fiat_p384_addcarryx_u64(&x299, &x300, x298, x285, x259);
+ uint64_t x301;
+ fiat_p384_uint1 x302;
+ fiat_p384_addcarryx_u64(&x301, &x302, x300, x287, x261);
+ uint64_t x303;
+ fiat_p384_uint1 x304;
+ fiat_p384_addcarryx_u64(&x303, &x304, x302, x289, x263);
+ uint64_t x305;
+ fiat_p384_uint1 x306;
+ fiat_p384_addcarryx_u64(&x305, &x306, x304, x291, x265);
+ uint64_t x307;
+ fiat_p384_uint1 x308;
+ fiat_p384_addcarryx_u64(&x307, &x308, x306, x293, x267);
+ uint64_t x309;
+ fiat_p384_uint1 x310;
+ fiat_p384_addcarryx_u64(&x309, &x310, x308, x295, x269);
+ uint64_t x311;
+ fiat_p384_uint1 x312;
+ fiat_p384_addcarryx_u64(&x311, &x312, x310, 0x0, x270);
+ uint64_t x313;
+ uint64_t x314;
+ fiat_p384_mulx_u64(&x313, &x314, x4, (arg1[5]));
+ uint64_t x315;
+ uint64_t x316;
+ fiat_p384_mulx_u64(&x315, &x316, x4, (arg1[4]));
+ uint64_t x317;
+ uint64_t x318;
+ fiat_p384_mulx_u64(&x317, &x318, x4, (arg1[3]));
+ uint64_t x319;
+ uint64_t x320;
+ fiat_p384_mulx_u64(&x319, &x320, x4, (arg1[2]));
+ uint64_t x321;
+ uint64_t x322;
+ fiat_p384_mulx_u64(&x321, &x322, x4, (arg1[1]));
+ uint64_t x323;
+ uint64_t x324;
+ fiat_p384_mulx_u64(&x323, &x324, x4, (arg1[0]));
+ uint64_t x325;
+ fiat_p384_uint1 x326;
+ fiat_p384_addcarryx_u64(&x325, &x326, 0x0, x321, x324);
+ uint64_t x327;
+ fiat_p384_uint1 x328;
+ fiat_p384_addcarryx_u64(&x327, &x328, x326, x319, x322);
+ uint64_t x329;
+ fiat_p384_uint1 x330;
+ fiat_p384_addcarryx_u64(&x329, &x330, x328, x317, x320);
+ uint64_t x331;
+ fiat_p384_uint1 x332;
+ fiat_p384_addcarryx_u64(&x331, &x332, x330, x315, x318);
+ uint64_t x333;
+ fiat_p384_uint1 x334;
+ fiat_p384_addcarryx_u64(&x333, &x334, x332, x313, x316);
+ uint64_t x335;
+ fiat_p384_uint1 x336;
+ fiat_p384_addcarryx_u64(&x335, &x336, x334, 0x0, x314);
+ uint64_t x337;
+ fiat_p384_uint1 x338;
+ fiat_p384_addcarryx_u64(&x337, &x338, 0x0, x323, x299);
+ uint64_t x339;
+ fiat_p384_uint1 x340;
+ fiat_p384_addcarryx_u64(&x339, &x340, x338, x325, x301);
+ uint64_t x341;
+ fiat_p384_uint1 x342;
+ fiat_p384_addcarryx_u64(&x341, &x342, x340, x327, x303);
+ uint64_t x343;
+ fiat_p384_uint1 x344;
+ fiat_p384_addcarryx_u64(&x343, &x344, x342, x329, x305);
+ uint64_t x345;
+ fiat_p384_uint1 x346;
+ fiat_p384_addcarryx_u64(&x345, &x346, x344, x331, x307);
+ uint64_t x347;
+ fiat_p384_uint1 x348;
+ fiat_p384_addcarryx_u64(&x347, &x348, x346, x333, x309);
+ uint64_t x349;
+ fiat_p384_uint1 x350;
+ fiat_p384_addcarryx_u64(&x349, &x350, x348, x335, x311);
+ uint64_t x351;
+ uint64_t x352;
+ fiat_p384_mulx_u64(&x351, &x352, x337, UINT64_C(0x100000001));
+ uint64_t x353;
+ uint64_t x354;
+ fiat_p384_mulx_u64(&x353, &x354, x351, UINT64_C(0xffffffffffffffff));
+ uint64_t x355;
+ uint64_t x356;
+ fiat_p384_mulx_u64(&x355, &x356, x351, UINT64_C(0xffffffffffffffff));
+ uint64_t x357;
+ uint64_t x358;
+ fiat_p384_mulx_u64(&x357, &x358, x351, UINT64_C(0xffffffffffffffff));
+ uint64_t x359;
+ uint64_t x360;
+ fiat_p384_mulx_u64(&x359, &x360, x351, UINT64_C(0xfffffffffffffffe));
+ uint64_t x361;
+ uint64_t x362;
+ fiat_p384_mulx_u64(&x361, &x362, x351, UINT64_C(0xffffffff00000000));
+ uint64_t x363;
+ uint64_t x364;
+ fiat_p384_mulx_u64(&x363, &x364, x351, UINT32_C(0xffffffff));
+ uint64_t x365;
+ fiat_p384_uint1 x366;
+ fiat_p384_addcarryx_u64(&x365, &x366, 0x0, x361, x364);
+ uint64_t x367;
+ fiat_p384_uint1 x368;
+ fiat_p384_addcarryx_u64(&x367, &x368, x366, x359, x362);
+ uint64_t x369;
+ fiat_p384_uint1 x370;
+ fiat_p384_addcarryx_u64(&x369, &x370, x368, x357, x360);
+ uint64_t x371;
+ fiat_p384_uint1 x372;
+ fiat_p384_addcarryx_u64(&x371, &x372, x370, x355, x358);
+ uint64_t x373;
+ fiat_p384_uint1 x374;
+ fiat_p384_addcarryx_u64(&x373, &x374, x372, x353, x356);
+ uint64_t x375;
+ fiat_p384_uint1 x376;
+ fiat_p384_addcarryx_u64(&x375, &x376, x374, 0x0, x354);
+ uint64_t x377;
+ fiat_p384_uint1 x378;
+ fiat_p384_addcarryx_u64(&x377, &x378, 0x0, x363, x337);
+ uint64_t x379;
+ fiat_p384_uint1 x380;
+ fiat_p384_addcarryx_u64(&x379, &x380, x378, x365, x339);
+ uint64_t x381;
+ fiat_p384_uint1 x382;
+ fiat_p384_addcarryx_u64(&x381, &x382, x380, x367, x341);
+ uint64_t x383;
+ fiat_p384_uint1 x384;
+ fiat_p384_addcarryx_u64(&x383, &x384, x382, x369, x343);
+ uint64_t x385;
+ fiat_p384_uint1 x386;
+ fiat_p384_addcarryx_u64(&x385, &x386, x384, x371, x345);
+ uint64_t x387;
+ fiat_p384_uint1 x388;
+ fiat_p384_addcarryx_u64(&x387, &x388, x386, x373, x347);
+ uint64_t x389;
+ fiat_p384_uint1 x390;
+ fiat_p384_addcarryx_u64(&x389, &x390, x388, x375, x349);
+ uint64_t x391;
+ fiat_p384_uint1 x392;
+ fiat_p384_addcarryx_u64(&x391, &x392, x390, 0x0, x350);
+ uint64_t x393;
+ uint64_t x394;
+ fiat_p384_mulx_u64(&x393, &x394, x5, (arg1[5]));
+ uint64_t x395;
+ uint64_t x396;
+ fiat_p384_mulx_u64(&x395, &x396, x5, (arg1[4]));
+ uint64_t x397;
+ uint64_t x398;
+ fiat_p384_mulx_u64(&x397, &x398, x5, (arg1[3]));
+ uint64_t x399;
+ uint64_t x400;
+ fiat_p384_mulx_u64(&x399, &x400, x5, (arg1[2]));
+ uint64_t x401;
+ uint64_t x402;
+ fiat_p384_mulx_u64(&x401, &x402, x5, (arg1[1]));
+ uint64_t x403;
+ uint64_t x404;
+ fiat_p384_mulx_u64(&x403, &x404, x5, (arg1[0]));
+ uint64_t x405;
+ fiat_p384_uint1 x406;
+ fiat_p384_addcarryx_u64(&x405, &x406, 0x0, x401, x404);
+ uint64_t x407;
+ fiat_p384_uint1 x408;
+ fiat_p384_addcarryx_u64(&x407, &x408, x406, x399, x402);
+ uint64_t x409;
+ fiat_p384_uint1 x410;
+ fiat_p384_addcarryx_u64(&x409, &x410, x408, x397, x400);
+ uint64_t x411;
+ fiat_p384_uint1 x412;
+ fiat_p384_addcarryx_u64(&x411, &x412, x410, x395, x398);
+ uint64_t x413;
+ fiat_p384_uint1 x414;
+ fiat_p384_addcarryx_u64(&x413, &x414, x412, x393, x396);
+ uint64_t x415;
+ fiat_p384_uint1 x416;
+ fiat_p384_addcarryx_u64(&x415, &x416, x414, 0x0, x394);
+ uint64_t x417;
+ fiat_p384_uint1 x418;
+ fiat_p384_addcarryx_u64(&x417, &x418, 0x0, x403, x379);
+ uint64_t x419;
+ fiat_p384_uint1 x420;
+ fiat_p384_addcarryx_u64(&x419, &x420, x418, x405, x381);
+ uint64_t x421;
+ fiat_p384_uint1 x422;
+ fiat_p384_addcarryx_u64(&x421, &x422, x420, x407, x383);
+ uint64_t x423;
+ fiat_p384_uint1 x424;
+ fiat_p384_addcarryx_u64(&x423, &x424, x422, x409, x385);
+ uint64_t x425;
+ fiat_p384_uint1 x426;
+ fiat_p384_addcarryx_u64(&x425, &x426, x424, x411, x387);
+ uint64_t x427;
+ fiat_p384_uint1 x428;
+ fiat_p384_addcarryx_u64(&x427, &x428, x426, x413, x389);
+ uint64_t x429;
+ fiat_p384_uint1 x430;
+ fiat_p384_addcarryx_u64(&x429, &x430, x428, x415, x391);
+ uint64_t x431;
+ uint64_t x432;
+ fiat_p384_mulx_u64(&x431, &x432, x417, UINT64_C(0x100000001));
+ uint64_t x433;
+ uint64_t x434;
+ fiat_p384_mulx_u64(&x433, &x434, x431, UINT64_C(0xffffffffffffffff));
+ uint64_t x435;
+ uint64_t x436;
+ fiat_p384_mulx_u64(&x435, &x436, x431, UINT64_C(0xffffffffffffffff));
+ uint64_t x437;
+ uint64_t x438;
+ fiat_p384_mulx_u64(&x437, &x438, x431, UINT64_C(0xffffffffffffffff));
+ uint64_t x439;
+ uint64_t x440;
+ fiat_p384_mulx_u64(&x439, &x440, x431, UINT64_C(0xfffffffffffffffe));
+ uint64_t x441;
+ uint64_t x442;
+ fiat_p384_mulx_u64(&x441, &x442, x431, UINT64_C(0xffffffff00000000));
+ uint64_t x443;
+ uint64_t x444;
+ fiat_p384_mulx_u64(&x443, &x444, x431, UINT32_C(0xffffffff));
+ uint64_t x445;
+ fiat_p384_uint1 x446;
+ fiat_p384_addcarryx_u64(&x445, &x446, 0x0, x441, x444);
+ uint64_t x447;
+ fiat_p384_uint1 x448;
+ fiat_p384_addcarryx_u64(&x447, &x448, x446, x439, x442);
+ uint64_t x449;
+ fiat_p384_uint1 x450;
+ fiat_p384_addcarryx_u64(&x449, &x450, x448, x437, x440);
+ uint64_t x451;
+ fiat_p384_uint1 x452;
+ fiat_p384_addcarryx_u64(&x451, &x452, x450, x435, x438);
+ uint64_t x453;
+ fiat_p384_uint1 x454;
+ fiat_p384_addcarryx_u64(&x453, &x454, x452, x433, x436);
+ uint64_t x455;
+ fiat_p384_uint1 x456;
+ fiat_p384_addcarryx_u64(&x455, &x456, x454, 0x0, x434);
+ uint64_t x457;
+ fiat_p384_uint1 x458;
+ fiat_p384_addcarryx_u64(&x457, &x458, 0x0, x443, x417);
+ uint64_t x459;
+ fiat_p384_uint1 x460;
+ fiat_p384_addcarryx_u64(&x459, &x460, x458, x445, x419);
+ uint64_t x461;
+ fiat_p384_uint1 x462;
+ fiat_p384_addcarryx_u64(&x461, &x462, x460, x447, x421);
+ uint64_t x463;
+ fiat_p384_uint1 x464;
+ fiat_p384_addcarryx_u64(&x463, &x464, x462, x449, x423);
+ uint64_t x465;
+ fiat_p384_uint1 x466;
+ fiat_p384_addcarryx_u64(&x465, &x466, x464, x451, x425);
+ uint64_t x467;
+ fiat_p384_uint1 x468;
+ fiat_p384_addcarryx_u64(&x467, &x468, x466, x453, x427);
+ uint64_t x469;
+ fiat_p384_uint1 x470;
+ fiat_p384_addcarryx_u64(&x469, &x470, x468, x455, x429);
+ uint64_t x471;
+ fiat_p384_uint1 x472;
+ fiat_p384_addcarryx_u64(&x471, &x472, x470, 0x0, x430);
+ uint64_t x473;
+ fiat_p384_uint1 x474;
+ fiat_p384_subborrowx_u64(&x473, &x474, 0x0, x459, UINT32_C(0xffffffff));
+ uint64_t x475;
+ fiat_p384_uint1 x476;
+ fiat_p384_subborrowx_u64(&x475, &x476, x474, x461, UINT64_C(0xffffffff00000000));
+ uint64_t x477;
+ fiat_p384_uint1 x478;
+ fiat_p384_subborrowx_u64(&x477, &x478, x476, x463, UINT64_C(0xfffffffffffffffe));
+ uint64_t x479;
+ fiat_p384_uint1 x480;
+ fiat_p384_subborrowx_u64(&x479, &x480, x478, x465, UINT64_C(0xffffffffffffffff));
+ uint64_t x481;
+ fiat_p384_uint1 x482;
+ fiat_p384_subborrowx_u64(&x481, &x482, x480, x467, UINT64_C(0xffffffffffffffff));
+ uint64_t x483;
+ fiat_p384_uint1 x484;
+ fiat_p384_subborrowx_u64(&x483, &x484, x482, x469, UINT64_C(0xffffffffffffffff));
+ uint64_t x485;
+ fiat_p384_uint1 x486;
+ fiat_p384_subborrowx_u64(&x485, &x486, x484, x471, 0x0);
+ uint64_t x487;
+ fiat_p384_cmovznz_u64(&x487, x486, x473, x459);
+ uint64_t x488;
+ fiat_p384_cmovznz_u64(&x488, x486, x475, x461);
+ uint64_t x489;
+ fiat_p384_cmovznz_u64(&x489, x486, x477, x463);
+ uint64_t x490;
+ fiat_p384_cmovznz_u64(&x490, x486, x479, x465);
+ uint64_t x491;
+ fiat_p384_cmovznz_u64(&x491, x486, x481, x467);
+ uint64_t x492;
+ fiat_p384_cmovznz_u64(&x492, x486, x483, x469);
+ out1[0] = x487;
+ out1[1] = x488;
+ out1[2] = x489;
+ out1[3] = x490;
+ out1[4] = x491;
+ out1[5] = x492;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p384_add(uint64_t out1[6], const uint64_t arg1[6], const uint64_t arg2[6]) {
+ uint64_t x1;
+ fiat_p384_uint1 x2;
+ fiat_p384_addcarryx_u64(&x1, &x2, 0x0, (arg2[0]), (arg1[0]));
+ uint64_t x3;
+ fiat_p384_uint1 x4;
+ fiat_p384_addcarryx_u64(&x3, &x4, x2, (arg2[1]), (arg1[1]));
+ uint64_t x5;
+ fiat_p384_uint1 x6;
+ fiat_p384_addcarryx_u64(&x5, &x6, x4, (arg2[2]), (arg1[2]));
+ uint64_t x7;
+ fiat_p384_uint1 x8;
+ fiat_p384_addcarryx_u64(&x7, &x8, x6, (arg2[3]), (arg1[3]));
+ uint64_t x9;
+ fiat_p384_uint1 x10;
+ fiat_p384_addcarryx_u64(&x9, &x10, x8, (arg2[4]), (arg1[4]));
+ uint64_t x11;
+ fiat_p384_uint1 x12;
+ fiat_p384_addcarryx_u64(&x11, &x12, x10, (arg2[5]), (arg1[5]));
+ uint64_t x13;
+ fiat_p384_uint1 x14;
+ fiat_p384_subborrowx_u64(&x13, &x14, 0x0, x1, UINT32_C(0xffffffff));
+ uint64_t x15;
+ fiat_p384_uint1 x16;
+ fiat_p384_subborrowx_u64(&x15, &x16, x14, x3, UINT64_C(0xffffffff00000000));
+ uint64_t x17;
+ fiat_p384_uint1 x18;
+ fiat_p384_subborrowx_u64(&x17, &x18, x16, x5, UINT64_C(0xfffffffffffffffe));
+ uint64_t x19;
+ fiat_p384_uint1 x20;
+ fiat_p384_subborrowx_u64(&x19, &x20, x18, x7, UINT64_C(0xffffffffffffffff));
+ uint64_t x21;
+ fiat_p384_uint1 x22;
+ fiat_p384_subborrowx_u64(&x21, &x22, x20, x9, UINT64_C(0xffffffffffffffff));
+ uint64_t x23;
+ fiat_p384_uint1 x24;
+ fiat_p384_subborrowx_u64(&x23, &x24, x22, x11, UINT64_C(0xffffffffffffffff));
+ uint64_t x25;
+ fiat_p384_uint1 x26;
+ fiat_p384_subborrowx_u64(&x25, &x26, x24, x12, 0x0);
+ uint64_t x27;
+ fiat_p384_cmovznz_u64(&x27, x26, x13, x1);
+ uint64_t x28;
+ fiat_p384_cmovznz_u64(&x28, x26, x15, x3);
+ uint64_t x29;
+ fiat_p384_cmovznz_u64(&x29, x26, x17, x5);
+ uint64_t x30;
+ fiat_p384_cmovznz_u64(&x30, x26, x19, x7);
+ uint64_t x31;
+ fiat_p384_cmovznz_u64(&x31, x26, x21, x9);
+ uint64_t x32;
+ fiat_p384_cmovznz_u64(&x32, x26, x23, x11);
+ out1[0] = x27;
+ out1[1] = x28;
+ out1[2] = x29;
+ out1[3] = x30;
+ out1[4] = x31;
+ out1[5] = x32;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p384_sub(uint64_t out1[6], const uint64_t arg1[6], const uint64_t arg2[6]) {
+ uint64_t x1;
+ fiat_p384_uint1 x2;
+ fiat_p384_subborrowx_u64(&x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+ uint64_t x3;
+ fiat_p384_uint1 x4;
+ fiat_p384_subborrowx_u64(&x3, &x4, x2, (arg1[1]), (arg2[1]));
+ uint64_t x5;
+ fiat_p384_uint1 x6;
+ fiat_p384_subborrowx_u64(&x5, &x6, x4, (arg1[2]), (arg2[2]));
+ uint64_t x7;
+ fiat_p384_uint1 x8;
+ fiat_p384_subborrowx_u64(&x7, &x8, x6, (arg1[3]), (arg2[3]));
+ uint64_t x9;
+ fiat_p384_uint1 x10;
+ fiat_p384_subborrowx_u64(&x9, &x10, x8, (arg1[4]), (arg2[4]));
+ uint64_t x11;
+ fiat_p384_uint1 x12;
+ fiat_p384_subborrowx_u64(&x11, &x12, x10, (arg1[5]), (arg2[5]));
+ uint64_t x13;
+ fiat_p384_cmovznz_u64(&x13, x12, 0x0, UINT64_C(0xffffffffffffffff));
+ uint64_t x14;
+ fiat_p384_uint1 x15;
+ fiat_p384_addcarryx_u64(&x14, &x15, 0x0, (x13 & UINT32_C(0xffffffff)), x1);
+ uint64_t x16;
+ fiat_p384_uint1 x17;
+ fiat_p384_addcarryx_u64(&x16, &x17, x15, (x13 & UINT64_C(0xffffffff00000000)), x3);
+ uint64_t x18;
+ fiat_p384_uint1 x19;
+ fiat_p384_addcarryx_u64(&x18, &x19, x17, (x13 & UINT64_C(0xfffffffffffffffe)), x5);
+ uint64_t x20;
+ fiat_p384_uint1 x21;
+ fiat_p384_addcarryx_u64(&x20, &x21, x19, (x13 & UINT64_C(0xffffffffffffffff)), x7);
+ uint64_t x22;
+ fiat_p384_uint1 x23;
+ fiat_p384_addcarryx_u64(&x22, &x23, x21, (x13 & UINT64_C(0xffffffffffffffff)), x9);
+ uint64_t x24;
+ fiat_p384_uint1 x25;
+ fiat_p384_addcarryx_u64(&x24, &x25, x23, (x13 & UINT64_C(0xffffffffffffffff)), x11);
+ out1[0] = x14;
+ out1[1] = x16;
+ out1[2] = x18;
+ out1[3] = x20;
+ out1[4] = x22;
+ out1[5] = x24;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p384_opp(uint64_t out1[6], const uint64_t arg1[6]) {
+ uint64_t x1;
+ fiat_p384_uint1 x2;
+ fiat_p384_subborrowx_u64(&x1, &x2, 0x0, 0x0, (arg1[0]));
+ uint64_t x3;
+ fiat_p384_uint1 x4;
+ fiat_p384_subborrowx_u64(&x3, &x4, x2, 0x0, (arg1[1]));
+ uint64_t x5;
+ fiat_p384_uint1 x6;
+ fiat_p384_subborrowx_u64(&x5, &x6, x4, 0x0, (arg1[2]));
+ uint64_t x7;
+ fiat_p384_uint1 x8;
+ fiat_p384_subborrowx_u64(&x7, &x8, x6, 0x0, (arg1[3]));
+ uint64_t x9;
+ fiat_p384_uint1 x10;
+ fiat_p384_subborrowx_u64(&x9, &x10, x8, 0x0, (arg1[4]));
+ uint64_t x11;
+ fiat_p384_uint1 x12;
+ fiat_p384_subborrowx_u64(&x11, &x12, x10, 0x0, (arg1[5]));
+ uint64_t x13;
+ fiat_p384_cmovznz_u64(&x13, x12, 0x0, UINT64_C(0xffffffffffffffff));
+ uint64_t x14;
+ fiat_p384_uint1 x15;
+ fiat_p384_addcarryx_u64(&x14, &x15, 0x0, (x13 & UINT32_C(0xffffffff)), x1);
+ uint64_t x16;
+ fiat_p384_uint1 x17;
+ fiat_p384_addcarryx_u64(&x16, &x17, x15, (x13 & UINT64_C(0xffffffff00000000)), x3);
+ uint64_t x18;
+ fiat_p384_uint1 x19;
+ fiat_p384_addcarryx_u64(&x18, &x19, x17, (x13 & UINT64_C(0xfffffffffffffffe)), x5);
+ uint64_t x20;
+ fiat_p384_uint1 x21;
+ fiat_p384_addcarryx_u64(&x20, &x21, x19, (x13 & UINT64_C(0xffffffffffffffff)), x7);
+ uint64_t x22;
+ fiat_p384_uint1 x23;
+ fiat_p384_addcarryx_u64(&x22, &x23, x21, (x13 & UINT64_C(0xffffffffffffffff)), x9);
+ uint64_t x24;
+ fiat_p384_uint1 x25;
+ fiat_p384_addcarryx_u64(&x24, &x25, x23, (x13 & UINT64_C(0xffffffffffffffff)), x11);
+ out1[0] = x14;
+ out1[1] = x16;
+ out1[2] = x18;
+ out1[3] = x20;
+ out1[4] = x22;
+ out1[5] = x24;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p384_from_montgomery(uint64_t out1[6], const uint64_t arg1[6]) {
+ uint64_t x1 = (arg1[0]);
+ uint64_t x2;
+ uint64_t x3;
+ fiat_p384_mulx_u64(&x2, &x3, x1, UINT64_C(0x100000001));
+ uint64_t x4;
+ uint64_t x5;
+ fiat_p384_mulx_u64(&x4, &x5, x2, UINT64_C(0xffffffffffffffff));
+ uint64_t x6;
+ uint64_t x7;
+ fiat_p384_mulx_u64(&x6, &x7, x2, UINT64_C(0xffffffffffffffff));
+ uint64_t x8;
+ uint64_t x9;
+ fiat_p384_mulx_u64(&x8, &x9, x2, UINT64_C(0xffffffffffffffff));
+ uint64_t x10;
+ uint64_t x11;
+ fiat_p384_mulx_u64(&x10, &x11, x2, UINT64_C(0xfffffffffffffffe));
+ uint64_t x12;
+ uint64_t x13;
+ fiat_p384_mulx_u64(&x12, &x13, x2, UINT64_C(0xffffffff00000000));
+ uint64_t x14;
+ uint64_t x15;
+ fiat_p384_mulx_u64(&x14, &x15, x2, UINT32_C(0xffffffff));
+ uint64_t x16;
+ fiat_p384_uint1 x17;
+ fiat_p384_addcarryx_u64(&x16, &x17, 0x0, x12, x15);
+ uint64_t x18;
+ fiat_p384_uint1 x19;
+ fiat_p384_addcarryx_u64(&x18, &x19, x17, x10, x13);
+ uint64_t x20;
+ fiat_p384_uint1 x21;
+ fiat_p384_addcarryx_u64(&x20, &x21, x19, x8, x11);
+ uint64_t x22;
+ fiat_p384_uint1 x23;
+ fiat_p384_addcarryx_u64(&x22, &x23, x21, x6, x9);
+ uint64_t x24;
+ fiat_p384_uint1 x25;
+ fiat_p384_addcarryx_u64(&x24, &x25, x23, x4, x7);
+ uint64_t x26;
+ fiat_p384_uint1 x27;
+ fiat_p384_addcarryx_u64(&x26, &x27, 0x0, x14, x1);
+ uint64_t x28;
+ fiat_p384_uint1 x29;
+ fiat_p384_addcarryx_u64(&x28, &x29, x27, x16, 0x0);
+ uint64_t x30;
+ fiat_p384_uint1 x31;
+ fiat_p384_addcarryx_u64(&x30, &x31, x29, x18, 0x0);
+ uint64_t x32;
+ fiat_p384_uint1 x33;
+ fiat_p384_addcarryx_u64(&x32, &x33, x31, x20, 0x0);
+ uint64_t x34;
+ fiat_p384_uint1 x35;
+ fiat_p384_addcarryx_u64(&x34, &x35, x33, x22, 0x0);
+ uint64_t x36;
+ fiat_p384_uint1 x37;
+ fiat_p384_addcarryx_u64(&x36, &x37, x35, x24, 0x0);
+ uint64_t x38;
+ fiat_p384_uint1 x39;
+ fiat_p384_addcarryx_u64(&x38, &x39, x25, 0x0, x5);
+ uint64_t x40;
+ fiat_p384_uint1 x41;
+ fiat_p384_addcarryx_u64(&x40, &x41, x37, x38, 0x0);
+ uint64_t x42;
+ fiat_p384_uint1 x43;
+ fiat_p384_addcarryx_u64(&x42, &x43, 0x0, (arg1[1]), x28);
+ uint64_t x44;
+ fiat_p384_uint1 x45;
+ fiat_p384_addcarryx_u64(&x44, &x45, x43, 0x0, x30);
+ uint64_t x46;
+ fiat_p384_uint1 x47;
+ fiat_p384_addcarryx_u64(&x46, &x47, x45, 0x0, x32);
+ uint64_t x48;
+ fiat_p384_uint1 x49;
+ fiat_p384_addcarryx_u64(&x48, &x49, x47, 0x0, x34);
+ uint64_t x50;
+ fiat_p384_uint1 x51;
+ fiat_p384_addcarryx_u64(&x50, &x51, x49, 0x0, x36);
+ uint64_t x52;
+ 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 x56;
+ fiat_p384_uint1 x57;
+ fiat_p384_addcarryx_u64(&x56, &x57, x53, 0x0, (fiat_p384_uint1)x54);
+ uint64_t x58;
+ uint64_t x59;
+ fiat_p384_mulx_u64(&x58, &x59, x42, UINT64_C(0x100000001));
+ uint64_t x60;
+ uint64_t x61;
+ fiat_p384_mulx_u64(&x60, &x61, x58, UINT64_C(0xffffffffffffffff));
+ uint64_t x62;
+ uint64_t x63;
+ fiat_p384_mulx_u64(&x62, &x63, x58, UINT64_C(0xffffffffffffffff));
+ uint64_t x64;
+ uint64_t x65;
+ fiat_p384_mulx_u64(&x64, &x65, x58, UINT64_C(0xffffffffffffffff));
+ uint64_t x66;
+ uint64_t x67;
+ fiat_p384_mulx_u64(&x66, &x67, x58, UINT64_C(0xfffffffffffffffe));
+ uint64_t x68;
+ uint64_t x69;
+ fiat_p384_mulx_u64(&x68, &x69, x58, UINT64_C(0xffffffff00000000));
+ uint64_t x70;
+ uint64_t x71;
+ fiat_p384_mulx_u64(&x70, &x71, x58, UINT32_C(0xffffffff));
+ uint64_t x72;
+ fiat_p384_uint1 x73;
+ fiat_p384_addcarryx_u64(&x72, &x73, 0x0, x68, x71);
+ uint64_t x74;
+ fiat_p384_uint1 x75;
+ fiat_p384_addcarryx_u64(&x74, &x75, x73, x66, x69);
+ uint64_t x76;
+ fiat_p384_uint1 x77;
+ fiat_p384_addcarryx_u64(&x76, &x77, x75, x64, x67);
+ uint64_t x78;
+ fiat_p384_uint1 x79;
+ fiat_p384_addcarryx_u64(&x78, &x79, x77, x62, x65);
+ uint64_t x80;
+ fiat_p384_uint1 x81;
+ fiat_p384_addcarryx_u64(&x80, &x81, x79, x60, x63);
+ uint64_t x82;
+ fiat_p384_uint1 x83;
+ fiat_p384_addcarryx_u64(&x82, &x83, 0x0, x70, x42);
+ uint64_t x84;
+ fiat_p384_uint1 x85;
+ fiat_p384_addcarryx_u64(&x84, &x85, x83, x72, x44);
+ uint64_t x86;
+ fiat_p384_uint1 x87;
+ fiat_p384_addcarryx_u64(&x86, &x87, x85, x74, x46);
+ uint64_t x88;
+ fiat_p384_uint1 x89;
+ fiat_p384_addcarryx_u64(&x88, &x89, x87, x76, x48);
+ uint64_t x90;
+ fiat_p384_uint1 x91;
+ fiat_p384_addcarryx_u64(&x90, &x91, x89, x78, x50);
+ uint64_t x92;
+ fiat_p384_uint1 x93;
+ fiat_p384_addcarryx_u64(&x92, &x93, x91, x80, x52);
+ uint64_t x94;
+ fiat_p384_uint1 x95;
+ fiat_p384_addcarryx_u64(&x94, &x95, x81, 0x0, x61);
+ uint64_t x96;
+ fiat_p384_uint1 x97;
+ fiat_p384_addcarryx_u64(&x96, &x97, x93, x94, x56);
+ uint64_t x98;
+ fiat_p384_uint1 x99;
+ fiat_p384_addcarryx_u64(&x98, &x99, 0x0, (arg1[2]), x84);
+ uint64_t x100;
+ fiat_p384_uint1 x101;
+ fiat_p384_addcarryx_u64(&x100, &x101, x99, 0x0, x86);
+ uint64_t x102;
+ fiat_p384_uint1 x103;
+ fiat_p384_addcarryx_u64(&x102, &x103, x101, 0x0, x88);
+ uint64_t x104;
+ fiat_p384_uint1 x105;
+ fiat_p384_addcarryx_u64(&x104, &x105, x103, 0x0, x90);
+ uint64_t x106;
+ fiat_p384_uint1 x107;
+ fiat_p384_addcarryx_u64(&x106, &x107, x105, 0x0, x92);
+ 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 x112;
+ fiat_p384_uint1 x113;
+ fiat_p384_addcarryx_u64(&x112, &x113, x109, 0x0, (fiat_p384_uint1)x110);
+ uint64_t x114;
+ uint64_t x115;
+ fiat_p384_mulx_u64(&x114, &x115, x98, UINT64_C(0x100000001));
+ uint64_t x116;
+ uint64_t x117;
+ fiat_p384_mulx_u64(&x116, &x117, x114, UINT64_C(0xffffffffffffffff));
+ uint64_t x118;
+ uint64_t x119;
+ fiat_p384_mulx_u64(&x118, &x119, x114, UINT64_C(0xffffffffffffffff));
+ uint64_t x120;
+ uint64_t x121;
+ fiat_p384_mulx_u64(&x120, &x121, x114, UINT64_C(0xffffffffffffffff));
+ uint64_t x122;
+ uint64_t x123;
+ fiat_p384_mulx_u64(&x122, &x123, x114, UINT64_C(0xfffffffffffffffe));
+ uint64_t x124;
+ uint64_t x125;
+ fiat_p384_mulx_u64(&x124, &x125, x114, UINT64_C(0xffffffff00000000));
+ uint64_t x126;
+ uint64_t x127;
+ fiat_p384_mulx_u64(&x126, &x127, x114, UINT32_C(0xffffffff));
+ uint64_t x128;
+ fiat_p384_uint1 x129;
+ fiat_p384_addcarryx_u64(&x128, &x129, 0x0, x124, x127);
+ uint64_t x130;
+ fiat_p384_uint1 x131;
+ fiat_p384_addcarryx_u64(&x130, &x131, x129, x122, x125);
+ uint64_t x132;
+ fiat_p384_uint1 x133;
+ fiat_p384_addcarryx_u64(&x132, &x133, x131, x120, x123);
+ uint64_t x134;
+ fiat_p384_uint1 x135;
+ fiat_p384_addcarryx_u64(&x134, &x135, x133, x118, x121);
+ uint64_t x136;
+ fiat_p384_uint1 x137;
+ fiat_p384_addcarryx_u64(&x136, &x137, x135, x116, x119);
+ uint64_t x138;
+ fiat_p384_uint1 x139;
+ fiat_p384_addcarryx_u64(&x138, &x139, 0x0, x126, x98);
+ uint64_t x140;
+ fiat_p384_uint1 x141;
+ fiat_p384_addcarryx_u64(&x140, &x141, x139, x128, x100);
+ uint64_t x142;
+ fiat_p384_uint1 x143;
+ fiat_p384_addcarryx_u64(&x142, &x143, x141, x130, x102);
+ uint64_t x144;
+ fiat_p384_uint1 x145;
+ fiat_p384_addcarryx_u64(&x144, &x145, x143, x132, x104);
+ uint64_t x146;
+ fiat_p384_uint1 x147;
+ fiat_p384_addcarryx_u64(&x146, &x147, x145, x134, x106);
+ uint64_t x148;
+ fiat_p384_uint1 x149;
+ fiat_p384_addcarryx_u64(&x148, &x149, x147, x136, x108);
+ uint64_t x150;
+ fiat_p384_uint1 x151;
+ fiat_p384_addcarryx_u64(&x150, &x151, x137, 0x0, x117);
+ uint64_t x152;
+ fiat_p384_uint1 x153;
+ fiat_p384_addcarryx_u64(&x152, &x153, x149, x150, x112);
+ uint64_t x154;
+ fiat_p384_uint1 x155;
+ fiat_p384_addcarryx_u64(&x154, &x155, 0x0, (arg1[3]), x140);
+ uint64_t x156;
+ fiat_p384_uint1 x157;
+ fiat_p384_addcarryx_u64(&x156, &x157, x155, 0x0, x142);
+ uint64_t x158;
+ fiat_p384_uint1 x159;
+ fiat_p384_addcarryx_u64(&x158, &x159, x157, 0x0, x144);
+ uint64_t x160;
+ fiat_p384_uint1 x161;
+ fiat_p384_addcarryx_u64(&x160, &x161, x159, 0x0, x146);
+ uint64_t x162;
+ fiat_p384_uint1 x163;
+ fiat_p384_addcarryx_u64(&x162, &x163, x161, 0x0, x148);
+ 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 x168;
+ fiat_p384_uint1 x169;
+ fiat_p384_addcarryx_u64(&x168, &x169, x165, 0x0, (fiat_p384_uint1)x166);
+ uint64_t x170;
+ uint64_t x171;
+ fiat_p384_mulx_u64(&x170, &x171, x154, UINT64_C(0x100000001));
+ uint64_t x172;
+ uint64_t x173;
+ fiat_p384_mulx_u64(&x172, &x173, x170, UINT64_C(0xffffffffffffffff));
+ uint64_t x174;
+ uint64_t x175;
+ fiat_p384_mulx_u64(&x174, &x175, x170, UINT64_C(0xffffffffffffffff));
+ uint64_t x176;
+ uint64_t x177;
+ fiat_p384_mulx_u64(&x176, &x177, x170, UINT64_C(0xffffffffffffffff));
+ uint64_t x178;
+ uint64_t x179;
+ fiat_p384_mulx_u64(&x178, &x179, x170, UINT64_C(0xfffffffffffffffe));
+ uint64_t x180;
+ uint64_t x181;
+ fiat_p384_mulx_u64(&x180, &x181, x170, UINT64_C(0xffffffff00000000));
+ uint64_t x182;
+ uint64_t x183;
+ fiat_p384_mulx_u64(&x182, &x183, x170, UINT32_C(0xffffffff));
+ uint64_t x184;
+ fiat_p384_uint1 x185;
+ fiat_p384_addcarryx_u64(&x184, &x185, 0x0, x180, x183);
+ uint64_t x186;
+ fiat_p384_uint1 x187;
+ fiat_p384_addcarryx_u64(&x186, &x187, x185, x178, x181);
+ uint64_t x188;
+ fiat_p384_uint1 x189;
+ fiat_p384_addcarryx_u64(&x188, &x189, x187, x176, x179);
+ uint64_t x190;
+ fiat_p384_uint1 x191;
+ fiat_p384_addcarryx_u64(&x190, &x191, x189, x174, x177);
+ uint64_t x192;
+ fiat_p384_uint1 x193;
+ fiat_p384_addcarryx_u64(&x192, &x193, x191, x172, x175);
+ uint64_t x194;
+ fiat_p384_uint1 x195;
+ fiat_p384_addcarryx_u64(&x194, &x195, 0x0, x182, x154);
+ uint64_t x196;
+ fiat_p384_uint1 x197;
+ fiat_p384_addcarryx_u64(&x196, &x197, x195, x184, x156);
+ uint64_t x198;
+ fiat_p384_uint1 x199;
+ fiat_p384_addcarryx_u64(&x198, &x199, x197, x186, x158);
+ uint64_t x200;
+ fiat_p384_uint1 x201;
+ fiat_p384_addcarryx_u64(&x200, &x201, x199, x188, x160);
+ uint64_t x202;
+ fiat_p384_uint1 x203;
+ fiat_p384_addcarryx_u64(&x202, &x203, x201, x190, x162);
+ uint64_t x204;
+ fiat_p384_uint1 x205;
+ fiat_p384_addcarryx_u64(&x204, &x205, x203, x192, x164);
+ uint64_t x206;
+ fiat_p384_uint1 x207;
+ fiat_p384_addcarryx_u64(&x206, &x207, x193, 0x0, x173);
+ uint64_t x208;
+ fiat_p384_uint1 x209;
+ fiat_p384_addcarryx_u64(&x208, &x209, x205, x206, x168);
+ uint64_t x210;
+ fiat_p384_uint1 x211;
+ fiat_p384_addcarryx_u64(&x210, &x211, 0x0, (arg1[4]), x196);
+ uint64_t x212;
+ fiat_p384_uint1 x213;
+ fiat_p384_addcarryx_u64(&x212, &x213, x211, 0x0, x198);
+ uint64_t x214;
+ fiat_p384_uint1 x215;
+ fiat_p384_addcarryx_u64(&x214, &x215, x213, 0x0, x200);
+ uint64_t x216;
+ fiat_p384_uint1 x217;
+ fiat_p384_addcarryx_u64(&x216, &x217, x215, 0x0, x202);
+ uint64_t x218;
+ fiat_p384_uint1 x219;
+ fiat_p384_addcarryx_u64(&x218, &x219, x217, 0x0, x204);
+ 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 x224;
+ fiat_p384_uint1 x225;
+ fiat_p384_addcarryx_u64(&x224, &x225, x221, 0x0, (fiat_p384_uint1)x222);
+ uint64_t x226;
+ uint64_t x227;
+ fiat_p384_mulx_u64(&x226, &x227, x210, UINT64_C(0x100000001));
+ uint64_t x228;
+ uint64_t x229;
+ fiat_p384_mulx_u64(&x228, &x229, x226, UINT64_C(0xffffffffffffffff));
+ uint64_t x230;
+ uint64_t x231;
+ fiat_p384_mulx_u64(&x230, &x231, x226, UINT64_C(0xffffffffffffffff));
+ uint64_t x232;
+ uint64_t x233;
+ fiat_p384_mulx_u64(&x232, &x233, x226, UINT64_C(0xffffffffffffffff));
+ uint64_t x234;
+ uint64_t x235;
+ fiat_p384_mulx_u64(&x234, &x235, x226, UINT64_C(0xfffffffffffffffe));
+ uint64_t x236;
+ uint64_t x237;
+ fiat_p384_mulx_u64(&x236, &x237, x226, UINT64_C(0xffffffff00000000));
+ uint64_t x238;
+ uint64_t x239;
+ fiat_p384_mulx_u64(&x238, &x239, x226, UINT32_C(0xffffffff));
+ uint64_t x240;
+ fiat_p384_uint1 x241;
+ fiat_p384_addcarryx_u64(&x240, &x241, 0x0, x236, x239);
+ uint64_t x242;
+ fiat_p384_uint1 x243;
+ fiat_p384_addcarryx_u64(&x242, &x243, x241, x234, x237);
+ uint64_t x244;
+ fiat_p384_uint1 x245;
+ fiat_p384_addcarryx_u64(&x244, &x245, x243, x232, x235);
+ uint64_t x246;
+ fiat_p384_uint1 x247;
+ fiat_p384_addcarryx_u64(&x246, &x247, x245, x230, x233);
+ uint64_t x248;
+ fiat_p384_uint1 x249;
+ fiat_p384_addcarryx_u64(&x248, &x249, x247, x228, x231);
+ uint64_t x250;
+ fiat_p384_uint1 x251;
+ fiat_p384_addcarryx_u64(&x250, &x251, 0x0, x238, x210);
+ uint64_t x252;
+ fiat_p384_uint1 x253;
+ fiat_p384_addcarryx_u64(&x252, &x253, x251, x240, x212);
+ uint64_t x254;
+ fiat_p384_uint1 x255;
+ fiat_p384_addcarryx_u64(&x254, &x255, x253, x242, x214);
+ uint64_t x256;
+ fiat_p384_uint1 x257;
+ fiat_p384_addcarryx_u64(&x256, &x257, x255, x244, x216);
+ uint64_t x258;
+ fiat_p384_uint1 x259;
+ fiat_p384_addcarryx_u64(&x258, &x259, x257, x246, x218);
+ uint64_t x260;
+ fiat_p384_uint1 x261;
+ fiat_p384_addcarryx_u64(&x260, &x261, x259, x248, x220);
+ uint64_t x262;
+ fiat_p384_uint1 x263;
+ fiat_p384_addcarryx_u64(&x262, &x263, x249, 0x0, x229);
+ uint64_t x264;
+ fiat_p384_uint1 x265;
+ fiat_p384_addcarryx_u64(&x264, &x265, x261, x262, x224);
+ uint64_t x266;
+ fiat_p384_uint1 x267;
+ fiat_p384_addcarryx_u64(&x266, &x267, 0x0, (arg1[5]), x252);
+ uint64_t x268;
+ fiat_p384_uint1 x269;
+ fiat_p384_addcarryx_u64(&x268, &x269, x267, 0x0, x254);
+ uint64_t x270;
+ fiat_p384_uint1 x271;
+ fiat_p384_addcarryx_u64(&x270, &x271, x269, 0x0, x256);
+ uint64_t x272;
+ fiat_p384_uint1 x273;
+ fiat_p384_addcarryx_u64(&x272, &x273, x271, 0x0, x258);
+ uint64_t x274;
+ fiat_p384_uint1 x275;
+ fiat_p384_addcarryx_u64(&x274, &x275, x273, 0x0, x260);
+ 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 x280;
+ fiat_p384_uint1 x281;
+ fiat_p384_addcarryx_u64(&x280, &x281, x277, 0x0, (fiat_p384_uint1)x278);
+ uint64_t x282;
+ uint64_t x283;
+ fiat_p384_mulx_u64(&x282, &x283, x266, UINT64_C(0x100000001));
+ uint64_t x284;
+ uint64_t x285;
+ fiat_p384_mulx_u64(&x284, &x285, x282, UINT64_C(0xffffffffffffffff));
+ uint64_t x286;
+ uint64_t x287;
+ fiat_p384_mulx_u64(&x286, &x287, x282, UINT64_C(0xffffffffffffffff));
+ uint64_t x288;
+ uint64_t x289;
+ fiat_p384_mulx_u64(&x288, &x289, x282, UINT64_C(0xffffffffffffffff));
+ uint64_t x290;
+ uint64_t x291;
+ fiat_p384_mulx_u64(&x290, &x291, x282, UINT64_C(0xfffffffffffffffe));
+ uint64_t x292;
+ uint64_t x293;
+ fiat_p384_mulx_u64(&x292, &x293, x282, UINT64_C(0xffffffff00000000));
+ uint64_t x294;
+ uint64_t x295;
+ fiat_p384_mulx_u64(&x294, &x295, x282, UINT32_C(0xffffffff));
+ uint64_t x296;
+ fiat_p384_uint1 x297;
+ fiat_p384_addcarryx_u64(&x296, &x297, 0x0, x292, x295);
+ uint64_t x298;
+ fiat_p384_uint1 x299;
+ fiat_p384_addcarryx_u64(&x298, &x299, x297, x290, x293);
+ uint64_t x300;
+ fiat_p384_uint1 x301;
+ fiat_p384_addcarryx_u64(&x300, &x301, x299, x288, x291);
+ uint64_t x302;
+ fiat_p384_uint1 x303;
+ fiat_p384_addcarryx_u64(&x302, &x303, x301, x286, x289);
+ uint64_t x304;
+ fiat_p384_uint1 x305;
+ fiat_p384_addcarryx_u64(&x304, &x305, x303, x284, x287);
+ uint64_t x306;
+ fiat_p384_uint1 x307;
+ fiat_p384_addcarryx_u64(&x306, &x307, 0x0, x294, x266);
+ uint64_t x308;
+ fiat_p384_uint1 x309;
+ fiat_p384_addcarryx_u64(&x308, &x309, x307, x296, x268);
+ uint64_t x310;
+ fiat_p384_uint1 x311;
+ fiat_p384_addcarryx_u64(&x310, &x311, x309, x298, x270);
+ uint64_t x312;
+ fiat_p384_uint1 x313;
+ fiat_p384_addcarryx_u64(&x312, &x313, x311, x300, x272);
+ uint64_t x314;
+ fiat_p384_uint1 x315;
+ fiat_p384_addcarryx_u64(&x314, &x315, x313, x302, x274);
+ uint64_t x316;
+ fiat_p384_uint1 x317;
+ fiat_p384_addcarryx_u64(&x316, &x317, x315, x304, x276);
+ uint64_t x318;
+ fiat_p384_uint1 x319;
+ fiat_p384_addcarryx_u64(&x318, &x319, x305, 0x0, x285);
+ uint64_t x320;
+ fiat_p384_uint1 x321;
+ fiat_p384_addcarryx_u64(&x320, &x321, x317, x318, x280);
+ uint64_t x322;
+ fiat_p384_uint1 x323;
+ fiat_p384_subborrowx_u64(&x322, &x323, 0x0, x308, UINT32_C(0xffffffff));
+ uint64_t x324;
+ fiat_p384_uint1 x325;
+ fiat_p384_subborrowx_u64(&x324, &x325, x323, x310, UINT64_C(0xffffffff00000000));
+ uint64_t x326;
+ fiat_p384_uint1 x327;
+ fiat_p384_subborrowx_u64(&x326, &x327, x325, x312, UINT64_C(0xfffffffffffffffe));
+ uint64_t x328;
+ fiat_p384_uint1 x329;
+ fiat_p384_subborrowx_u64(&x328, &x329, x327, x314, UINT64_C(0xffffffffffffffff));
+ uint64_t x330;
+ fiat_p384_uint1 x331;
+ fiat_p384_subborrowx_u64(&x330, &x331, x329, x316, 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);
+ 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);
+ uint64_t x339;
+ fiat_p384_cmovznz_u64(&x339, x337, x324, x310);
+ uint64_t x340;
+ fiat_p384_cmovznz_u64(&x340, x337, x326, x312);
+ uint64_t x341;
+ fiat_p384_cmovznz_u64(&x341, x337, x328, x314);
+ uint64_t x342;
+ fiat_p384_cmovznz_u64(&x342, x337, x330, x316);
+ uint64_t x343;
+ fiat_p384_cmovznz_u64(&x343, x337, x332, x320);
+ out1[0] = x338;
+ out1[1] = x339;
+ out1[2] = x340;
+ out1[3] = x341;
+ out1[4] = x342;
+ out1[5] = x343;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_p384_nonzero(uint64_t* out1, const uint64_t arg1[6]) {
+ uint64_t x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | ((arg1[4]) | ((arg1[5]) | (uint64_t)0x0))))));
+ *out1 = x1;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p384_selectznz(uint64_t out1[6], fiat_p384_uint1 arg1, const uint64_t arg2[6], const uint64_t arg3[6]) {
+ uint64_t x1;
+ fiat_p384_cmovznz_u64(&x1, arg1, (arg2[0]), (arg3[0]));
+ uint64_t x2;
+ fiat_p384_cmovznz_u64(&x2, arg1, (arg2[1]), (arg3[1]));
+ uint64_t x3;
+ fiat_p384_cmovznz_u64(&x3, arg1, (arg2[2]), (arg3[2]));
+ uint64_t x4;
+ fiat_p384_cmovznz_u64(&x4, arg1, (arg2[3]), (arg3[3]));
+ uint64_t x5;
+ fiat_p384_cmovznz_u64(&x5, arg1, (arg2[4]), (arg3[4]));
+ uint64_t x6;
+ fiat_p384_cmovznz_u64(&x6, arg1, (arg2[5]), (arg3[5]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
+ */
+static void fiat_p384_to_bytes(uint8_t out1[48], const uint64_t arg1[6]) {
+ uint64_t x1 = (arg1[5]);
+ uint64_t x2 = (arg1[4]);
+ uint64_t x3 = (arg1[3]);
+ uint64_t x4 = (arg1[2]);
+ uint64_t x5 = (arg1[1]);
+ uint64_t x6 = (arg1[0]);
+ uint64_t x7 = (x6 >> 8);
+ uint8_t x8 = (uint8_t)(x6 & UINT8_C(0xff));
+ uint64_t x9 = (x7 >> 8);
+ uint8_t x10 = (uint8_t)(x7 & UINT8_C(0xff));
+ uint64_t x11 = (x9 >> 8);
+ uint8_t x12 = (uint8_t)(x9 & UINT8_C(0xff));
+ uint64_t x13 = (x11 >> 8);
+ uint8_t x14 = (uint8_t)(x11 & UINT8_C(0xff));
+ uint64_t x15 = (x13 >> 8);
+ uint8_t x16 = (uint8_t)(x13 & UINT8_C(0xff));
+ uint64_t x17 = (x15 >> 8);
+ 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));
+ uint64_t x43 = (x41 >> 8);
+ uint8_t x44 = (uint8_t)(x41 & UINT8_C(0xff));
+ uint64_t x45 = (x43 >> 8);
+ uint8_t x46 = (uint8_t)(x43 & UINT8_C(0xff));
+ uint64_t x47 = (x45 >> 8);
+ 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 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));
+ 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 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 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));
+ out1[0] = x8;
+ out1[1] = x10;
+ out1[2] = x12;
+ out1[3] = x14;
+ 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;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p384_from_bytes(uint64_t out1[6], const uint8_t arg1[48]) {
+ uint64_t x1 = ((uint64_t)(arg1[47]) << 56);
+ uint64_t x2 = ((uint64_t)(arg1[46]) << 48);
+ uint64_t x3 = ((uint64_t)(arg1[45]) << 40);
+ uint64_t x4 = ((uint64_t)(arg1[44]) << 32);
+ uint64_t x5 = ((uint64_t)(arg1[43]) << 24);
+ uint64_t x6 = ((uint64_t)(arg1[42]) << 16);
+ uint64_t x7 = ((uint64_t)(arg1[41]) << 8);
+ uint8_t x8 = (arg1[40]);
+ uint64_t x9 = ((uint64_t)(arg1[39]) << 56);
+ uint64_t x10 = ((uint64_t)(arg1[38]) << 48);
+ uint64_t x11 = ((uint64_t)(arg1[37]) << 40);
+ uint64_t x12 = ((uint64_t)(arg1[36]) << 32);
+ uint64_t x13 = ((uint64_t)(arg1[35]) << 24);
+ uint64_t x14 = ((uint64_t)(arg1[34]) << 16);
+ uint64_t x15 = ((uint64_t)(arg1[33]) << 8);
+ uint8_t x16 = (arg1[32]);
+ uint64_t x17 = ((uint64_t)(arg1[31]) << 56);
+ uint64_t x18 = ((uint64_t)(arg1[30]) << 48);
+ uint64_t x19 = ((uint64_t)(arg1[29]) << 40);
+ uint64_t x20 = ((uint64_t)(arg1[28]) << 32);
+ uint64_t x21 = ((uint64_t)(arg1[27]) << 24);
+ uint64_t x22 = ((uint64_t)(arg1[26]) << 16);
+ uint64_t x23 = ((uint64_t)(arg1[25]) << 8);
+ uint8_t x24 = (arg1[24]);
+ uint64_t x25 = ((uint64_t)(arg1[23]) << 56);
+ uint64_t x26 = ((uint64_t)(arg1[22]) << 48);
+ uint64_t x27 = ((uint64_t)(arg1[21]) << 40);
+ uint64_t x28 = ((uint64_t)(arg1[20]) << 32);
+ uint64_t x29 = ((uint64_t)(arg1[19]) << 24);
+ uint64_t x30 = ((uint64_t)(arg1[18]) << 16);
+ uint64_t x31 = ((uint64_t)(arg1[17]) << 8);
+ uint8_t x32 = (arg1[16]);
+ uint64_t x33 = ((uint64_t)(arg1[15]) << 56);
+ uint64_t x34 = ((uint64_t)(arg1[14]) << 48);
+ uint64_t x35 = ((uint64_t)(arg1[13]) << 40);
+ uint64_t x36 = ((uint64_t)(arg1[12]) << 32);
+ uint64_t x37 = ((uint64_t)(arg1[11]) << 24);
+ uint64_t x38 = ((uint64_t)(arg1[10]) << 16);
+ uint64_t x39 = ((uint64_t)(arg1[9]) << 8);
+ uint8_t x40 = (arg1[8]);
+ uint64_t x41 = ((uint64_t)(arg1[7]) << 56);
+ uint64_t x42 = ((uint64_t)(arg1[6]) << 48);
+ uint64_t x43 = ((uint64_t)(arg1[5]) << 40);
+ uint64_t x44 = ((uint64_t)(arg1[4]) << 32);
+ uint64_t x45 = ((uint64_t)(arg1[3]) << 24);
+ uint64_t x46 = ((uint64_t)(arg1[2]) << 16);
+ 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;
+}
+
diff --git a/p521_32.c b/p521_32.c
new file mode 100644
index 000000000..a41c8199e
--- /dev/null
+++ b/p521_32.c
@@ -0,0 +1,1524 @@
+/* Autogenerated */
+/* curve description: p521 */
+/* requested operations: (all) */
+/* n = 17 (from "17") */
+/* s = 0x20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (from "2^521") */
+/* c = [(1, 1)] (from "1,1") */
+/* machine_wordsize = 32 (from "32") */
+
+#include <stdint.h>
+typedef unsigned char fiat_p521_uint1;
+typedef signed char fiat_p521_int1;
+typedef signed __int128 fiat_p521_int128;
+typedef unsigned __int128 fiat_p521_uint128;
+
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0x3fffffff]
+ * arg3: [0x0 ~> 0x3fffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0x3fffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p521_addcarryx_u30(uint32_t* out1, fiat_p521_uint1* out2, fiat_p521_uint1 arg1, uint32_t arg2, uint32_t arg3) {
+ uint32_t x1 = ((arg1 + arg2) + arg3);
+ uint32_t x2 = (x1 & UINT32_C(0x3fffffff));
+ fiat_p521_uint1 x3 = (fiat_p521_uint1)(x1 >> 30);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0x3fffffff]
+ * arg3: [0x0 ~> 0x3fffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0x3fffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p521_subborrowx_u30(uint32_t* out1, fiat_p521_uint1* out2, fiat_p521_uint1 arg1, uint32_t arg2, uint32_t arg3) {
+ int32_t x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
+ fiat_p521_int1 x2 = (fiat_p521_int1)((uint32_t)x1 >> 30);
+ uint32_t x3 = (x1 & UINT32_C(0x3fffffff));
+ *out1 = x3;
+ *out2 = (fiat_p521_uint1)(0x0 - x2);
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0x7fffffff]
+ * arg3: [0x0 ~> 0x7fffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0x7fffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p521_addcarryx_u31(uint32_t* out1, fiat_p521_uint1* out2, fiat_p521_uint1 arg1, uint32_t arg2, uint32_t arg3) {
+ uint32_t x1 = ((arg1 + arg2) + arg3);
+ uint32_t x2 = (x1 & UINT32_C(0x7fffffff));
+ fiat_p521_uint1 x3 = (fiat_p521_uint1)(x1 >> 31);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0x7fffffff]
+ * arg3: [0x0 ~> 0x7fffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0x7fffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p521_subborrowx_u31(uint32_t* out1, fiat_p521_uint1* out2, fiat_p521_uint1 arg1, uint32_t arg2, uint32_t arg3) {
+ int32_t x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3);
+ fiat_p521_int1 x2 = (fiat_p521_int1)((uint32_t)x1 >> 31);
+ uint32_t x3 = (x1 & UINT32_C(0x7fffffff));
+ *out1 = x3;
+ *out2 = (fiat_p521_uint1)(0x0 - x2);
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffff]
+ * arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ */
+static void fiat_p521_cmovznz_u32(uint32_t* out1, fiat_p521_uint1 arg1, uint32_t arg2, uint32_t arg3) {
+ fiat_p521_uint1 x1 = (!(!arg1));
+ uint32_t x2 = ((fiat_p521_int1)(0x0 - x1) & UINT32_C(0xffffffff));
+ uint32_t x3 = ((x2 & arg3) | (uint32_t)((uint64_t)(~x2) & arg2));
+ *out1 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332]]
+ * arg2: [[0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666]]
+ */
+static void fiat_p521_carry_mul(uint32_t out1[17], const uint64_t arg1[17], const uint64_t arg2[17]) {
+ fiat_p521_uint128 x1 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)((uint32_t)(arg2[16]) * (uint64_t)0x2));
+ fiat_p521_uint128 x2 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)(arg2[15]));
+ fiat_p521_uint128 x3 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x4 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)((arg2[13]) * (uint64_t)0x2));
+ fiat_p521_uint128 x5 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)(arg2[12]));
+ fiat_p521_uint128 x6 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x7 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)((arg2[10]) * (uint64_t)0x2));
+ fiat_p521_uint128 x8 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)(arg2[9]));
+ fiat_p521_uint128 x9 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)((uint32_t)(arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x10 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x11 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)(arg2[6]));
+ fiat_p521_uint128 x12 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)((uint32_t)(arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x13 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)((arg2[4]) * (uint64_t)0x2));
+ fiat_p521_uint128 x14 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)(arg2[3]));
+ fiat_p521_uint128 x15 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)((uint32_t)(arg2[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x16 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)((arg2[1]) * (uint64_t)0x2));
+ fiat_p521_uint128 x17 = ((fiat_p521_uint128)(arg1[15]) * (uint32_t)(arg2[16]));
+ fiat_p521_uint128 x18 = ((fiat_p521_uint128)(arg1[15]) * (arg2[15]));
+ fiat_p521_uint128 x19 = ((fiat_p521_uint128)(arg1[15]) * ((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x20 = ((fiat_p521_uint128)(arg1[15]) * (arg2[13]));
+ fiat_p521_uint128 x21 = ((fiat_p521_uint128)(arg1[15]) * (arg2[12]));
+ fiat_p521_uint128 x22 = ((fiat_p521_uint128)(arg1[15]) * ((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x23 = ((fiat_p521_uint128)(arg1[15]) * (arg2[10]));
+ fiat_p521_uint128 x24 = ((fiat_p521_uint128)(arg1[15]) * (arg2[9]));
+ fiat_p521_uint128 x25 = ((fiat_p521_uint128)(arg1[15]) * ((uint32_t)(arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x26 = ((fiat_p521_uint128)(arg1[15]) * (arg2[7]));
+ fiat_p521_uint128 x27 = ((fiat_p521_uint128)(arg1[15]) * (arg2[6]));
+ fiat_p521_uint128 x28 = ((fiat_p521_uint128)(arg1[15]) * ((uint32_t)(arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x29 = ((fiat_p521_uint128)(arg1[15]) * (arg2[4]));
+ fiat_p521_uint128 x30 = ((fiat_p521_uint128)(arg1[15]) * (arg2[3]));
+ fiat_p521_uint128 x31 = ((fiat_p521_uint128)(arg1[15]) * ((uint32_t)(arg2[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x32 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((uint32_t)(arg2[16]) * (uint64_t)0x2));
+ fiat_p521_uint128 x33 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((arg2[15]) * (uint64_t)0x2));
+ fiat_p521_uint128 x34 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x35 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((arg2[13]) * (uint64_t)0x2));
+ fiat_p521_uint128 x36 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((arg2[12]) * (uint64_t)0x2));
+ fiat_p521_uint128 x37 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x38 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((arg2[10]) * (uint64_t)0x2));
+ fiat_p521_uint128 x39 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((arg2[9]) * (uint64_t)0x2));
+ fiat_p521_uint128 x40 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((uint32_t)(arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x41 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x42 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((arg2[6]) * (uint64_t)0x2));
+ fiat_p521_uint128 x43 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((uint32_t)(arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x44 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((arg2[4]) * (uint64_t)0x2));
+ fiat_p521_uint128 x45 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((arg2[3]) * (uint64_t)0x2));
+ fiat_p521_uint128 x46 = ((fiat_p521_uint128)(arg1[13]) * ((uint32_t)(arg2[16]) * (uint64_t)0x2));
+ fiat_p521_uint128 x47 = ((fiat_p521_uint128)(arg1[13]) * (arg2[15]));
+ fiat_p521_uint128 x48 = ((fiat_p521_uint128)(arg1[13]) * ((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x49 = ((fiat_p521_uint128)(arg1[13]) * ((arg2[13]) * (uint64_t)0x2));
+ fiat_p521_uint128 x50 = ((fiat_p521_uint128)(arg1[13]) * (arg2[12]));
+ fiat_p521_uint128 x51 = ((fiat_p521_uint128)(arg1[13]) * ((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x52 = ((fiat_p521_uint128)(arg1[13]) * ((arg2[10]) * (uint64_t)0x2));
+ fiat_p521_uint128 x53 = ((fiat_p521_uint128)(arg1[13]) * (arg2[9]));
+ fiat_p521_uint128 x54 = ((fiat_p521_uint128)(arg1[13]) * ((uint32_t)(arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x55 = ((fiat_p521_uint128)(arg1[13]) * ((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x56 = ((fiat_p521_uint128)(arg1[13]) * (arg2[6]));
+ fiat_p521_uint128 x57 = ((fiat_p521_uint128)(arg1[13]) * ((uint32_t)(arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x58 = ((fiat_p521_uint128)(arg1[13]) * ((arg2[4]) * (uint64_t)0x2));
+ fiat_p521_uint128 x59 = ((fiat_p521_uint128)(arg1[12]) * (uint32_t)(arg2[16]));
+ fiat_p521_uint128 x60 = ((fiat_p521_uint128)(arg1[12]) * (arg2[15]));
+ fiat_p521_uint128 x61 = ((fiat_p521_uint128)(arg1[12]) * ((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x62 = ((fiat_p521_uint128)(arg1[12]) * (arg2[13]));
+ fiat_p521_uint128 x63 = ((fiat_p521_uint128)(arg1[12]) * (arg2[12]));
+ fiat_p521_uint128 x64 = ((fiat_p521_uint128)(arg1[12]) * ((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x65 = ((fiat_p521_uint128)(arg1[12]) * (arg2[10]));
+ fiat_p521_uint128 x66 = ((fiat_p521_uint128)(arg1[12]) * (arg2[9]));
+ fiat_p521_uint128 x67 = ((fiat_p521_uint128)(arg1[12]) * ((uint32_t)(arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x68 = ((fiat_p521_uint128)(arg1[12]) * (arg2[7]));
+ fiat_p521_uint128 x69 = ((fiat_p521_uint128)(arg1[12]) * (arg2[6]));
+ fiat_p521_uint128 x70 = ((fiat_p521_uint128)(arg1[12]) * ((uint32_t)(arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x71 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((uint32_t)(arg2[16]) * (uint64_t)0x2));
+ fiat_p521_uint128 x72 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((arg2[15]) * (uint64_t)0x2));
+ fiat_p521_uint128 x73 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x74 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((arg2[13]) * (uint64_t)0x2));
+ fiat_p521_uint128 x75 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((arg2[12]) * (uint64_t)0x2));
+ fiat_p521_uint128 x76 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x77 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((arg2[10]) * (uint64_t)0x2));
+ fiat_p521_uint128 x78 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((arg2[9]) * (uint64_t)0x2));
+ fiat_p521_uint128 x79 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((uint32_t)(arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x80 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x81 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((arg2[6]) * (uint64_t)0x2));
+ fiat_p521_uint128 x82 = ((fiat_p521_uint128)(arg1[10]) * ((uint32_t)(arg2[16]) * (uint64_t)0x2));
+ fiat_p521_uint128 x83 = ((fiat_p521_uint128)(arg1[10]) * (arg2[15]));
+ fiat_p521_uint128 x84 = ((fiat_p521_uint128)(arg1[10]) * ((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x85 = ((fiat_p521_uint128)(arg1[10]) * ((arg2[13]) * (uint64_t)0x2));
+ fiat_p521_uint128 x86 = ((fiat_p521_uint128)(arg1[10]) * (arg2[12]));
+ fiat_p521_uint128 x87 = ((fiat_p521_uint128)(arg1[10]) * ((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x88 = ((fiat_p521_uint128)(arg1[10]) * ((arg2[10]) * (uint64_t)0x2));
+ fiat_p521_uint128 x89 = ((fiat_p521_uint128)(arg1[10]) * (arg2[9]));
+ fiat_p521_uint128 x90 = ((fiat_p521_uint128)(arg1[10]) * ((uint32_t)(arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x91 = ((fiat_p521_uint128)(arg1[10]) * ((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x92 = ((fiat_p521_uint128)(arg1[9]) * (uint32_t)(arg2[16]));
+ fiat_p521_uint128 x93 = ((fiat_p521_uint128)(arg1[9]) * (arg2[15]));
+ fiat_p521_uint128 x94 = ((fiat_p521_uint128)(arg1[9]) * ((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x95 = ((fiat_p521_uint128)(arg1[9]) * (arg2[13]));
+ fiat_p521_uint128 x96 = ((fiat_p521_uint128)(arg1[9]) * (arg2[12]));
+ fiat_p521_uint128 x97 = ((fiat_p521_uint128)(arg1[9]) * ((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x98 = ((fiat_p521_uint128)(arg1[9]) * (arg2[10]));
+ fiat_p521_uint128 x99 = ((fiat_p521_uint128)(arg1[9]) * (arg2[9]));
+ fiat_p521_uint128 x100 = ((fiat_p521_uint128)(arg1[9]) * ((uint32_t)(arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x101 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((uint32_t)(arg2[16]) * (uint64_t)0x2));
+ fiat_p521_uint128 x102 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((arg2[15]) * (uint64_t)0x2));
+ fiat_p521_uint128 x103 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x104 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((arg2[13]) * (uint64_t)0x2));
+ fiat_p521_uint128 x105 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((arg2[12]) * (uint64_t)0x2));
+ fiat_p521_uint128 x106 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x107 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((arg2[10]) * (uint64_t)0x2));
+ fiat_p521_uint128 x108 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((arg2[9]) * (uint64_t)0x2));
+ fiat_p521_uint128 x109 = ((fiat_p521_uint128)(arg1[7]) * ((uint32_t)(arg2[16]) * (uint64_t)0x2));
+ fiat_p521_uint128 x110 = ((fiat_p521_uint128)(arg1[7]) * (arg2[15]));
+ fiat_p521_uint128 x111 = ((fiat_p521_uint128)(arg1[7]) * ((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x112 = ((fiat_p521_uint128)(arg1[7]) * ((arg2[13]) * (uint64_t)0x2));
+ fiat_p521_uint128 x113 = ((fiat_p521_uint128)(arg1[7]) * (arg2[12]));
+ fiat_p521_uint128 x114 = ((fiat_p521_uint128)(arg1[7]) * ((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x115 = ((fiat_p521_uint128)(arg1[7]) * ((arg2[10]) * (uint64_t)0x2));
+ fiat_p521_uint128 x116 = ((fiat_p521_uint128)(arg1[6]) * (uint32_t)(arg2[16]));
+ fiat_p521_uint128 x117 = ((fiat_p521_uint128)(arg1[6]) * (arg2[15]));
+ fiat_p521_uint128 x118 = ((fiat_p521_uint128)(arg1[6]) * ((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x119 = ((fiat_p521_uint128)(arg1[6]) * (arg2[13]));
+ fiat_p521_uint128 x120 = ((fiat_p521_uint128)(arg1[6]) * (arg2[12]));
+ fiat_p521_uint128 x121 = ((fiat_p521_uint128)(arg1[6]) * ((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x122 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)((uint32_t)(arg2[16]) * (uint64_t)0x2));
+ fiat_p521_uint128 x123 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)((arg2[15]) * (uint64_t)0x2));
+ fiat_p521_uint128 x124 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x125 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)((arg2[13]) * (uint64_t)0x2));
+ fiat_p521_uint128 x126 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)((arg2[12]) * (uint64_t)0x2));
+ fiat_p521_uint128 x127 = ((fiat_p521_uint128)(arg1[4]) * ((uint32_t)(arg2[16]) * (uint64_t)0x2));
+ fiat_p521_uint128 x128 = ((fiat_p521_uint128)(arg1[4]) * (arg2[15]));
+ fiat_p521_uint128 x129 = ((fiat_p521_uint128)(arg1[4]) * ((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x130 = ((fiat_p521_uint128)(arg1[4]) * ((arg2[13]) * (uint64_t)0x2));
+ fiat_p521_uint128 x131 = ((fiat_p521_uint128)(arg1[3]) * (uint32_t)(arg2[16]));
+ fiat_p521_uint128 x132 = ((fiat_p521_uint128)(arg1[3]) * (arg2[15]));
+ fiat_p521_uint128 x133 = ((fiat_p521_uint128)(arg1[3]) * ((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x134 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)((uint32_t)(arg2[16]) * (uint64_t)0x2));
+ fiat_p521_uint128 x135 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)((arg2[15]) * (uint64_t)0x2));
+ fiat_p521_uint128 x136 = ((fiat_p521_uint128)(arg1[1]) * ((uint32_t)(arg2[16]) * (uint64_t)0x2));
+ fiat_p521_uint128 x137 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)(arg2[0]));
+ fiat_p521_uint128 x138 = ((fiat_p521_uint128)(arg1[15]) * (arg2[1]));
+ fiat_p521_uint128 x139 = ((fiat_p521_uint128)(arg1[15]) * (arg2[0]));
+ fiat_p521_uint128 x140 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((uint32_t)(arg2[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x141 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)((arg2[1]) * (uint64_t)0x2));
+ fiat_p521_uint128 x142 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)(arg2[0]));
+ fiat_p521_uint128 x143 = ((fiat_p521_uint128)(arg1[13]) * (arg2[3]));
+ fiat_p521_uint128 x144 = ((fiat_p521_uint128)(arg1[13]) * ((uint32_t)(arg2[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x145 = ((fiat_p521_uint128)(arg1[13]) * (arg2[1]));
+ fiat_p521_uint128 x146 = ((fiat_p521_uint128)(arg1[13]) * (arg2[0]));
+ fiat_p521_uint128 x147 = ((fiat_p521_uint128)(arg1[12]) * (arg2[4]));
+ fiat_p521_uint128 x148 = ((fiat_p521_uint128)(arg1[12]) * (arg2[3]));
+ fiat_p521_uint128 x149 = ((fiat_p521_uint128)(arg1[12]) * (uint32_t)(arg2[2]));
+ fiat_p521_uint128 x150 = ((fiat_p521_uint128)(arg1[12]) * (arg2[1]));
+ fiat_p521_uint128 x151 = ((fiat_p521_uint128)(arg1[12]) * (arg2[0]));
+ fiat_p521_uint128 x152 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((uint32_t)(arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x153 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((arg2[4]) * (uint64_t)0x2));
+ fiat_p521_uint128 x154 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)(arg2[3]));
+ fiat_p521_uint128 x155 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((uint32_t)(arg2[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x156 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)((arg2[1]) * (uint64_t)0x2));
+ fiat_p521_uint128 x157 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)(arg2[0]));
+ fiat_p521_uint128 x158 = ((fiat_p521_uint128)(arg1[10]) * (arg2[6]));
+ fiat_p521_uint128 x159 = ((fiat_p521_uint128)(arg1[10]) * ((uint32_t)(arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x160 = ((fiat_p521_uint128)(arg1[10]) * (arg2[4]));
+ fiat_p521_uint128 x161 = ((fiat_p521_uint128)(arg1[10]) * (arg2[3]));
+ fiat_p521_uint128 x162 = ((fiat_p521_uint128)(arg1[10]) * ((uint32_t)(arg2[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x163 = ((fiat_p521_uint128)(arg1[10]) * (arg2[1]));
+ fiat_p521_uint128 x164 = ((fiat_p521_uint128)(arg1[10]) * (arg2[0]));
+ fiat_p521_uint128 x165 = ((fiat_p521_uint128)(arg1[9]) * (arg2[7]));
+ fiat_p521_uint128 x166 = ((fiat_p521_uint128)(arg1[9]) * (arg2[6]));
+ fiat_p521_uint128 x167 = ((fiat_p521_uint128)(arg1[9]) * (uint32_t)(arg2[5]));
+ fiat_p521_uint128 x168 = ((fiat_p521_uint128)(arg1[9]) * (arg2[4]));
+ fiat_p521_uint128 x169 = ((fiat_p521_uint128)(arg1[9]) * (arg2[3]));
+ fiat_p521_uint128 x170 = ((fiat_p521_uint128)(arg1[9]) * (uint32_t)(arg2[2]));
+ fiat_p521_uint128 x171 = ((fiat_p521_uint128)(arg1[9]) * (arg2[1]));
+ fiat_p521_uint128 x172 = ((fiat_p521_uint128)(arg1[9]) * (arg2[0]));
+ fiat_p521_uint128 x173 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((uint32_t)(arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x174 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x175 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)(arg2[6]));
+ fiat_p521_uint128 x176 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((uint32_t)(arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x177 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((arg2[4]) * (uint64_t)0x2));
+ fiat_p521_uint128 x178 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)(arg2[3]));
+ fiat_p521_uint128 x179 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((uint32_t)(arg2[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x180 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((arg2[1]) * (uint64_t)0x2));
+ fiat_p521_uint128 x181 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)(arg2[0]));
+ fiat_p521_uint128 x182 = ((fiat_p521_uint128)(arg1[7]) * (arg2[9]));
+ fiat_p521_uint128 x183 = ((fiat_p521_uint128)(arg1[7]) * ((uint32_t)(arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x184 = ((fiat_p521_uint128)(arg1[7]) * (arg2[7]));
+ fiat_p521_uint128 x185 = ((fiat_p521_uint128)(arg1[7]) * (arg2[6]));
+ fiat_p521_uint128 x186 = ((fiat_p521_uint128)(arg1[7]) * ((uint32_t)(arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x187 = ((fiat_p521_uint128)(arg1[7]) * (arg2[4]));
+ fiat_p521_uint128 x188 = ((fiat_p521_uint128)(arg1[7]) * (arg2[3]));
+ fiat_p521_uint128 x189 = ((fiat_p521_uint128)(arg1[7]) * ((uint32_t)(arg2[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x190 = ((fiat_p521_uint128)(arg1[7]) * (arg2[1]));
+ fiat_p521_uint128 x191 = ((fiat_p521_uint128)(arg1[7]) * (arg2[0]));
+ fiat_p521_uint128 x192 = ((fiat_p521_uint128)(arg1[6]) * (arg2[10]));
+ fiat_p521_uint128 x193 = ((fiat_p521_uint128)(arg1[6]) * (arg2[9]));
+ fiat_p521_uint128 x194 = ((fiat_p521_uint128)(arg1[6]) * (uint32_t)(arg2[8]));
+ fiat_p521_uint128 x195 = ((fiat_p521_uint128)(arg1[6]) * (arg2[7]));
+ fiat_p521_uint128 x196 = ((fiat_p521_uint128)(arg1[6]) * (arg2[6]));
+ fiat_p521_uint128 x197 = ((fiat_p521_uint128)(arg1[6]) * (uint32_t)(arg2[5]));
+ fiat_p521_uint128 x198 = ((fiat_p521_uint128)(arg1[6]) * (arg2[4]));
+ fiat_p521_uint128 x199 = ((fiat_p521_uint128)(arg1[6]) * (arg2[3]));
+ fiat_p521_uint128 x200 = ((fiat_p521_uint128)(arg1[6]) * (uint32_t)(arg2[2]));
+ fiat_p521_uint128 x201 = ((fiat_p521_uint128)(arg1[6]) * (arg2[1]));
+ fiat_p521_uint128 x202 = ((fiat_p521_uint128)(arg1[6]) * (arg2[0]));
+ fiat_p521_uint128 x203 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x204 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)((arg2[10]) * (uint64_t)0x2));
+ fiat_p521_uint128 x205 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)(arg2[9]));
+ fiat_p521_uint128 x206 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)((uint32_t)(arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x207 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x208 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)(arg2[6]));
+ fiat_p521_uint128 x209 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)((uint32_t)(arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x210 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)((arg2[4]) * (uint64_t)0x2));
+ fiat_p521_uint128 x211 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)(arg2[3]));
+ fiat_p521_uint128 x212 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)((uint32_t)(arg2[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x213 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)((arg2[1]) * (uint64_t)0x2));
+ fiat_p521_uint128 x214 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)(arg2[0]));
+ fiat_p521_uint128 x215 = ((fiat_p521_uint128)(arg1[4]) * (arg2[12]));
+ fiat_p521_uint128 x216 = ((fiat_p521_uint128)(arg1[4]) * ((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x217 = ((fiat_p521_uint128)(arg1[4]) * (arg2[10]));
+ fiat_p521_uint128 x218 = ((fiat_p521_uint128)(arg1[4]) * (arg2[9]));
+ fiat_p521_uint128 x219 = ((fiat_p521_uint128)(arg1[4]) * ((uint32_t)(arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x220 = ((fiat_p521_uint128)(arg1[4]) * (arg2[7]));
+ fiat_p521_uint128 x221 = ((fiat_p521_uint128)(arg1[4]) * (arg2[6]));
+ fiat_p521_uint128 x222 = ((fiat_p521_uint128)(arg1[4]) * ((uint32_t)(arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x223 = ((fiat_p521_uint128)(arg1[4]) * (arg2[4]));
+ fiat_p521_uint128 x224 = ((fiat_p521_uint128)(arg1[4]) * (arg2[3]));
+ fiat_p521_uint128 x225 = ((fiat_p521_uint128)(arg1[4]) * ((uint32_t)(arg2[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x226 = ((fiat_p521_uint128)(arg1[4]) * (arg2[1]));
+ fiat_p521_uint128 x227 = ((fiat_p521_uint128)(arg1[4]) * (arg2[0]));
+ fiat_p521_uint128 x228 = ((fiat_p521_uint128)(arg1[3]) * (arg2[13]));
+ fiat_p521_uint128 x229 = ((fiat_p521_uint128)(arg1[3]) * (arg2[12]));
+ fiat_p521_uint128 x230 = ((fiat_p521_uint128)(arg1[3]) * (uint32_t)(arg2[11]));
+ fiat_p521_uint128 x231 = ((fiat_p521_uint128)(arg1[3]) * (arg2[10]));
+ fiat_p521_uint128 x232 = ((fiat_p521_uint128)(arg1[3]) * (arg2[9]));
+ fiat_p521_uint128 x233 = ((fiat_p521_uint128)(arg1[3]) * (uint32_t)(arg2[8]));
+ fiat_p521_uint128 x234 = ((fiat_p521_uint128)(arg1[3]) * (arg2[7]));
+ fiat_p521_uint128 x235 = ((fiat_p521_uint128)(arg1[3]) * (arg2[6]));
+ fiat_p521_uint128 x236 = ((fiat_p521_uint128)(arg1[3]) * (uint32_t)(arg2[5]));
+ fiat_p521_uint128 x237 = ((fiat_p521_uint128)(arg1[3]) * (arg2[4]));
+ fiat_p521_uint128 x238 = ((fiat_p521_uint128)(arg1[3]) * (arg2[3]));
+ fiat_p521_uint128 x239 = ((fiat_p521_uint128)(arg1[3]) * (uint32_t)(arg2[2]));
+ fiat_p521_uint128 x240 = ((fiat_p521_uint128)(arg1[3]) * (arg2[1]));
+ fiat_p521_uint128 x241 = ((fiat_p521_uint128)(arg1[3]) * (arg2[0]));
+ fiat_p521_uint128 x242 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x243 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)((arg2[13]) * (uint64_t)0x2));
+ fiat_p521_uint128 x244 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(arg2[12]));
+ fiat_p521_uint128 x245 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x246 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)((arg2[10]) * (uint64_t)0x2));
+ fiat_p521_uint128 x247 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(arg2[9]));
+ fiat_p521_uint128 x248 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)((uint32_t)(arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x249 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x250 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(arg2[6]));
+ fiat_p521_uint128 x251 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)((uint32_t)(arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x252 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)((arg2[4]) * (uint64_t)0x2));
+ fiat_p521_uint128 x253 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(arg2[3]));
+ fiat_p521_uint128 x254 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)((uint32_t)(arg2[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x255 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)((arg2[1]) * (uint64_t)0x2));
+ fiat_p521_uint128 x256 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(arg2[0]));
+ fiat_p521_uint128 x257 = ((fiat_p521_uint128)(arg1[1]) * (arg2[15]));
+ fiat_p521_uint128 x258 = ((fiat_p521_uint128)(arg1[1]) * ((uint32_t)(arg2[14]) * (uint64_t)0x2));
+ fiat_p521_uint128 x259 = ((fiat_p521_uint128)(arg1[1]) * (arg2[13]));
+ fiat_p521_uint128 x260 = ((fiat_p521_uint128)(arg1[1]) * (arg2[12]));
+ fiat_p521_uint128 x261 = ((fiat_p521_uint128)(arg1[1]) * ((uint32_t)(arg2[11]) * (uint64_t)0x2));
+ fiat_p521_uint128 x262 = ((fiat_p521_uint128)(arg1[1]) * (arg2[10]));
+ fiat_p521_uint128 x263 = ((fiat_p521_uint128)(arg1[1]) * (arg2[9]));
+ fiat_p521_uint128 x264 = ((fiat_p521_uint128)(arg1[1]) * ((uint32_t)(arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x265 = ((fiat_p521_uint128)(arg1[1]) * (arg2[7]));
+ fiat_p521_uint128 x266 = ((fiat_p521_uint128)(arg1[1]) * (arg2[6]));
+ fiat_p521_uint128 x267 = ((fiat_p521_uint128)(arg1[1]) * ((uint32_t)(arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x268 = ((fiat_p521_uint128)(arg1[1]) * (arg2[4]));
+ fiat_p521_uint128 x269 = ((fiat_p521_uint128)(arg1[1]) * (arg2[3]));
+ fiat_p521_uint128 x270 = ((fiat_p521_uint128)(arg1[1]) * ((uint32_t)(arg2[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x271 = ((fiat_p521_uint128)(arg1[1]) * (arg2[1]));
+ fiat_p521_uint128 x272 = ((fiat_p521_uint128)(arg1[1]) * (arg2[0]));
+ fiat_p521_uint128 x273 = ((fiat_p521_uint128)(arg1[0]) * (uint32_t)(arg2[16]));
+ fiat_p521_uint128 x274 = ((fiat_p521_uint128)(arg1[0]) * (arg2[15]));
+ fiat_p521_uint128 x275 = ((fiat_p521_uint128)(arg1[0]) * (uint32_t)(arg2[14]));
+ fiat_p521_uint128 x276 = ((fiat_p521_uint128)(arg1[0]) * (arg2[13]));
+ fiat_p521_uint128 x277 = ((fiat_p521_uint128)(arg1[0]) * (arg2[12]));
+ fiat_p521_uint128 x278 = ((fiat_p521_uint128)(arg1[0]) * (uint32_t)(arg2[11]));
+ fiat_p521_uint128 x279 = ((fiat_p521_uint128)(arg1[0]) * (arg2[10]));
+ fiat_p521_uint128 x280 = ((fiat_p521_uint128)(arg1[0]) * (arg2[9]));
+ fiat_p521_uint128 x281 = ((fiat_p521_uint128)(arg1[0]) * (uint32_t)(arg2[8]));
+ fiat_p521_uint128 x282 = ((fiat_p521_uint128)(arg1[0]) * (arg2[7]));
+ fiat_p521_uint128 x283 = ((fiat_p521_uint128)(arg1[0]) * (arg2[6]));
+ fiat_p521_uint128 x284 = ((fiat_p521_uint128)(arg1[0]) * (uint32_t)(arg2[5]));
+ fiat_p521_uint128 x285 = ((fiat_p521_uint128)(arg1[0]) * (arg2[4]));
+ fiat_p521_uint128 x286 = ((fiat_p521_uint128)(arg1[0]) * (arg2[3]));
+ fiat_p521_uint128 x287 = ((fiat_p521_uint128)(arg1[0]) * (uint32_t)(arg2[2]));
+ fiat_p521_uint128 x288 = ((fiat_p521_uint128)(arg1[0]) * (arg2[1]));
+ fiat_p521_uint128 x289 = ((fiat_p521_uint128)(arg1[0]) * (arg2[0]));
+ fiat_p521_uint128 x290 = (x289 + (x136 + (x135 + (x133 + (x130 + (x126 + (x121 + (x115 + (x108 + (x100 + (x91 + (x81 + (x70 + (x58 + (x45 + (x31 + x16))))))))))))))));
+ uint64_t x291 = (uint64_t)(x290 >> 31);
+ uint32_t x292 = (uint32_t)(x290 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x293 = (x273 + (x257 + (x242 + (x228 + (x215 + (x203 + (x192 + (x182 + (x173 + (x165 + (x158 + (x152 + (x147 + (x143 + (x140 + (x138 + x137))))))))))))))));
+ fiat_p521_uint128 x294 = (x274 + (x258 + (x243 + (x229 + (x216 + (x204 + (x193 + (x183 + (x174 + (x166 + (x159 + (x153 + (x148 + (x144 + (x141 + (x139 + x1))))))))))))))));
+ fiat_p521_uint128 x295 = (x275 + (x259 + (x244 + (x230 + (x217 + (x205 + (x194 + (x184 + (x175 + (x167 + (x160 + (x154 + (x149 + (x145 + (x142 + (x17 + x2))))))))))))))));
+ fiat_p521_uint128 x296 = (x276 + (x260 + (x245 + (x231 + (x218 + (x206 + (x195 + (x185 + (x176 + (x168 + (x161 + (x155 + (x150 + (x146 + (x32 + (x18 + x3))))))))))))))));
+ fiat_p521_uint128 x297 = (x277 + (x261 + (x246 + (x232 + (x219 + (x207 + (x196 + (x186 + (x177 + (x169 + (x162 + (x156 + (x151 + (x46 + (x33 + (x19 + x4))))))))))))))));
+ fiat_p521_uint128 x298 = (x278 + (x262 + (x247 + (x233 + (x220 + (x208 + (x197 + (x187 + (x178 + (x170 + (x163 + (x157 + (x59 + (x47 + (x34 + (x20 + x5))))))))))))))));
+ fiat_p521_uint128 x299 = (x279 + (x263 + (x248 + (x234 + (x221 + (x209 + (x198 + (x188 + (x179 + (x171 + (x164 + (x71 + (x60 + (x48 + (x35 + (x21 + x6))))))))))))))));
+ fiat_p521_uint128 x300 = (x280 + (x264 + (x249 + (x235 + (x222 + (x210 + (x199 + (x189 + (x180 + (x172 + (x82 + (x72 + (x61 + (x49 + (x36 + (x22 + x7))))))))))))))));
+ fiat_p521_uint128 x301 = (x281 + (x265 + (x250 + (x236 + (x223 + (x211 + (x200 + (x190 + (x181 + (x92 + (x83 + (x73 + (x62 + (x50 + (x37 + (x23 + x8))))))))))))))));
+ fiat_p521_uint128 x302 = (x282 + (x266 + (x251 + (x237 + (x224 + (x212 + (x201 + (x191 + (x101 + (x93 + (x84 + (x74 + (x63 + (x51 + (x38 + (x24 + x9))))))))))))))));
+ fiat_p521_uint128 x303 = (x283 + (x267 + (x252 + (x238 + (x225 + (x213 + (x202 + (x109 + (x102 + (x94 + (x85 + (x75 + (x64 + (x52 + (x39 + (x25 + x10))))))))))))))));
+ fiat_p521_uint128 x304 = (x284 + (x268 + (x253 + (x239 + (x226 + (x214 + (x116 + (x110 + (x103 + (x95 + (x86 + (x76 + (x65 + (x53 + (x40 + (x26 + x11))))))))))))))));
+ fiat_p521_uint128 x305 = (x285 + (x269 + (x254 + (x240 + (x227 + (x122 + (x117 + (x111 + (x104 + (x96 + (x87 + (x77 + (x66 + (x54 + (x41 + (x27 + x12))))))))))))))));
+ fiat_p521_uint128 x306 = (x286 + (x270 + (x255 + (x241 + (x127 + (x123 + (x118 + (x112 + (x105 + (x97 + (x88 + (x78 + (x67 + (x55 + (x42 + (x28 + x13))))))))))))))));
+ fiat_p521_uint128 x307 = (x287 + (x271 + (x256 + (x131 + (x128 + (x124 + (x119 + (x113 + (x106 + (x98 + (x89 + (x79 + (x68 + (x56 + (x43 + (x29 + x14))))))))))))))));
+ fiat_p521_uint128 x308 = (x288 + (x272 + (x134 + (x132 + (x129 + (x125 + (x120 + (x114 + (x107 + (x99 + (x90 + (x80 + (x69 + (x57 + (x44 + (x30 + x15))))))))))))))));
+ fiat_p521_uint128 x309 = (x291 + x308);
+ uint64_t x310 = (uint64_t)(x309 >> 31);
+ uint32_t x311 = (uint32_t)(x309 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x312 = (x310 + x307);
+ uint64_t x313 = (uint64_t)(x312 >> 30);
+ uint32_t x314 = (uint32_t)(x312 & UINT32_C(0x3fffffff));
+ fiat_p521_uint128 x315 = (x313 + x306);
+ uint64_t x316 = (uint64_t)(x315 >> 31);
+ uint32_t x317 = (uint32_t)(x315 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x318 = (x316 + x305);
+ uint64_t x319 = (uint64_t)(x318 >> 31);
+ uint32_t x320 = (uint32_t)(x318 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x321 = (x319 + x304);
+ uint64_t x322 = (uint64_t)(x321 >> 30);
+ uint32_t x323 = (uint32_t)(x321 & UINT32_C(0x3fffffff));
+ fiat_p521_uint128 x324 = (x322 + x303);
+ uint64_t x325 = (uint64_t)(x324 >> 31);
+ uint32_t x326 = (uint32_t)(x324 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x327 = (x325 + x302);
+ uint64_t x328 = (uint64_t)(x327 >> 31);
+ uint32_t x329 = (uint32_t)(x327 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x330 = (x328 + x301);
+ uint64_t x331 = (uint64_t)(x330 >> 30);
+ uint32_t x332 = (uint32_t)(x330 & UINT32_C(0x3fffffff));
+ fiat_p521_uint128 x333 = (x331 + x300);
+ uint64_t x334 = (uint64_t)(x333 >> 31);
+ uint32_t x335 = (uint32_t)(x333 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x336 = (x334 + x299);
+ uint64_t x337 = (uint64_t)(x336 >> 31);
+ uint32_t x338 = (uint32_t)(x336 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x339 = (x337 + x298);
+ uint64_t x340 = (uint64_t)(x339 >> 30);
+ uint32_t x341 = (uint32_t)(x339 & UINT32_C(0x3fffffff));
+ fiat_p521_uint128 x342 = (x340 + x297);
+ uint64_t x343 = (uint64_t)(x342 >> 31);
+ uint32_t x344 = (uint32_t)(x342 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x345 = (x343 + x296);
+ uint64_t x346 = (uint64_t)(x345 >> 31);
+ uint32_t x347 = (uint32_t)(x345 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x348 = (x346 + x295);
+ uint64_t x349 = (uint64_t)(x348 >> 30);
+ uint32_t x350 = (uint32_t)(x348 & UINT32_C(0x3fffffff));
+ fiat_p521_uint128 x351 = (x349 + x294);
+ uint64_t x352 = (uint64_t)(x351 >> 31);
+ uint32_t x353 = (uint32_t)(x351 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x354 = (x352 + x293);
+ uint64_t x355 = (uint64_t)(x354 >> 30);
+ uint32_t x356 = (uint32_t)(x354 & UINT32_C(0x3fffffff));
+ uint64_t x357 = (x292 + x355);
+ uint32_t x358 = (uint32_t)(x357 >> 31);
+ uint32_t x359 = (uint32_t)(x357 & UINT32_C(0x7fffffff));
+ uint32_t x360 = (x358 + x311);
+ uint32_t x361 = (x360 >> 31);
+ uint32_t x362 = (x360 & UINT32_C(0x7fffffff));
+ uint32_t x363 = (x361 + x314);
+ out1[0] = x359;
+ out1[1] = x362;
+ out1[2] = x363;
+ out1[3] = x317;
+ out1[4] = x320;
+ out1[5] = x323;
+ out1[6] = x326;
+ out1[7] = x329;
+ out1[8] = x332;
+ out1[9] = x335;
+ out1[10] = x338;
+ out1[11] = x341;
+ out1[12] = x344;
+ out1[13] = x347;
+ out1[14] = x350;
+ out1[15] = x353;
+ out1[16] = x356;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666]]
+ */
+static void fiat_p521_carry_square(uint32_t out1[17], const uint64_t arg1[17]) {
+ uint32_t x1 = (uint32_t)(arg1[16]);
+ uint64_t x2 = (x1 * (uint64_t)0x2);
+ uint64_t x3 = ((uint32_t)(arg1[16]) * (uint64_t)0x2);
+ uint64_t x4 = (arg1[15]);
+ uint64_t x5 = (x4 * (uint64_t)0x2);
+ uint64_t x6 = ((arg1[15]) * (uint64_t)0x2);
+ uint32_t x7 = (uint32_t)(arg1[14]);
+ uint64_t x8 = (x7 * (uint64_t)0x2);
+ uint64_t x9 = ((uint32_t)(arg1[14]) * (uint64_t)0x2);
+ uint64_t x10 = (arg1[13]);
+ uint64_t x11 = (x10 * (uint64_t)0x2);
+ uint64_t x12 = ((arg1[13]) * (uint64_t)0x2);
+ uint64_t x13 = (arg1[12]);
+ uint64_t x14 = (x13 * (uint64_t)0x2);
+ uint64_t x15 = ((arg1[12]) * (uint64_t)0x2);
+ uint32_t x16 = (uint32_t)(arg1[11]);
+ uint64_t x17 = (x16 * (uint64_t)0x2);
+ uint64_t x18 = ((uint32_t)(arg1[11]) * (uint64_t)0x2);
+ uint64_t x19 = (arg1[10]);
+ uint64_t x20 = (x19 * (uint64_t)0x2);
+ uint64_t x21 = ((arg1[10]) * (uint64_t)0x2);
+ uint64_t x22 = (arg1[9]);
+ uint64_t x23 = (x22 * (uint64_t)0x2);
+ uint64_t x24 = ((arg1[9]) * (uint64_t)0x2);
+ uint64_t x25 = ((uint32_t)(arg1[8]) * (uint64_t)0x2);
+ uint64_t x26 = ((arg1[7]) * (uint64_t)0x2);
+ uint64_t x27 = ((arg1[6]) * (uint64_t)0x2);
+ uint64_t x28 = ((uint32_t)(arg1[5]) * (uint64_t)0x2);
+ uint64_t x29 = ((arg1[4]) * (uint64_t)0x2);
+ uint64_t x30 = ((arg1[3]) * (uint64_t)0x2);
+ uint64_t x31 = ((uint32_t)(arg1[2]) * (uint64_t)0x2);
+ uint64_t x32 = ((arg1[1]) * (uint64_t)0x2);
+ fiat_p521_uint128 x33 = ((uint32_t)(arg1[16]) * (fiat_p521_uint128)(x1 * (uint64_t)0x2));
+ fiat_p521_uint128 x34 = ((fiat_p521_uint128)(arg1[15]) * x2);
+ fiat_p521_uint128 x35 = ((fiat_p521_uint128)(arg1[15]) * x4);
+ fiat_p521_uint128 x36 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)(x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x37 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)(x5 * (uint64_t)0x2));
+ fiat_p521_uint128 x38 = ((uint32_t)(arg1[14]) * (fiat_p521_uint128)(x7 * (uint64_t)0x2));
+ fiat_p521_uint128 x39 = ((fiat_p521_uint128)(arg1[13]) * (x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x40 = ((fiat_p521_uint128)(arg1[13]) * x5);
+ fiat_p521_uint128 x41 = ((fiat_p521_uint128)(arg1[13]) * (x8 * (uint64_t)0x2));
+ fiat_p521_uint128 x42 = ((fiat_p521_uint128)(arg1[13]) * (x10 * (uint64_t)0x2));
+ fiat_p521_uint128 x43 = ((fiat_p521_uint128)(arg1[12]) * x2);
+ fiat_p521_uint128 x44 = ((fiat_p521_uint128)(arg1[12]) * x5);
+ fiat_p521_uint128 x45 = ((fiat_p521_uint128)(arg1[12]) * (x8 * (uint64_t)0x2));
+ fiat_p521_uint128 x46 = ((fiat_p521_uint128)(arg1[12]) * x11);
+ fiat_p521_uint128 x47 = ((fiat_p521_uint128)(arg1[12]) * x13);
+ fiat_p521_uint128 x48 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)(x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x49 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)(x5 * (uint64_t)0x2));
+ fiat_p521_uint128 x50 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)(x8 * (uint64_t)0x2));
+ fiat_p521_uint128 x51 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)(x11 * (uint64_t)0x2));
+ fiat_p521_uint128 x52 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)(x14 * (uint64_t)0x2));
+ fiat_p521_uint128 x53 = ((uint32_t)(arg1[11]) * (fiat_p521_uint128)(x16 * (uint64_t)0x2));
+ fiat_p521_uint128 x54 = ((fiat_p521_uint128)(arg1[10]) * (x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x55 = ((fiat_p521_uint128)(arg1[10]) * x5);
+ fiat_p521_uint128 x56 = ((fiat_p521_uint128)(arg1[10]) * (x8 * (uint64_t)0x2));
+ fiat_p521_uint128 x57 = ((fiat_p521_uint128)(arg1[10]) * (x11 * (uint64_t)0x2));
+ fiat_p521_uint128 x58 = ((fiat_p521_uint128)(arg1[10]) * x14);
+ fiat_p521_uint128 x59 = ((fiat_p521_uint128)(arg1[10]) * (x17 * (uint64_t)0x2));
+ fiat_p521_uint128 x60 = ((fiat_p521_uint128)(arg1[10]) * (x19 * (uint64_t)0x2));
+ fiat_p521_uint128 x61 = ((fiat_p521_uint128)(arg1[9]) * x2);
+ fiat_p521_uint128 x62 = ((fiat_p521_uint128)(arg1[9]) * x5);
+ fiat_p521_uint128 x63 = ((fiat_p521_uint128)(arg1[9]) * (x8 * (uint64_t)0x2));
+ fiat_p521_uint128 x64 = ((fiat_p521_uint128)(arg1[9]) * x11);
+ fiat_p521_uint128 x65 = ((fiat_p521_uint128)(arg1[9]) * x14);
+ fiat_p521_uint128 x66 = ((fiat_p521_uint128)(arg1[9]) * (x17 * (uint64_t)0x2));
+ fiat_p521_uint128 x67 = ((fiat_p521_uint128)(arg1[9]) * x20);
+ fiat_p521_uint128 x68 = ((fiat_p521_uint128)(arg1[9]) * x22);
+ fiat_p521_uint128 x69 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)(x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x70 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)(x5 * (uint64_t)0x2));
+ fiat_p521_uint128 x71 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)(x8 * (uint64_t)0x2));
+ fiat_p521_uint128 x72 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)(x11 * (uint64_t)0x2));
+ fiat_p521_uint128 x73 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)(x14 * (uint64_t)0x2));
+ fiat_p521_uint128 x74 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)(x17 * (uint64_t)0x2));
+ fiat_p521_uint128 x75 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)(x20 * (uint64_t)0x2));
+ fiat_p521_uint128 x76 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)(x23 * (uint64_t)0x2));
+ fiat_p521_uint128 x77 = ((uint32_t)(arg1[8]) * (fiat_p521_uint128)((uint32_t)(arg1[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x78 = ((fiat_p521_uint128)(arg1[7]) * (x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x79 = ((fiat_p521_uint128)(arg1[7]) * x5);
+ fiat_p521_uint128 x80 = ((fiat_p521_uint128)(arg1[7]) * (x8 * (uint64_t)0x2));
+ fiat_p521_uint128 x81 = ((fiat_p521_uint128)(arg1[7]) * (x11 * (uint64_t)0x2));
+ fiat_p521_uint128 x82 = ((fiat_p521_uint128)(arg1[7]) * x14);
+ fiat_p521_uint128 x83 = ((fiat_p521_uint128)(arg1[7]) * (x17 * (uint64_t)0x2));
+ fiat_p521_uint128 x84 = ((fiat_p521_uint128)(arg1[7]) * (x20 * (uint64_t)0x2));
+ fiat_p521_uint128 x85 = ((fiat_p521_uint128)(arg1[7]) * x24);
+ fiat_p521_uint128 x86 = ((fiat_p521_uint128)(arg1[7]) * (x25 * (uint64_t)0x2));
+ fiat_p521_uint128 x87 = ((fiat_p521_uint128)(arg1[7]) * (arg1[7]));
+ fiat_p521_uint128 x88 = ((fiat_p521_uint128)(arg1[6]) * x2);
+ fiat_p521_uint128 x89 = ((fiat_p521_uint128)(arg1[6]) * x5);
+ fiat_p521_uint128 x90 = ((fiat_p521_uint128)(arg1[6]) * (x8 * (uint64_t)0x2));
+ fiat_p521_uint128 x91 = ((fiat_p521_uint128)(arg1[6]) * x11);
+ fiat_p521_uint128 x92 = ((fiat_p521_uint128)(arg1[6]) * x14);
+ fiat_p521_uint128 x93 = ((fiat_p521_uint128)(arg1[6]) * (x17 * (uint64_t)0x2));
+ fiat_p521_uint128 x94 = ((fiat_p521_uint128)(arg1[6]) * x21);
+ fiat_p521_uint128 x95 = ((fiat_p521_uint128)(arg1[6]) * x24);
+ fiat_p521_uint128 x96 = ((fiat_p521_uint128)(arg1[6]) * x25);
+ fiat_p521_uint128 x97 = ((fiat_p521_uint128)(arg1[6]) * x26);
+ fiat_p521_uint128 x98 = ((fiat_p521_uint128)(arg1[6]) * (arg1[6]));
+ fiat_p521_uint128 x99 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)(x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x100 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)(x5 * (uint64_t)0x2));
+ fiat_p521_uint128 x101 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)(x8 * (uint64_t)0x2));
+ fiat_p521_uint128 x102 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)(x11 * (uint64_t)0x2));
+ fiat_p521_uint128 x103 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)(x14 * (uint64_t)0x2));
+ fiat_p521_uint128 x104 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)(x18 * (uint64_t)0x2));
+ fiat_p521_uint128 x105 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)(x21 * (uint64_t)0x2));
+ fiat_p521_uint128 x106 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)x24);
+ fiat_p521_uint128 x107 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)(x25 * (uint64_t)0x2));
+ fiat_p521_uint128 x108 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)(x26 * (uint64_t)0x2));
+ fiat_p521_uint128 x109 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)x27);
+ fiat_p521_uint128 x110 = ((uint32_t)(arg1[5]) * (fiat_p521_uint128)((uint32_t)(arg1[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x111 = ((fiat_p521_uint128)(arg1[4]) * (x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x112 = ((fiat_p521_uint128)(arg1[4]) * x5);
+ fiat_p521_uint128 x113 = ((fiat_p521_uint128)(arg1[4]) * (x8 * (uint64_t)0x2));
+ fiat_p521_uint128 x114 = ((fiat_p521_uint128)(arg1[4]) * (x11 * (uint64_t)0x2));
+ fiat_p521_uint128 x115 = ((fiat_p521_uint128)(arg1[4]) * x15);
+ fiat_p521_uint128 x116 = ((fiat_p521_uint128)(arg1[4]) * (x18 * (uint64_t)0x2));
+ fiat_p521_uint128 x117 = ((fiat_p521_uint128)(arg1[4]) * x21);
+ fiat_p521_uint128 x118 = ((fiat_p521_uint128)(arg1[4]) * x24);
+ fiat_p521_uint128 x119 = ((fiat_p521_uint128)(arg1[4]) * (x25 * (uint64_t)0x2));
+ fiat_p521_uint128 x120 = ((fiat_p521_uint128)(arg1[4]) * x26);
+ fiat_p521_uint128 x121 = ((fiat_p521_uint128)(arg1[4]) * x27);
+ fiat_p521_uint128 x122 = ((fiat_p521_uint128)(arg1[4]) * (x28 * (uint64_t)0x2));
+ fiat_p521_uint128 x123 = ((fiat_p521_uint128)(arg1[4]) * (arg1[4]));
+ fiat_p521_uint128 x124 = ((fiat_p521_uint128)(arg1[3]) * x2);
+ fiat_p521_uint128 x125 = ((fiat_p521_uint128)(arg1[3]) * x5);
+ fiat_p521_uint128 x126 = ((fiat_p521_uint128)(arg1[3]) * (x8 * (uint64_t)0x2));
+ fiat_p521_uint128 x127 = ((fiat_p521_uint128)(arg1[3]) * x12);
+ fiat_p521_uint128 x128 = ((fiat_p521_uint128)(arg1[3]) * x15);
+ fiat_p521_uint128 x129 = ((fiat_p521_uint128)(arg1[3]) * x18);
+ fiat_p521_uint128 x130 = ((fiat_p521_uint128)(arg1[3]) * x21);
+ fiat_p521_uint128 x131 = ((fiat_p521_uint128)(arg1[3]) * x24);
+ fiat_p521_uint128 x132 = ((fiat_p521_uint128)(arg1[3]) * x25);
+ fiat_p521_uint128 x133 = ((fiat_p521_uint128)(arg1[3]) * x26);
+ fiat_p521_uint128 x134 = ((fiat_p521_uint128)(arg1[3]) * x27);
+ fiat_p521_uint128 x135 = ((fiat_p521_uint128)(arg1[3]) * x28);
+ fiat_p521_uint128 x136 = ((fiat_p521_uint128)(arg1[3]) * x29);
+ fiat_p521_uint128 x137 = ((fiat_p521_uint128)(arg1[3]) * (arg1[3]));
+ fiat_p521_uint128 x138 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x139 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(x5 * (uint64_t)0x2));
+ fiat_p521_uint128 x140 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(x9 * (uint64_t)0x2));
+ fiat_p521_uint128 x141 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(x12 * (uint64_t)0x2));
+ fiat_p521_uint128 x142 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)x15);
+ fiat_p521_uint128 x143 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(x18 * (uint64_t)0x2));
+ fiat_p521_uint128 x144 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(x21 * (uint64_t)0x2));
+ fiat_p521_uint128 x145 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)x24);
+ fiat_p521_uint128 x146 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(x25 * (uint64_t)0x2));
+ fiat_p521_uint128 x147 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(x26 * (uint64_t)0x2));
+ fiat_p521_uint128 x148 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)x27);
+ fiat_p521_uint128 x149 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(x28 * (uint64_t)0x2));
+ fiat_p521_uint128 x150 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)(x29 * (uint64_t)0x2));
+ fiat_p521_uint128 x151 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)x30);
+ fiat_p521_uint128 x152 = ((uint32_t)(arg1[2]) * (fiat_p521_uint128)((uint32_t)(arg1[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x153 = ((fiat_p521_uint128)(arg1[1]) * (x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x154 = ((fiat_p521_uint128)(arg1[1]) * x6);
+ fiat_p521_uint128 x155 = ((fiat_p521_uint128)(arg1[1]) * (x9 * (uint64_t)0x2));
+ fiat_p521_uint128 x156 = ((fiat_p521_uint128)(arg1[1]) * x12);
+ fiat_p521_uint128 x157 = ((fiat_p521_uint128)(arg1[1]) * x15);
+ fiat_p521_uint128 x158 = ((fiat_p521_uint128)(arg1[1]) * (x18 * (uint64_t)0x2));
+ fiat_p521_uint128 x159 = ((fiat_p521_uint128)(arg1[1]) * x21);
+ fiat_p521_uint128 x160 = ((fiat_p521_uint128)(arg1[1]) * x24);
+ fiat_p521_uint128 x161 = ((fiat_p521_uint128)(arg1[1]) * (x25 * (uint64_t)0x2));
+ fiat_p521_uint128 x162 = ((fiat_p521_uint128)(arg1[1]) * x26);
+ fiat_p521_uint128 x163 = ((fiat_p521_uint128)(arg1[1]) * x27);
+ fiat_p521_uint128 x164 = ((fiat_p521_uint128)(arg1[1]) * (x28 * (uint64_t)0x2));
+ fiat_p521_uint128 x165 = ((fiat_p521_uint128)(arg1[1]) * x29);
+ fiat_p521_uint128 x166 = ((fiat_p521_uint128)(arg1[1]) * x30);
+ fiat_p521_uint128 x167 = ((fiat_p521_uint128)(arg1[1]) * (x31 * (uint64_t)0x2));
+ fiat_p521_uint128 x168 = ((fiat_p521_uint128)(arg1[1]) * (arg1[1]));
+ fiat_p521_uint128 x169 = ((fiat_p521_uint128)(arg1[0]) * x3);
+ fiat_p521_uint128 x170 = ((fiat_p521_uint128)(arg1[0]) * x6);
+ fiat_p521_uint128 x171 = ((fiat_p521_uint128)(arg1[0]) * x9);
+ fiat_p521_uint128 x172 = ((fiat_p521_uint128)(arg1[0]) * x12);
+ fiat_p521_uint128 x173 = ((fiat_p521_uint128)(arg1[0]) * x15);
+ fiat_p521_uint128 x174 = ((fiat_p521_uint128)(arg1[0]) * x18);
+ fiat_p521_uint128 x175 = ((fiat_p521_uint128)(arg1[0]) * x21);
+ fiat_p521_uint128 x176 = ((fiat_p521_uint128)(arg1[0]) * x24);
+ fiat_p521_uint128 x177 = ((fiat_p521_uint128)(arg1[0]) * x25);
+ fiat_p521_uint128 x178 = ((fiat_p521_uint128)(arg1[0]) * x26);
+ fiat_p521_uint128 x179 = ((fiat_p521_uint128)(arg1[0]) * x27);
+ fiat_p521_uint128 x180 = ((fiat_p521_uint128)(arg1[0]) * x28);
+ fiat_p521_uint128 x181 = ((fiat_p521_uint128)(arg1[0]) * x29);
+ fiat_p521_uint128 x182 = ((fiat_p521_uint128)(arg1[0]) * x30);
+ fiat_p521_uint128 x183 = ((fiat_p521_uint128)(arg1[0]) * x31);
+ fiat_p521_uint128 x184 = ((fiat_p521_uint128)(arg1[0]) * x32);
+ fiat_p521_uint128 x185 = ((fiat_p521_uint128)(arg1[0]) * (arg1[0]));
+ fiat_p521_uint128 x186 = (x185 + (x153 + (x139 + (x126 + (x114 + (x103 + (x93 + (x84 + x76))))))));
+ uint64_t x187 = (uint64_t)(x186 >> 31);
+ uint32_t x188 = (uint32_t)(x186 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x189 = (x169 + (x154 + (x140 + (x127 + (x115 + (x104 + (x94 + (x85 + x77))))))));
+ fiat_p521_uint128 x190 = (x170 + (x155 + (x141 + (x128 + (x116 + (x105 + (x95 + (x86 + x33))))))));
+ fiat_p521_uint128 x191 = (x171 + (x156 + (x142 + (x129 + (x117 + (x106 + (x96 + (x87 + x34))))))));
+ fiat_p521_uint128 x192 = (x172 + (x157 + (x143 + (x130 + (x118 + (x107 + (x97 + (x36 + x35))))))));
+ fiat_p521_uint128 x193 = (x173 + (x158 + (x144 + (x131 + (x119 + (x108 + (x98 + (x39 + x37))))))));
+ fiat_p521_uint128 x194 = (x174 + (x159 + (x145 + (x132 + (x120 + (x109 + (x43 + (x40 + x38))))))));
+ fiat_p521_uint128 x195 = (x175 + (x160 + (x146 + (x133 + (x121 + (x110 + (x48 + (x44 + x41))))))));
+ fiat_p521_uint128 x196 = (x176 + (x161 + (x147 + (x134 + (x122 + (x54 + (x49 + (x45 + x42))))))));
+ fiat_p521_uint128 x197 = (x177 + (x162 + (x148 + (x135 + (x123 + (x61 + (x55 + (x50 + x46))))))));
+ fiat_p521_uint128 x198 = (x178 + (x163 + (x149 + (x136 + (x69 + (x62 + (x56 + (x51 + x47))))))));
+ fiat_p521_uint128 x199 = (x179 + (x164 + (x150 + (x137 + (x78 + (x70 + (x63 + (x57 + x52))))))));
+ fiat_p521_uint128 x200 = (x180 + (x165 + (x151 + (x88 + (x79 + (x71 + (x64 + (x58 + x53))))))));
+ fiat_p521_uint128 x201 = (x181 + (x166 + (x152 + (x99 + (x89 + (x80 + (x72 + (x65 + x59))))))));
+ fiat_p521_uint128 x202 = (x182 + (x167 + (x111 + (x100 + (x90 + (x81 + (x73 + (x66 + x60))))))));
+ fiat_p521_uint128 x203 = (x183 + (x168 + (x124 + (x112 + (x101 + (x91 + (x82 + (x74 + x67))))))));
+ fiat_p521_uint128 x204 = (x184 + (x138 + (x125 + (x113 + (x102 + (x92 + (x83 + (x75 + x68))))))));
+ fiat_p521_uint128 x205 = (x187 + x204);
+ uint64_t x206 = (uint64_t)(x205 >> 31);
+ uint32_t x207 = (uint32_t)(x205 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x208 = (x206 + x203);
+ uint64_t x209 = (uint64_t)(x208 >> 30);
+ uint32_t x210 = (uint32_t)(x208 & UINT32_C(0x3fffffff));
+ fiat_p521_uint128 x211 = (x209 + x202);
+ uint64_t x212 = (uint64_t)(x211 >> 31);
+ uint32_t x213 = (uint32_t)(x211 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x214 = (x212 + x201);
+ uint64_t x215 = (uint64_t)(x214 >> 31);
+ uint32_t x216 = (uint32_t)(x214 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x217 = (x215 + x200);
+ uint64_t x218 = (uint64_t)(x217 >> 30);
+ uint32_t x219 = (uint32_t)(x217 & UINT32_C(0x3fffffff));
+ fiat_p521_uint128 x220 = (x218 + x199);
+ uint64_t x221 = (uint64_t)(x220 >> 31);
+ uint32_t x222 = (uint32_t)(x220 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x223 = (x221 + x198);
+ uint64_t x224 = (uint64_t)(x223 >> 31);
+ uint32_t x225 = (uint32_t)(x223 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x226 = (x224 + x197);
+ uint64_t x227 = (uint64_t)(x226 >> 30);
+ uint32_t x228 = (uint32_t)(x226 & UINT32_C(0x3fffffff));
+ fiat_p521_uint128 x229 = (x227 + x196);
+ uint64_t x230 = (uint64_t)(x229 >> 31);
+ uint32_t x231 = (uint32_t)(x229 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x232 = (x230 + x195);
+ uint64_t x233 = (uint64_t)(x232 >> 31);
+ uint32_t x234 = (uint32_t)(x232 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x235 = (x233 + x194);
+ uint64_t x236 = (uint64_t)(x235 >> 30);
+ uint32_t x237 = (uint32_t)(x235 & UINT32_C(0x3fffffff));
+ fiat_p521_uint128 x238 = (x236 + x193);
+ uint64_t x239 = (uint64_t)(x238 >> 31);
+ uint32_t x240 = (uint32_t)(x238 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x241 = (x239 + x192);
+ uint64_t x242 = (uint64_t)(x241 >> 31);
+ uint32_t x243 = (uint32_t)(x241 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x244 = (x242 + x191);
+ uint64_t x245 = (uint64_t)(x244 >> 30);
+ uint32_t x246 = (uint32_t)(x244 & UINT32_C(0x3fffffff));
+ fiat_p521_uint128 x247 = (x245 + x190);
+ uint64_t x248 = (uint64_t)(x247 >> 31);
+ uint32_t x249 = (uint32_t)(x247 & UINT32_C(0x7fffffff));
+ fiat_p521_uint128 x250 = (x248 + x189);
+ uint64_t x251 = (uint64_t)(x250 >> 30);
+ uint32_t x252 = (uint32_t)(x250 & UINT32_C(0x3fffffff));
+ uint64_t x253 = (x188 + x251);
+ uint32_t x254 = (uint32_t)(x253 >> 31);
+ uint32_t x255 = (uint32_t)(x253 & UINT32_C(0x7fffffff));
+ uint32_t x256 = (x254 + x207);
+ uint32_t x257 = (x256 >> 31);
+ uint32_t x258 = (x256 & UINT32_C(0x7fffffff));
+ uint32_t x259 = (x257 + x210);
+ out1[0] = x255;
+ out1[1] = x258;
+ out1[2] = x259;
+ out1[3] = x213;
+ out1[4] = x216;
+ out1[5] = x219;
+ out1[6] = x222;
+ out1[7] = x225;
+ out1[8] = x228;
+ out1[9] = x231;
+ out1[10] = x234;
+ out1[11] = x237;
+ out1[12] = x240;
+ out1[13] = x243;
+ out1[14] = x246;
+ out1[15] = x249;
+ out1[16] = x252;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666]]
+ */
+static void fiat_p521_carry(uint32_t out1[17], const uint64_t arg1[17]) {
+ uint64_t x1 = (arg1[0]);
+ uint64_t x2 = ((uint32_t)(x1 >> 31) + (arg1[1]));
+ uint32_t x3 = ((uint32_t)(x2 >> 31) + (uint32_t)(arg1[2]));
+ uint64_t x4 = ((x3 >> 30) + (arg1[3]));
+ uint64_t x5 = ((uint32_t)(x4 >> 31) + (arg1[4]));
+ uint32_t x6 = ((uint32_t)(x5 >> 31) + (uint32_t)(arg1[5]));
+ uint64_t x7 = ((x6 >> 30) + (arg1[6]));
+ uint64_t x8 = ((uint32_t)(x7 >> 31) + (arg1[7]));
+ uint32_t x9 = ((uint32_t)(x8 >> 31) + (uint32_t)(arg1[8]));
+ uint64_t x10 = ((x9 >> 30) + (arg1[9]));
+ uint64_t x11 = ((uint32_t)(x10 >> 31) + (arg1[10]));
+ uint32_t x12 = ((uint32_t)(x11 >> 31) + (uint32_t)(arg1[11]));
+ uint64_t x13 = ((x12 >> 30) + (arg1[12]));
+ uint64_t x14 = ((uint32_t)(x13 >> 31) + (arg1[13]));
+ uint32_t x15 = ((uint32_t)(x14 >> 31) + (uint32_t)(arg1[14]));
+ uint64_t x16 = ((x15 >> 30) + (arg1[15]));
+ uint32_t x17 = ((uint32_t)(x16 >> 31) + (uint32_t)(arg1[16]));
+ uint32_t x18 = ((uint32_t)(x1 & UINT32_C(0x7fffffff)) + (x17 >> 30));
+ uint32_t x19 = ((x18 >> 31) + (uint32_t)(x2 & UINT32_C(0x7fffffff)));
+ uint32_t x20 = (x18 & UINT32_C(0x7fffffff));
+ uint32_t x21 = (x19 & UINT32_C(0x7fffffff));
+ uint32_t x22 = ((x19 >> 31) + (x3 & UINT32_C(0x3fffffff)));
+ uint32_t x23 = (uint32_t)(x4 & UINT32_C(0x7fffffff));
+ uint32_t x24 = (uint32_t)(x5 & UINT32_C(0x7fffffff));
+ uint32_t x25 = (x6 & UINT32_C(0x3fffffff));
+ uint32_t x26 = (uint32_t)(x7 & UINT32_C(0x7fffffff));
+ uint32_t x27 = (uint32_t)(x8 & UINT32_C(0x7fffffff));
+ uint32_t x28 = (x9 & UINT32_C(0x3fffffff));
+ uint32_t x29 = (uint32_t)(x10 & UINT32_C(0x7fffffff));
+ uint32_t x30 = (uint32_t)(x11 & UINT32_C(0x7fffffff));
+ uint32_t x31 = (x12 & UINT32_C(0x3fffffff));
+ uint32_t x32 = (uint32_t)(x13 & UINT32_C(0x7fffffff));
+ uint32_t x33 = (uint32_t)(x14 & UINT32_C(0x7fffffff));
+ uint32_t x34 = (x15 & UINT32_C(0x3fffffff));
+ uint32_t x35 = (uint32_t)(x16 & UINT32_C(0x7fffffff));
+ uint32_t x36 = (x17 & UINT32_C(0x3fffffff));
+ out1[0] = x20;
+ out1[1] = x21;
+ out1[2] = x22;
+ out1[3] = x23;
+ out1[4] = x24;
+ out1[5] = x25;
+ out1[6] = x26;
+ out1[7] = x27;
+ out1[8] = x28;
+ out1[9] = x29;
+ out1[10] = x30;
+ out1[11] = x31;
+ out1[12] = x32;
+ out1[13] = x33;
+ out1[14] = x34;
+ out1[15] = x35;
+ out1[16] = x36;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666]]
+ * arg2: [[0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332]]
+ */
+static void fiat_p521_add(uint64_t out1[17], const uint32_t arg1[17], const uint32_t arg2[17]) {
+ uint64_t x1 = ((uint64_t)(arg1[0]) + (arg2[0]));
+ uint64_t x2 = ((uint64_t)(arg1[1]) + (arg2[1]));
+ uint32_t x3 = ((arg1[2]) + (arg2[2]));
+ uint64_t x4 = ((uint64_t)(arg1[3]) + (arg2[3]));
+ uint64_t x5 = ((uint64_t)(arg1[4]) + (arg2[4]));
+ uint32_t x6 = ((arg1[5]) + (arg2[5]));
+ uint64_t x7 = ((uint64_t)(arg1[6]) + (arg2[6]));
+ uint64_t x8 = ((uint64_t)(arg1[7]) + (arg2[7]));
+ uint32_t x9 = ((arg1[8]) + (arg2[8]));
+ uint64_t x10 = ((uint64_t)(arg1[9]) + (arg2[9]));
+ uint64_t x11 = ((uint64_t)(arg1[10]) + (arg2[10]));
+ uint32_t x12 = ((arg1[11]) + (arg2[11]));
+ uint64_t x13 = ((uint64_t)(arg1[12]) + (arg2[12]));
+ uint64_t x14 = ((uint64_t)(arg1[13]) + (arg2[13]));
+ uint32_t x15 = ((arg1[14]) + (arg2[14]));
+ uint64_t x16 = ((uint64_t)(arg1[15]) + (arg2[15]));
+ uint32_t x17 = ((arg1[16]) + (arg2[16]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+ out1[9] = x10;
+ out1[10] = x11;
+ out1[11] = x12;
+ out1[12] = x13;
+ out1[13] = x14;
+ out1[14] = x15;
+ out1[15] = x16;
+ out1[16] = x17;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666]]
+ * arg2: [[0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332]]
+ */
+static void fiat_p521_sub(uint64_t out1[17], const uint32_t arg1[17], const uint32_t arg2[17]) {
+ uint64_t x1 = (((uint64_t)UINT32_C(0xfffffffe) + (arg1[0])) - (arg2[0]));
+ uint64_t x2 = (((uint64_t)UINT32_C(0xfffffffe) + (arg1[1])) - (arg2[1]));
+ uint32_t x3 = ((UINT32_C(0x7ffffffe) + (arg1[2])) - (arg2[2]));
+ uint64_t x4 = (((uint64_t)UINT32_C(0xfffffffe) + (arg1[3])) - (arg2[3]));
+ uint64_t x5 = (((uint64_t)UINT32_C(0xfffffffe) + (arg1[4])) - (arg2[4]));
+ uint32_t x6 = ((UINT32_C(0x7ffffffe) + (arg1[5])) - (arg2[5]));
+ uint64_t x7 = (((uint64_t)UINT32_C(0xfffffffe) + (arg1[6])) - (arg2[6]));
+ uint64_t x8 = (((uint64_t)UINT32_C(0xfffffffe) + (arg1[7])) - (arg2[7]));
+ uint32_t x9 = ((UINT32_C(0x7ffffffe) + (arg1[8])) - (arg2[8]));
+ uint64_t x10 = (((uint64_t)UINT32_C(0xfffffffe) + (arg1[9])) - (arg2[9]));
+ uint64_t x11 = (((uint64_t)UINT32_C(0xfffffffe) + (arg1[10])) - (arg2[10]));
+ uint32_t x12 = ((UINT32_C(0x7ffffffe) + (arg1[11])) - (arg2[11]));
+ uint64_t x13 = (((uint64_t)UINT32_C(0xfffffffe) + (arg1[12])) - (arg2[12]));
+ uint64_t x14 = (((uint64_t)UINT32_C(0xfffffffe) + (arg1[13])) - (arg2[13]));
+ uint32_t x15 = ((UINT32_C(0x7ffffffe) + (arg1[14])) - (arg2[14]));
+ uint64_t x16 = (((uint64_t)UINT32_C(0xfffffffe) + (arg1[15])) - (arg2[15]));
+ uint32_t x17 = ((UINT32_C(0x7ffffffe) + (arg1[16])) - (arg2[16]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+ out1[9] = x10;
+ out1[10] = x11;
+ out1[11] = x12;
+ out1[12] = x13;
+ out1[13] = x14;
+ out1[14] = x15;
+ out1[15] = x16;
+ out1[16] = x17;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332], [0x0 ~> 0x1a6666664], [0x0 ~> 0xd3333332]]
+ */
+static void fiat_p521_opp(uint32_t out1[17], const uint32_t arg1[17]) {
+ uint32_t x1 = (UINT32_C(0xfffffffe) - (arg1[0]));
+ uint32_t x2 = (UINT32_C(0xfffffffe) - (arg1[1]));
+ uint32_t x3 = (UINT32_C(0x7ffffffe) - (arg1[2]));
+ uint32_t x4 = (UINT32_C(0xfffffffe) - (arg1[3]));
+ uint32_t x5 = (UINT32_C(0xfffffffe) - (arg1[4]));
+ uint32_t x6 = (UINT32_C(0x7ffffffe) - (arg1[5]));
+ uint32_t x7 = (UINT32_C(0xfffffffe) - (arg1[6]));
+ uint32_t x8 = (UINT32_C(0xfffffffe) - (arg1[7]));
+ uint32_t x9 = (UINT32_C(0x7ffffffe) - (arg1[8]));
+ uint32_t x10 = (UINT32_C(0xfffffffe) - (arg1[9]));
+ uint32_t x11 = (UINT32_C(0xfffffffe) - (arg1[10]));
+ uint32_t x12 = (UINT32_C(0x7ffffffe) - (arg1[11]));
+ uint32_t x13 = (UINT32_C(0xfffffffe) - (arg1[12]));
+ uint32_t x14 = (UINT32_C(0xfffffffe) - (arg1[13]));
+ uint32_t x15 = (UINT32_C(0x7ffffffe) - (arg1[14]));
+ uint32_t x16 = (UINT32_C(0xfffffffe) - (arg1[15]));
+ uint32_t x17 = (UINT32_C(0x7ffffffe) - (arg1[16]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+ out1[9] = x10;
+ out1[10] = x11;
+ out1[11] = x12;
+ out1[12] = x13;
+ out1[13] = x14;
+ out1[14] = x15;
+ out1[15] = x16;
+ out1[16] = x17;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_p521_selectznz(uint32_t out1[17], fiat_p521_uint1 arg1, const uint32_t arg2[17], const uint32_t arg3[17]) {
+ uint32_t x1;
+ fiat_p521_cmovznz_u32(&x1, arg1, (arg2[0]), (arg3[0]));
+ uint32_t x2;
+ fiat_p521_cmovznz_u32(&x2, arg1, (arg2[1]), (arg3[1]));
+ uint32_t x3;
+ fiat_p521_cmovznz_u32(&x3, arg1, (arg2[2]), (arg3[2]));
+ uint32_t x4;
+ fiat_p521_cmovznz_u32(&x4, arg1, (arg2[3]), (arg3[3]));
+ uint32_t x5;
+ fiat_p521_cmovznz_u32(&x5, arg1, (arg2[4]), (arg3[4]));
+ uint32_t x6;
+ fiat_p521_cmovznz_u32(&x6, arg1, (arg2[5]), (arg3[5]));
+ uint32_t x7;
+ fiat_p521_cmovznz_u32(&x7, arg1, (arg2[6]), (arg3[6]));
+ uint32_t x8;
+ fiat_p521_cmovznz_u32(&x8, arg1, (arg2[7]), (arg3[7]));
+ uint32_t x9;
+ fiat_p521_cmovznz_u32(&x9, arg1, (arg2[8]), (arg3[8]));
+ uint32_t x10;
+ fiat_p521_cmovznz_u32(&x10, arg1, (arg2[9]), (arg3[9]));
+ uint32_t x11;
+ fiat_p521_cmovznz_u32(&x11, arg1, (arg2[10]), (arg3[10]));
+ uint32_t x12;
+ fiat_p521_cmovznz_u32(&x12, arg1, (arg2[11]), (arg3[11]));
+ uint32_t x13;
+ fiat_p521_cmovznz_u32(&x13, arg1, (arg2[12]), (arg3[12]));
+ uint32_t x14;
+ fiat_p521_cmovznz_u32(&x14, arg1, (arg2[13]), (arg3[13]));
+ uint32_t x15;
+ fiat_p521_cmovznz_u32(&x15, arg1, (arg2[14]), (arg3[14]));
+ uint32_t x16;
+ fiat_p521_cmovznz_u32(&x16, arg1, (arg2[15]), (arg3[15]));
+ uint32_t x17;
+ fiat_p521_cmovznz_u32(&x17, arg1, (arg2[16]), (arg3[16]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+ out1[9] = x10;
+ out1[10] = x11;
+ out1[11] = x12;
+ out1[12] = x13;
+ out1[13] = x14;
+ out1[14] = x15;
+ out1[15] = x16;
+ out1[16] = x17;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x1]]
+ */
+static void fiat_p521_to_bytes(uint8_t out1[66], const uint32_t arg1[17]) {
+ uint32_t x1;
+ fiat_p521_uint1 x2;
+ fiat_p521_subborrowx_u31(&x1, &x2, 0x0, (arg1[0]), UINT32_C(0x7fffffff));
+ uint32_t x3;
+ fiat_p521_uint1 x4;
+ fiat_p521_subborrowx_u31(&x3, &x4, x2, (arg1[1]), UINT32_C(0x7fffffff));
+ uint32_t x5;
+ fiat_p521_uint1 x6;
+ fiat_p521_subborrowx_u30(&x5, &x6, x4, (arg1[2]), UINT32_C(0x3fffffff));
+ uint32_t x7;
+ fiat_p521_uint1 x8;
+ fiat_p521_subborrowx_u31(&x7, &x8, x6, (arg1[3]), UINT32_C(0x7fffffff));
+ uint32_t x9;
+ fiat_p521_uint1 x10;
+ fiat_p521_subborrowx_u31(&x9, &x10, x8, (arg1[4]), UINT32_C(0x7fffffff));
+ uint32_t x11;
+ fiat_p521_uint1 x12;
+ fiat_p521_subborrowx_u30(&x11, &x12, x10, (arg1[5]), UINT32_C(0x3fffffff));
+ uint32_t x13;
+ fiat_p521_uint1 x14;
+ fiat_p521_subborrowx_u31(&x13, &x14, x12, (arg1[6]), UINT32_C(0x7fffffff));
+ uint32_t x15;
+ fiat_p521_uint1 x16;
+ fiat_p521_subborrowx_u31(&x15, &x16, x14, (arg1[7]), UINT32_C(0x7fffffff));
+ uint32_t x17;
+ fiat_p521_uint1 x18;
+ fiat_p521_subborrowx_u30(&x17, &x18, x16, (arg1[8]), UINT32_C(0x3fffffff));
+ uint32_t x19;
+ fiat_p521_uint1 x20;
+ fiat_p521_subborrowx_u31(&x19, &x20, x18, (arg1[9]), UINT32_C(0x7fffffff));
+ uint32_t x21;
+ fiat_p521_uint1 x22;
+ fiat_p521_subborrowx_u31(&x21, &x22, x20, (arg1[10]), UINT32_C(0x7fffffff));
+ uint32_t x23;
+ fiat_p521_uint1 x24;
+ fiat_p521_subborrowx_u30(&x23, &x24, x22, (arg1[11]), UINT32_C(0x3fffffff));
+ uint32_t x25;
+ fiat_p521_uint1 x26;
+ fiat_p521_subborrowx_u31(&x25, &x26, x24, (arg1[12]), UINT32_C(0x7fffffff));
+ uint32_t x27;
+ fiat_p521_uint1 x28;
+ fiat_p521_subborrowx_u31(&x27, &x28, x26, (arg1[13]), UINT32_C(0x7fffffff));
+ uint32_t x29;
+ fiat_p521_uint1 x30;
+ fiat_p521_subborrowx_u30(&x29, &x30, x28, (arg1[14]), UINT32_C(0x3fffffff));
+ uint32_t x31;
+ fiat_p521_uint1 x32;
+ fiat_p521_subborrowx_u31(&x31, &x32, x30, (arg1[15]), UINT32_C(0x7fffffff));
+ uint32_t x33;
+ fiat_p521_uint1 x34;
+ fiat_p521_subborrowx_u30(&x33, &x34, x32, (arg1[16]), UINT32_C(0x3fffffff));
+ uint32_t x35;
+ fiat_p521_cmovznz_u32(&x35, x34, 0x0, UINT32_C(0xffffffff));
+ uint32_t x36;
+ fiat_p521_uint1 x37;
+ fiat_p521_addcarryx_u31(&x36, &x37, 0x0, (x35 & UINT32_C(0x7fffffff)), x1);
+ uint32_t x38;
+ fiat_p521_uint1 x39;
+ fiat_p521_addcarryx_u31(&x38, &x39, x37, (x35 & UINT32_C(0x7fffffff)), x3);
+ uint32_t x40;
+ fiat_p521_uint1 x41;
+ fiat_p521_addcarryx_u30(&x40, &x41, x39, (x35 & UINT32_C(0x3fffffff)), x5);
+ uint32_t x42;
+ fiat_p521_uint1 x43;
+ fiat_p521_addcarryx_u31(&x42, &x43, x41, (x35 & UINT32_C(0x7fffffff)), x7);
+ uint32_t x44;
+ fiat_p521_uint1 x45;
+ fiat_p521_addcarryx_u31(&x44, &x45, x43, (x35 & UINT32_C(0x7fffffff)), x9);
+ uint32_t x46;
+ fiat_p521_uint1 x47;
+ fiat_p521_addcarryx_u30(&x46, &x47, x45, (x35 & UINT32_C(0x3fffffff)), x11);
+ uint32_t x48;
+ fiat_p521_uint1 x49;
+ fiat_p521_addcarryx_u31(&x48, &x49, x47, (x35 & UINT32_C(0x7fffffff)), x13);
+ uint32_t x50;
+ fiat_p521_uint1 x51;
+ fiat_p521_addcarryx_u31(&x50, &x51, x49, (x35 & UINT32_C(0x7fffffff)), x15);
+ uint32_t x52;
+ fiat_p521_uint1 x53;
+ fiat_p521_addcarryx_u30(&x52, &x53, x51, (x35 & UINT32_C(0x3fffffff)), x17);
+ uint32_t x54;
+ fiat_p521_uint1 x55;
+ fiat_p521_addcarryx_u31(&x54, &x55, x53, (x35 & UINT32_C(0x7fffffff)), x19);
+ uint32_t x56;
+ fiat_p521_uint1 x57;
+ fiat_p521_addcarryx_u31(&x56, &x57, x55, (x35 & UINT32_C(0x7fffffff)), x21);
+ uint32_t x58;
+ fiat_p521_uint1 x59;
+ fiat_p521_addcarryx_u30(&x58, &x59, x57, (x35 & UINT32_C(0x3fffffff)), x23);
+ uint32_t x60;
+ fiat_p521_uint1 x61;
+ fiat_p521_addcarryx_u31(&x60, &x61, x59, (x35 & UINT32_C(0x7fffffff)), x25);
+ uint32_t x62;
+ fiat_p521_uint1 x63;
+ fiat_p521_addcarryx_u31(&x62, &x63, x61, (x35 & UINT32_C(0x7fffffff)), x27);
+ uint32_t x64;
+ fiat_p521_uint1 x65;
+ fiat_p521_addcarryx_u30(&x64, &x65, x63, (x35 & UINT32_C(0x3fffffff)), x29);
+ uint32_t x66;
+ fiat_p521_uint1 x67;
+ fiat_p521_addcarryx_u31(&x66, &x67, x65, (x35 & UINT32_C(0x7fffffff)), x31);
+ uint32_t x68;
+ fiat_p521_uint1 x69;
+ fiat_p521_addcarryx_u30(&x68, &x69, x67, (x35 & UINT32_C(0x3fffffff)), x33);
+ uint64_t x70 = ((uint64_t)x68 << 3);
+ uint64_t x71 = ((uint64_t)x66 << 4);
+ uint64_t x72 = ((uint64_t)x64 << 6);
+ uint64_t x73 = ((uint64_t)x62 << 7);
+ uint32_t x74 = (x58 << 2);
+ uint64_t x75 = ((uint64_t)x56 << 3);
+ uint64_t x76 = ((uint64_t)x54 << 4);
+ uint64_t x77 = ((uint64_t)x52 << 6);
+ uint64_t x78 = ((uint64_t)x50 << 7);
+ uint32_t x79 = (x46 << 2);
+ uint64_t x80 = ((uint64_t)x44 << 3);
+ uint64_t x81 = ((uint64_t)x42 << 4);
+ uint64_t x82 = ((uint64_t)x40 << 6);
+ uint64_t x83 = ((uint64_t)x38 << 7);
+ uint32_t x84 = (x36 >> 8);
+ uint8_t x85 = (uint8_t)(x36 & UINT8_C(0xff));
+ uint32_t x86 = (x84 >> 8);
+ uint8_t x87 = (uint8_t)(x84 & UINT8_C(0xff));
+ uint8_t x88 = (uint8_t)(x86 >> 8);
+ uint8_t x89 = (uint8_t)(x86 & UINT8_C(0xff));
+ uint64_t x90 = (x88 + x83);
+ uint32_t x91 = (uint32_t)(x90 >> 8);
+ uint8_t x92 = (uint8_t)(x90 & UINT8_C(0xff));
+ uint32_t x93 = (x91 >> 8);
+ uint8_t x94 = (uint8_t)(x91 & UINT8_C(0xff));
+ uint32_t x95 = (x93 >> 8);
+ uint8_t x96 = (uint8_t)(x93 & UINT8_C(0xff));
+ uint8_t x97 = (uint8_t)(x95 >> 8);
+ uint8_t x98 = (uint8_t)(x95 & UINT8_C(0xff));
+ uint64_t x99 = (x97 + x82);
+ uint32_t x100 = (uint32_t)(x99 >> 8);
+ uint8_t x101 = (uint8_t)(x99 & UINT8_C(0xff));
+ uint32_t x102 = (x100 >> 8);
+ uint8_t x103 = (uint8_t)(x100 & UINT8_C(0xff));
+ uint32_t x104 = (x102 >> 8);
+ uint8_t x105 = (uint8_t)(x102 & UINT8_C(0xff));
+ uint8_t x106 = (uint8_t)(x104 >> 8);
+ uint8_t x107 = (uint8_t)(x104 & UINT8_C(0xff));
+ uint64_t x108 = (x106 + x81);
+ uint32_t x109 = (uint32_t)(x108 >> 8);
+ uint8_t x110 = (uint8_t)(x108 & UINT8_C(0xff));
+ uint32_t x111 = (x109 >> 8);
+ uint8_t x112 = (uint8_t)(x109 & UINT8_C(0xff));
+ uint32_t x113 = (x111 >> 8);
+ uint8_t x114 = (uint8_t)(x111 & UINT8_C(0xff));
+ uint8_t x115 = (uint8_t)(x113 >> 8);
+ uint8_t x116 = (uint8_t)(x113 & UINT8_C(0xff));
+ uint64_t x117 = (x115 + x80);
+ uint32_t x118 = (uint32_t)(x117 >> 8);
+ uint8_t x119 = (uint8_t)(x117 & UINT8_C(0xff));
+ uint32_t x120 = (x118 >> 8);
+ uint8_t x121 = (uint8_t)(x118 & UINT8_C(0xff));
+ uint32_t x122 = (x120 >> 8);
+ uint8_t x123 = (uint8_t)(x120 & UINT8_C(0xff));
+ uint8_t x124 = (uint8_t)(x122 >> 8);
+ uint8_t x125 = (uint8_t)(x122 & UINT8_C(0xff));
+ uint32_t x126 = (x124 + x79);
+ uint32_t x127 = (x126 >> 8);
+ uint8_t x128 = (uint8_t)(x126 & UINT8_C(0xff));
+ uint32_t x129 = (x127 >> 8);
+ uint8_t x130 = (uint8_t)(x127 & UINT8_C(0xff));
+ uint8_t x131 = (uint8_t)(x129 >> 8);
+ uint8_t x132 = (uint8_t)(x129 & UINT8_C(0xff));
+ fiat_p521_uint1 x133 = (fiat_p521_uint1)(x131 >> 8);
+ uint8_t x134 = (uint8_t)(x131 & UINT8_C(0xff));
+ uint32_t x135 = (x133 + x48);
+ uint32_t x136 = (x135 >> 8);
+ uint8_t x137 = (uint8_t)(x135 & UINT8_C(0xff));
+ uint32_t x138 = (x136 >> 8);
+ uint8_t x139 = (uint8_t)(x136 & UINT8_C(0xff));
+ uint8_t x140 = (uint8_t)(x138 >> 8);
+ uint8_t x141 = (uint8_t)(x138 & UINT8_C(0xff));
+ uint64_t x142 = (x140 + x78);
+ uint32_t x143 = (uint32_t)(x142 >> 8);
+ uint8_t x144 = (uint8_t)(x142 & UINT8_C(0xff));
+ uint32_t x145 = (x143 >> 8);
+ uint8_t x146 = (uint8_t)(x143 & UINT8_C(0xff));
+ uint32_t x147 = (x145 >> 8);
+ uint8_t x148 = (uint8_t)(x145 & UINT8_C(0xff));
+ uint8_t x149 = (uint8_t)(x147 >> 8);
+ uint8_t x150 = (uint8_t)(x147 & UINT8_C(0xff));
+ uint64_t x151 = (x149 + x77);
+ uint32_t x152 = (uint32_t)(x151 >> 8);
+ uint8_t x153 = (uint8_t)(x151 & UINT8_C(0xff));
+ uint32_t x154 = (x152 >> 8);
+ uint8_t x155 = (uint8_t)(x152 & UINT8_C(0xff));
+ uint32_t x156 = (x154 >> 8);
+ uint8_t x157 = (uint8_t)(x154 & UINT8_C(0xff));
+ uint8_t x158 = (uint8_t)(x156 >> 8);
+ uint8_t x159 = (uint8_t)(x156 & UINT8_C(0xff));
+ uint64_t x160 = (x158 + x76);
+ uint32_t x161 = (uint32_t)(x160 >> 8);
+ uint8_t x162 = (uint8_t)(x160 & UINT8_C(0xff));
+ uint32_t x163 = (x161 >> 8);
+ uint8_t x164 = (uint8_t)(x161 & UINT8_C(0xff));
+ uint32_t x165 = (x163 >> 8);
+ uint8_t x166 = (uint8_t)(x163 & UINT8_C(0xff));
+ uint8_t x167 = (uint8_t)(x165 >> 8);
+ uint8_t x168 = (uint8_t)(x165 & UINT8_C(0xff));
+ uint64_t x169 = (x167 + x75);
+ uint32_t x170 = (uint32_t)(x169 >> 8);
+ uint8_t x171 = (uint8_t)(x169 & UINT8_C(0xff));
+ uint32_t x172 = (x170 >> 8);
+ uint8_t x173 = (uint8_t)(x170 & UINT8_C(0xff));
+ uint32_t x174 = (x172 >> 8);
+ uint8_t x175 = (uint8_t)(x172 & UINT8_C(0xff));
+ uint8_t x176 = (uint8_t)(x174 >> 8);
+ uint8_t x177 = (uint8_t)(x174 & UINT8_C(0xff));
+ uint32_t x178 = (x176 + x74);
+ uint32_t x179 = (x178 >> 8);
+ uint8_t x180 = (uint8_t)(x178 & UINT8_C(0xff));
+ uint32_t x181 = (x179 >> 8);
+ uint8_t x182 = (uint8_t)(x179 & UINT8_C(0xff));
+ uint8_t x183 = (uint8_t)(x181 >> 8);
+ uint8_t x184 = (uint8_t)(x181 & UINT8_C(0xff));
+ fiat_p521_uint1 x185 = (fiat_p521_uint1)(x183 >> 8);
+ uint8_t x186 = (uint8_t)(x183 & UINT8_C(0xff));
+ uint32_t x187 = (x185 + x60);
+ uint32_t x188 = (x187 >> 8);
+ uint8_t x189 = (uint8_t)(x187 & UINT8_C(0xff));
+ uint32_t x190 = (x188 >> 8);
+ uint8_t x191 = (uint8_t)(x188 & UINT8_C(0xff));
+ uint8_t x192 = (uint8_t)(x190 >> 8);
+ uint8_t x193 = (uint8_t)(x190 & UINT8_C(0xff));
+ uint64_t x194 = (x192 + x73);
+ uint32_t x195 = (uint32_t)(x194 >> 8);
+ uint8_t x196 = (uint8_t)(x194 & UINT8_C(0xff));
+ uint32_t x197 = (x195 >> 8);
+ uint8_t x198 = (uint8_t)(x195 & UINT8_C(0xff));
+ uint32_t x199 = (x197 >> 8);
+ uint8_t x200 = (uint8_t)(x197 & UINT8_C(0xff));
+ uint8_t x201 = (uint8_t)(x199 >> 8);
+ uint8_t x202 = (uint8_t)(x199 & UINT8_C(0xff));
+ uint64_t x203 = (x201 + x72);
+ uint32_t x204 = (uint32_t)(x203 >> 8);
+ uint8_t x205 = (uint8_t)(x203 & UINT8_C(0xff));
+ uint32_t x206 = (x204 >> 8);
+ uint8_t x207 = (uint8_t)(x204 & UINT8_C(0xff));
+ uint32_t x208 = (x206 >> 8);
+ uint8_t x209 = (uint8_t)(x206 & UINT8_C(0xff));
+ uint8_t x210 = (uint8_t)(x208 >> 8);
+ uint8_t x211 = (uint8_t)(x208 & UINT8_C(0xff));
+ uint64_t x212 = (x210 + x71);
+ uint32_t x213 = (uint32_t)(x212 >> 8);
+ uint8_t x214 = (uint8_t)(x212 & UINT8_C(0xff));
+ uint32_t x215 = (x213 >> 8);
+ uint8_t x216 = (uint8_t)(x213 & UINT8_C(0xff));
+ uint32_t x217 = (x215 >> 8);
+ uint8_t x218 = (uint8_t)(x215 & UINT8_C(0xff));
+ uint8_t x219 = (uint8_t)(x217 >> 8);
+ uint8_t x220 = (uint8_t)(x217 & UINT8_C(0xff));
+ uint64_t x221 = (x219 + x70);
+ uint32_t x222 = (uint32_t)(x221 >> 8);
+ uint8_t x223 = (uint8_t)(x221 & UINT8_C(0xff));
+ uint32_t x224 = (x222 >> 8);
+ uint8_t x225 = (uint8_t)(x222 & UINT8_C(0xff));
+ uint32_t x226 = (x224 >> 8);
+ uint8_t x227 = (uint8_t)(x224 & UINT8_C(0xff));
+ fiat_p521_uint1 x228 = (fiat_p521_uint1)(x226 >> 8);
+ uint8_t x229 = (uint8_t)(x226 & UINT8_C(0xff));
+ out1[0] = x85;
+ out1[1] = x87;
+ out1[2] = x89;
+ out1[3] = x92;
+ out1[4] = x94;
+ out1[5] = x96;
+ out1[6] = x98;
+ out1[7] = x101;
+ out1[8] = x103;
+ out1[9] = x105;
+ out1[10] = x107;
+ out1[11] = x110;
+ out1[12] = x112;
+ out1[13] = x114;
+ out1[14] = x116;
+ out1[15] = x119;
+ out1[16] = x121;
+ out1[17] = x123;
+ out1[18] = x125;
+ out1[19] = x128;
+ out1[20] = x130;
+ out1[21] = x132;
+ out1[22] = x134;
+ out1[23] = x137;
+ out1[24] = x139;
+ out1[25] = x141;
+ out1[26] = x144;
+ out1[27] = x146;
+ out1[28] = x148;
+ out1[29] = x150;
+ out1[30] = x153;
+ out1[31] = x155;
+ out1[32] = x157;
+ out1[33] = x159;
+ out1[34] = x162;
+ out1[35] = x164;
+ out1[36] = x166;
+ out1[37] = x168;
+ out1[38] = x171;
+ out1[39] = x173;
+ out1[40] = x175;
+ out1[41] = x177;
+ out1[42] = x180;
+ out1[43] = x182;
+ out1[44] = x184;
+ out1[45] = x186;
+ out1[46] = x189;
+ out1[47] = x191;
+ out1[48] = x193;
+ out1[49] = x196;
+ out1[50] = x198;
+ out1[51] = x200;
+ out1[52] = x202;
+ out1[53] = x205;
+ out1[54] = x207;
+ out1[55] = x209;
+ out1[56] = x211;
+ out1[57] = x214;
+ out1[58] = x216;
+ out1[59] = x218;
+ out1[60] = x220;
+ out1[61] = x223;
+ out1[62] = x225;
+ out1[63] = x227;
+ out1[64] = x229;
+ out1[65] = x228;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x1]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666], [0x0 ~> 0x8ccccccc], [0x0 ~> 0x46666666]]
+ */
+static void fiat_p521_from_bytes(uint32_t out1[17], const uint8_t arg1[66]) {
+ uint32_t x1 = ((uint32_t)(fiat_p521_uint1)(arg1[65]) << 29);
+ uint32_t x2 = ((uint32_t)(arg1[64]) << 21);
+ uint32_t x3 = ((uint32_t)(arg1[63]) << 13);
+ uint32_t x4 = ((uint32_t)(arg1[62]) << 5);
+ uint64_t x5 = ((uint64_t)(arg1[61]) << 28);
+ uint32_t x6 = ((uint32_t)(arg1[60]) << 20);
+ uint32_t x7 = ((uint32_t)(arg1[59]) << 12);
+ uint32_t x8 = ((uint32_t)(arg1[58]) << 4);
+ uint64_t x9 = ((uint64_t)(arg1[57]) << 26);
+ uint32_t x10 = ((uint32_t)(arg1[56]) << 18);
+ uint32_t x11 = ((uint32_t)(arg1[55]) << 10);
+ uint32_t x12 = ((uint32_t)(arg1[54]) << 2);
+ uint64_t x13 = ((uint64_t)(arg1[53]) << 25);
+ uint32_t x14 = ((uint32_t)(arg1[52]) << 17);
+ uint32_t x15 = ((uint32_t)(arg1[51]) << 9);
+ uint32_t x16 = ((uint32_t)(arg1[50]) * 0x2);
+ uint32_t x17 = ((uint32_t)(arg1[49]) << 24);
+ uint32_t x18 = ((uint32_t)(arg1[48]) << 16);
+ uint32_t x19 = ((uint32_t)(arg1[47]) << 8);
+ uint8_t x20 = (arg1[46]);
+ uint32_t x21 = ((uint32_t)(arg1[45]) << 22);
+ uint32_t x22 = ((uint32_t)(arg1[44]) << 14);
+ uint32_t x23 = ((uint32_t)(arg1[43]) << 6);
+ uint64_t x24 = ((uint64_t)(arg1[42]) << 29);
+ uint32_t x25 = ((uint32_t)(arg1[41]) << 21);
+ uint32_t x26 = ((uint32_t)(arg1[40]) << 13);
+ uint32_t x27 = ((uint32_t)(arg1[39]) << 5);
+ uint64_t x28 = ((uint64_t)(arg1[38]) << 28);
+ uint32_t x29 = ((uint32_t)(arg1[37]) << 20);
+ uint32_t x30 = ((uint32_t)(arg1[36]) << 12);
+ uint32_t x31 = ((uint32_t)(arg1[35]) << 4);
+ uint64_t x32 = ((uint64_t)(arg1[34]) << 26);
+ uint32_t x33 = ((uint32_t)(arg1[33]) << 18);
+ uint32_t x34 = ((uint32_t)(arg1[32]) << 10);
+ uint32_t x35 = ((uint32_t)(arg1[31]) << 2);
+ uint64_t x36 = ((uint64_t)(arg1[30]) << 25);
+ uint32_t x37 = ((uint32_t)(arg1[29]) << 17);
+ uint32_t x38 = ((uint32_t)(arg1[28]) << 9);
+ uint32_t x39 = ((uint32_t)(arg1[27]) * 0x2);
+ uint32_t x40 = ((uint32_t)(arg1[26]) << 24);
+ uint32_t x41 = ((uint32_t)(arg1[25]) << 16);
+ uint32_t x42 = ((uint32_t)(arg1[24]) << 8);
+ uint8_t x43 = (arg1[23]);
+ uint32_t x44 = ((uint32_t)(arg1[22]) << 22);
+ uint32_t x45 = ((uint32_t)(arg1[21]) << 14);
+ uint32_t x46 = ((uint32_t)(arg1[20]) << 6);
+ uint64_t x47 = ((uint64_t)(arg1[19]) << 29);
+ uint32_t x48 = ((uint32_t)(arg1[18]) << 21);
+ uint32_t x49 = ((uint32_t)(arg1[17]) << 13);
+ uint32_t x50 = ((uint32_t)(arg1[16]) << 5);
+ uint64_t x51 = ((uint64_t)(arg1[15]) << 28);
+ uint32_t x52 = ((uint32_t)(arg1[14]) << 20);
+ uint32_t x53 = ((uint32_t)(arg1[13]) << 12);
+ uint32_t x54 = ((uint32_t)(arg1[12]) << 4);
+ uint64_t x55 = ((uint64_t)(arg1[11]) << 26);
+ uint32_t x56 = ((uint32_t)(arg1[10]) << 18);
+ uint32_t x57 = ((uint32_t)(arg1[9]) << 10);
+ uint32_t x58 = ((uint32_t)(arg1[8]) << 2);
+ uint64_t x59 = ((uint64_t)(arg1[7]) << 25);
+ uint32_t x60 = ((uint32_t)(arg1[6]) << 17);
+ uint32_t x61 = ((uint32_t)(arg1[5]) << 9);
+ uint32_t x62 = ((uint32_t)(arg1[4]) * 0x2);
+ uint32_t x63 = ((uint32_t)(arg1[3]) << 24);
+ uint32_t x64 = ((uint32_t)(arg1[2]) << 16);
+ uint32_t x65 = ((uint32_t)(arg1[1]) << 8);
+ uint8_t x66 = (arg1[0]);
+ uint32_t x67 = (x66 + (x65 + (x64 + x63)));
+ fiat_p521_uint1 x68 = (fiat_p521_uint1)(x67 >> 31);
+ uint32_t x69 = (x67 & UINT32_C(0x7fffffff));
+ uint32_t x70 = (x4 + (x3 + (x2 + x1)));
+ uint64_t x71 = (x8 + (x7 + (x6 + x5)));
+ uint64_t x72 = (x12 + (x11 + (x10 + x9)));
+ uint64_t x73 = (x16 + (x15 + (x14 + x13)));
+ uint32_t x74 = (x20 + (x19 + (x18 + x17)));
+ uint32_t x75 = (x23 + (x22 + x21));
+ uint64_t x76 = (x27 + (x26 + (x25 + x24)));
+ uint64_t x77 = (x31 + (x30 + (x29 + x28)));
+ uint64_t x78 = (x35 + (x34 + (x33 + x32)));
+ uint64_t x79 = (x39 + (x38 + (x37 + x36)));
+ uint32_t x80 = (x43 + (x42 + (x41 + x40)));
+ uint32_t x81 = (x46 + (x45 + x44));
+ uint64_t x82 = (x50 + (x49 + (x48 + x47)));
+ uint64_t x83 = (x54 + (x53 + (x52 + x51)));
+ uint64_t x84 = (x58 + (x57 + (x56 + x55)));
+ uint64_t x85 = (x62 + (x61 + (x60 + x59)));
+ uint64_t x86 = (x68 + x85);
+ uint8_t x87 = (uint8_t)(x86 >> 31);
+ uint32_t x88 = (uint32_t)(x86 & UINT32_C(0x7fffffff));
+ uint64_t x89 = (x87 + x84);
+ uint8_t x90 = (uint8_t)(x89 >> 30);
+ uint32_t x91 = (uint32_t)(x89 & UINT32_C(0x3fffffff));
+ uint64_t x92 = (x90 + x83);
+ uint8_t x93 = (uint8_t)(x92 >> 31);
+ uint32_t x94 = (uint32_t)(x92 & UINT32_C(0x7fffffff));
+ uint64_t x95 = (x93 + x82);
+ uint8_t x96 = (uint8_t)(x95 >> 31);
+ uint32_t x97 = (uint32_t)(x95 & UINT32_C(0x7fffffff));
+ uint32_t x98 = (x96 + x81);
+ fiat_p521_uint1 x99 = (fiat_p521_uint1)(x98 >> 30);
+ uint32_t x100 = (x98 & UINT32_C(0x3fffffff));
+ uint32_t x101 = (x99 + x80);
+ fiat_p521_uint1 x102 = (fiat_p521_uint1)(x101 >> 31);
+ uint32_t x103 = (x101 & UINT32_C(0x7fffffff));
+ uint64_t x104 = (x102 + x79);
+ uint8_t x105 = (uint8_t)(x104 >> 31);
+ uint32_t x106 = (uint32_t)(x104 & UINT32_C(0x7fffffff));
+ uint64_t x107 = (x105 + x78);
+ uint8_t x108 = (uint8_t)(x107 >> 30);
+ uint32_t x109 = (uint32_t)(x107 & UINT32_C(0x3fffffff));
+ uint64_t x110 = (x108 + x77);
+ uint8_t x111 = (uint8_t)(x110 >> 31);
+ uint32_t x112 = (uint32_t)(x110 & UINT32_C(0x7fffffff));
+ uint64_t x113 = (x111 + x76);
+ uint8_t x114 = (uint8_t)(x113 >> 31);
+ uint32_t x115 = (uint32_t)(x113 & UINT32_C(0x7fffffff));
+ uint32_t x116 = (x114 + x75);
+ fiat_p521_uint1 x117 = (fiat_p521_uint1)(x116 >> 30);
+ uint32_t x118 = (x116 & UINT32_C(0x3fffffff));
+ uint32_t x119 = (x117 + x74);
+ fiat_p521_uint1 x120 = (fiat_p521_uint1)(x119 >> 31);
+ uint32_t x121 = (x119 & UINT32_C(0x7fffffff));
+ uint64_t x122 = (x120 + x73);
+ uint8_t x123 = (uint8_t)(x122 >> 31);
+ uint32_t x124 = (uint32_t)(x122 & UINT32_C(0x7fffffff));
+ uint64_t x125 = (x123 + x72);
+ uint8_t x126 = (uint8_t)(x125 >> 30);
+ uint32_t x127 = (uint32_t)(x125 & UINT32_C(0x3fffffff));
+ uint64_t x128 = (x126 + x71);
+ uint8_t x129 = (uint8_t)(x128 >> 31);
+ uint32_t x130 = (uint32_t)(x128 & UINT32_C(0x7fffffff));
+ uint32_t x131 = (x129 + x70);
+ out1[0] = x69;
+ out1[1] = x88;
+ out1[2] = x91;
+ out1[3] = x94;
+ out1[4] = x97;
+ out1[5] = x100;
+ out1[6] = x103;
+ out1[7] = x106;
+ out1[8] = x109;
+ out1[9] = x112;
+ out1[10] = x115;
+ out1[11] = x118;
+ out1[12] = x121;
+ out1[13] = x124;
+ out1[14] = x127;
+ out1[15] = x130;
+ out1[16] = x131;
+}
+
diff --git a/p521_64.c b/p521_64.c
new file mode 100644
index 000000000..069a596d1
--- /dev/null
+++ b/p521_64.c
@@ -0,0 +1,912 @@
+/* Autogenerated */
+/* curve description: p521 */
+/* requested operations: (all) */
+/* n = 9 (from "9") */
+/* s = 0x20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (from "2^521") */
+/* c = [(1, 1)] (from "1,1") */
+/* machine_wordsize = 64 (from "64") */
+
+#include <stdint.h>
+typedef unsigned char fiat_p521_uint1;
+typedef signed char fiat_p521_int1;
+typedef signed __int128 fiat_p521_int128;
+typedef unsigned __int128 fiat_p521_uint128;
+
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0x3ffffffffffffff]
+ * arg3: [0x0 ~> 0x3ffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0x3ffffffffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p521_addcarryx_u58(uint64_t* out1, fiat_p521_uint1* out2, fiat_p521_uint1 arg1, uint64_t arg2, uint64_t arg3) {
+ uint64_t x1 = ((arg1 + arg2) + arg3);
+ uint64_t x2 = (x1 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint1 x3 = (fiat_p521_uint1)(x1 >> 58);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0x3ffffffffffffff]
+ * arg3: [0x0 ~> 0x3ffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0x3ffffffffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p521_subborrowx_u58(uint64_t* out1, fiat_p521_uint1* out2, fiat_p521_uint1 arg1, uint64_t arg2, uint64_t arg3) {
+ int64_t x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
+ fiat_p521_int1 x2 = (fiat_p521_int1)((uint64_t)x1 >> 58);
+ uint64_t x3 = (x1 & UINT64_C(0x3ffffffffffffff));
+ *out1 = x3;
+ *out2 = (fiat_p521_uint1)(0x0 - x2);
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0x1ffffffffffffff]
+ * arg3: [0x0 ~> 0x1ffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0x1ffffffffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p521_addcarryx_u57(uint64_t* out1, fiat_p521_uint1* out2, fiat_p521_uint1 arg1, uint64_t arg2, uint64_t arg3) {
+ uint64_t x1 = ((arg1 + arg2) + arg3);
+ uint64_t x2 = (x1 & UINT64_C(0x1ffffffffffffff));
+ fiat_p521_uint1 x3 = (fiat_p521_uint1)(x1 >> 57);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0x1ffffffffffffff]
+ * arg3: [0x0 ~> 0x1ffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0x1ffffffffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_p521_subborrowx_u57(uint64_t* out1, fiat_p521_uint1* out2, fiat_p521_uint1 arg1, uint64_t arg2, uint64_t arg3) {
+ int64_t x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3);
+ fiat_p521_int1 x2 = (fiat_p521_int1)((uint64_t)x1 >> 57);
+ uint64_t x3 = (x1 & UINT64_C(0x1ffffffffffffff));
+ *out1 = x3;
+ *out2 = (fiat_p521_uint1)(0x0 - x2);
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffffffffffff]
+ * arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_p521_cmovznz_u64(uint64_t* out1, fiat_p521_uint1 arg1, uint64_t arg2, uint64_t arg3) {
+ fiat_p521_uint1 x1 = (!(!arg1));
+ uint64_t x2 = ((fiat_p521_int1)(0x0 - x1) & UINT64_C(0xffffffffffffffff));
+ uint64_t x3 = ((x2 & arg3) | (uint64_t)((fiat_p521_uint128)(~x2) & arg2));
+ *out1 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]]
+ * arg2: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]]
+ */
+static void fiat_p521_carry_mul(uint64_t out1[9], const uint64_t arg1[9], const uint64_t arg2[9]) {
+ fiat_p521_uint128 x1 = ((fiat_p521_uint128)(arg1[8]) * ((arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x2 = ((fiat_p521_uint128)(arg1[8]) * ((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x3 = ((fiat_p521_uint128)(arg1[8]) * ((arg2[6]) * (uint64_t)0x2));
+ fiat_p521_uint128 x4 = ((fiat_p521_uint128)(arg1[8]) * ((arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x5 = ((fiat_p521_uint128)(arg1[8]) * ((arg2[4]) * (uint64_t)0x2));
+ fiat_p521_uint128 x6 = ((fiat_p521_uint128)(arg1[8]) * ((arg2[3]) * (uint64_t)0x2));
+ fiat_p521_uint128 x7 = ((fiat_p521_uint128)(arg1[8]) * ((arg2[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x8 = ((fiat_p521_uint128)(arg1[8]) * ((arg2[1]) * (uint64_t)0x2));
+ fiat_p521_uint128 x9 = ((fiat_p521_uint128)(arg1[7]) * ((arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x10 = ((fiat_p521_uint128)(arg1[7]) * ((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x11 = ((fiat_p521_uint128)(arg1[7]) * ((arg2[6]) * (uint64_t)0x2));
+ fiat_p521_uint128 x12 = ((fiat_p521_uint128)(arg1[7]) * ((arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x13 = ((fiat_p521_uint128)(arg1[7]) * ((arg2[4]) * (uint64_t)0x2));
+ fiat_p521_uint128 x14 = ((fiat_p521_uint128)(arg1[7]) * ((arg2[3]) * (uint64_t)0x2));
+ fiat_p521_uint128 x15 = ((fiat_p521_uint128)(arg1[7]) * ((arg2[2]) * (uint64_t)0x2));
+ fiat_p521_uint128 x16 = ((fiat_p521_uint128)(arg1[6]) * ((arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x17 = ((fiat_p521_uint128)(arg1[6]) * ((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x18 = ((fiat_p521_uint128)(arg1[6]) * ((arg2[6]) * (uint64_t)0x2));
+ fiat_p521_uint128 x19 = ((fiat_p521_uint128)(arg1[6]) * ((arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x20 = ((fiat_p521_uint128)(arg1[6]) * ((arg2[4]) * (uint64_t)0x2));
+ fiat_p521_uint128 x21 = ((fiat_p521_uint128)(arg1[6]) * ((arg2[3]) * (uint64_t)0x2));
+ fiat_p521_uint128 x22 = ((fiat_p521_uint128)(arg1[5]) * ((arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x23 = ((fiat_p521_uint128)(arg1[5]) * ((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x24 = ((fiat_p521_uint128)(arg1[5]) * ((arg2[6]) * (uint64_t)0x2));
+ fiat_p521_uint128 x25 = ((fiat_p521_uint128)(arg1[5]) * ((arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x26 = ((fiat_p521_uint128)(arg1[5]) * ((arg2[4]) * (uint64_t)0x2));
+ fiat_p521_uint128 x27 = ((fiat_p521_uint128)(arg1[4]) * ((arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x28 = ((fiat_p521_uint128)(arg1[4]) * ((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x29 = ((fiat_p521_uint128)(arg1[4]) * ((arg2[6]) * (uint64_t)0x2));
+ fiat_p521_uint128 x30 = ((fiat_p521_uint128)(arg1[4]) * ((arg2[5]) * (uint64_t)0x2));
+ fiat_p521_uint128 x31 = ((fiat_p521_uint128)(arg1[3]) * ((arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x32 = ((fiat_p521_uint128)(arg1[3]) * ((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x33 = ((fiat_p521_uint128)(arg1[3]) * ((arg2[6]) * (uint64_t)0x2));
+ fiat_p521_uint128 x34 = ((fiat_p521_uint128)(arg1[2]) * ((arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x35 = ((fiat_p521_uint128)(arg1[2]) * ((arg2[7]) * (uint64_t)0x2));
+ fiat_p521_uint128 x36 = ((fiat_p521_uint128)(arg1[1]) * ((arg2[8]) * (uint64_t)0x2));
+ fiat_p521_uint128 x37 = ((fiat_p521_uint128)(arg1[8]) * (arg2[0]));
+ fiat_p521_uint128 x38 = ((fiat_p521_uint128)(arg1[7]) * (arg2[1]));
+ fiat_p521_uint128 x39 = ((fiat_p521_uint128)(arg1[7]) * (arg2[0]));
+ fiat_p521_uint128 x40 = ((fiat_p521_uint128)(arg1[6]) * (arg2[2]));
+ fiat_p521_uint128 x41 = ((fiat_p521_uint128)(arg1[6]) * (arg2[1]));
+ fiat_p521_uint128 x42 = ((fiat_p521_uint128)(arg1[6]) * (arg2[0]));
+ fiat_p521_uint128 x43 = ((fiat_p521_uint128)(arg1[5]) * (arg2[3]));
+ fiat_p521_uint128 x44 = ((fiat_p521_uint128)(arg1[5]) * (arg2[2]));
+ fiat_p521_uint128 x45 = ((fiat_p521_uint128)(arg1[5]) * (arg2[1]));
+ fiat_p521_uint128 x46 = ((fiat_p521_uint128)(arg1[5]) * (arg2[0]));
+ fiat_p521_uint128 x47 = ((fiat_p521_uint128)(arg1[4]) * (arg2[4]));
+ fiat_p521_uint128 x48 = ((fiat_p521_uint128)(arg1[4]) * (arg2[3]));
+ fiat_p521_uint128 x49 = ((fiat_p521_uint128)(arg1[4]) * (arg2[2]));
+ fiat_p521_uint128 x50 = ((fiat_p521_uint128)(arg1[4]) * (arg2[1]));
+ fiat_p521_uint128 x51 = ((fiat_p521_uint128)(arg1[4]) * (arg2[0]));
+ fiat_p521_uint128 x52 = ((fiat_p521_uint128)(arg1[3]) * (arg2[5]));
+ fiat_p521_uint128 x53 = ((fiat_p521_uint128)(arg1[3]) * (arg2[4]));
+ fiat_p521_uint128 x54 = ((fiat_p521_uint128)(arg1[3]) * (arg2[3]));
+ fiat_p521_uint128 x55 = ((fiat_p521_uint128)(arg1[3]) * (arg2[2]));
+ fiat_p521_uint128 x56 = ((fiat_p521_uint128)(arg1[3]) * (arg2[1]));
+ fiat_p521_uint128 x57 = ((fiat_p521_uint128)(arg1[3]) * (arg2[0]));
+ fiat_p521_uint128 x58 = ((fiat_p521_uint128)(arg1[2]) * (arg2[6]));
+ fiat_p521_uint128 x59 = ((fiat_p521_uint128)(arg1[2]) * (arg2[5]));
+ fiat_p521_uint128 x60 = ((fiat_p521_uint128)(arg1[2]) * (arg2[4]));
+ fiat_p521_uint128 x61 = ((fiat_p521_uint128)(arg1[2]) * (arg2[3]));
+ fiat_p521_uint128 x62 = ((fiat_p521_uint128)(arg1[2]) * (arg2[2]));
+ fiat_p521_uint128 x63 = ((fiat_p521_uint128)(arg1[2]) * (arg2[1]));
+ fiat_p521_uint128 x64 = ((fiat_p521_uint128)(arg1[2]) * (arg2[0]));
+ fiat_p521_uint128 x65 = ((fiat_p521_uint128)(arg1[1]) * (arg2[7]));
+ fiat_p521_uint128 x66 = ((fiat_p521_uint128)(arg1[1]) * (arg2[6]));
+ fiat_p521_uint128 x67 = ((fiat_p521_uint128)(arg1[1]) * (arg2[5]));
+ fiat_p521_uint128 x68 = ((fiat_p521_uint128)(arg1[1]) * (arg2[4]));
+ fiat_p521_uint128 x69 = ((fiat_p521_uint128)(arg1[1]) * (arg2[3]));
+ fiat_p521_uint128 x70 = ((fiat_p521_uint128)(arg1[1]) * (arg2[2]));
+ fiat_p521_uint128 x71 = ((fiat_p521_uint128)(arg1[1]) * (arg2[1]));
+ fiat_p521_uint128 x72 = ((fiat_p521_uint128)(arg1[1]) * (arg2[0]));
+ fiat_p521_uint128 x73 = ((fiat_p521_uint128)(arg1[0]) * (arg2[8]));
+ fiat_p521_uint128 x74 = ((fiat_p521_uint128)(arg1[0]) * (arg2[7]));
+ fiat_p521_uint128 x75 = ((fiat_p521_uint128)(arg1[0]) * (arg2[6]));
+ fiat_p521_uint128 x76 = ((fiat_p521_uint128)(arg1[0]) * (arg2[5]));
+ fiat_p521_uint128 x77 = ((fiat_p521_uint128)(arg1[0]) * (arg2[4]));
+ fiat_p521_uint128 x78 = ((fiat_p521_uint128)(arg1[0]) * (arg2[3]));
+ fiat_p521_uint128 x79 = ((fiat_p521_uint128)(arg1[0]) * (arg2[2]));
+ fiat_p521_uint128 x80 = ((fiat_p521_uint128)(arg1[0]) * (arg2[1]));
+ fiat_p521_uint128 x81 = ((fiat_p521_uint128)(arg1[0]) * (arg2[0]));
+ fiat_p521_uint128 x82 = (x81 + (x36 + (x35 + (x33 + (x30 + (x26 + (x21 + (x15 + x8))))))));
+ fiat_p521_uint128 x83 = (x82 >> 58);
+ uint64_t x84 = (uint64_t)(x82 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x85 = (x73 + (x65 + (x58 + (x52 + (x47 + (x43 + (x40 + (x38 + x37))))))));
+ fiat_p521_uint128 x86 = (x74 + (x66 + (x59 + (x53 + (x48 + (x44 + (x41 + (x39 + x1))))))));
+ fiat_p521_uint128 x87 = (x75 + (x67 + (x60 + (x54 + (x49 + (x45 + (x42 + (x9 + x2))))))));
+ fiat_p521_uint128 x88 = (x76 + (x68 + (x61 + (x55 + (x50 + (x46 + (x16 + (x10 + x3))))))));
+ fiat_p521_uint128 x89 = (x77 + (x69 + (x62 + (x56 + (x51 + (x22 + (x17 + (x11 + x4))))))));
+ fiat_p521_uint128 x90 = (x78 + (x70 + (x63 + (x57 + (x27 + (x23 + (x18 + (x12 + x5))))))));
+ fiat_p521_uint128 x91 = (x79 + (x71 + (x64 + (x31 + (x28 + (x24 + (x19 + (x13 + x6))))))));
+ fiat_p521_uint128 x92 = (x80 + (x72 + (x34 + (x32 + (x29 + (x25 + (x20 + (x14 + x7))))))));
+ fiat_p521_uint128 x93 = (x83 + x92);
+ fiat_p521_uint128 x94 = (x93 >> 58);
+ uint64_t x95 = (uint64_t)(x93 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x96 = (x94 + x91);
+ fiat_p521_uint128 x97 = (x96 >> 58);
+ uint64_t x98 = (uint64_t)(x96 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x99 = (x97 + x90);
+ fiat_p521_uint128 x100 = (x99 >> 58);
+ uint64_t x101 = (uint64_t)(x99 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x102 = (x100 + x89);
+ fiat_p521_uint128 x103 = (x102 >> 58);
+ uint64_t x104 = (uint64_t)(x102 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x105 = (x103 + x88);
+ fiat_p521_uint128 x106 = (x105 >> 58);
+ uint64_t x107 = (uint64_t)(x105 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x108 = (x106 + x87);
+ fiat_p521_uint128 x109 = (x108 >> 58);
+ uint64_t x110 = (uint64_t)(x108 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x111 = (x109 + x86);
+ fiat_p521_uint128 x112 = (x111 >> 58);
+ uint64_t x113 = (uint64_t)(x111 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x114 = (x112 + x85);
+ fiat_p521_uint128 x115 = (x114 >> 57);
+ uint64_t x116 = (uint64_t)(x114 & UINT64_C(0x1ffffffffffffff));
+ fiat_p521_uint128 x117 = (x84 + x115);
+ uint64_t x118 = (uint64_t)(x117 >> 58);
+ uint64_t x119 = (uint64_t)(x117 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x120 = (x118 + x95);
+ uint64_t x121 = (x120 >> 58);
+ uint64_t x122 = (x120 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x123 = (x121 + x98);
+ out1[0] = x119;
+ out1[1] = x122;
+ out1[2] = x123;
+ out1[3] = x101;
+ out1[4] = x104;
+ out1[5] = x107;
+ out1[6] = x110;
+ out1[7] = x113;
+ out1[8] = x116;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]]
+ */
+static void fiat_p521_carry_square(uint64_t out1[9], const uint64_t arg1[9]) {
+ uint64_t x1 = (arg1[8]);
+ uint64_t x2 = (x1 * (uint64_t)0x2);
+ uint64_t x3 = ((arg1[8]) * (uint64_t)0x2);
+ uint64_t x4 = (arg1[7]);
+ uint64_t x5 = (x4 * (uint64_t)0x2);
+ uint64_t x6 = ((arg1[7]) * (uint64_t)0x2);
+ uint64_t x7 = (arg1[6]);
+ uint64_t x8 = (x7 * (uint64_t)0x2);
+ uint64_t x9 = ((arg1[6]) * (uint64_t)0x2);
+ uint64_t x10 = (arg1[5]);
+ uint64_t x11 = (x10 * (uint64_t)0x2);
+ uint64_t x12 = ((arg1[5]) * (uint64_t)0x2);
+ uint64_t x13 = ((arg1[4]) * (uint64_t)0x2);
+ uint64_t x14 = ((arg1[3]) * (uint64_t)0x2);
+ uint64_t x15 = ((arg1[2]) * (uint64_t)0x2);
+ uint64_t x16 = ((arg1[1]) * (uint64_t)0x2);
+ fiat_p521_uint128 x17 = ((fiat_p521_uint128)(arg1[8]) * (x1 * (uint64_t)0x2));
+ fiat_p521_uint128 x18 = ((fiat_p521_uint128)(arg1[7]) * (x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x19 = ((fiat_p521_uint128)(arg1[7]) * (x4 * (uint64_t)0x2));
+ fiat_p521_uint128 x20 = ((fiat_p521_uint128)(arg1[6]) * (x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x21 = ((fiat_p521_uint128)(arg1[6]) * (x5 * (uint64_t)0x2));
+ fiat_p521_uint128 x22 = ((fiat_p521_uint128)(arg1[6]) * (x7 * (uint64_t)0x2));
+ fiat_p521_uint128 x23 = ((fiat_p521_uint128)(arg1[5]) * (x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x24 = ((fiat_p521_uint128)(arg1[5]) * (x5 * (uint64_t)0x2));
+ fiat_p521_uint128 x25 = ((fiat_p521_uint128)(arg1[5]) * (x8 * (uint64_t)0x2));
+ fiat_p521_uint128 x26 = ((fiat_p521_uint128)(arg1[5]) * (x10 * (uint64_t)0x2));
+ fiat_p521_uint128 x27 = ((fiat_p521_uint128)(arg1[4]) * (x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x28 = ((fiat_p521_uint128)(arg1[4]) * (x5 * (uint64_t)0x2));
+ fiat_p521_uint128 x29 = ((fiat_p521_uint128)(arg1[4]) * (x8 * (uint64_t)0x2));
+ fiat_p521_uint128 x30 = ((fiat_p521_uint128)(arg1[4]) * (x11 * (uint64_t)0x2));
+ fiat_p521_uint128 x31 = ((fiat_p521_uint128)(arg1[4]) * (arg1[4]));
+ fiat_p521_uint128 x32 = ((fiat_p521_uint128)(arg1[3]) * (x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x33 = ((fiat_p521_uint128)(arg1[3]) * (x5 * (uint64_t)0x2));
+ fiat_p521_uint128 x34 = ((fiat_p521_uint128)(arg1[3]) * (x8 * (uint64_t)0x2));
+ fiat_p521_uint128 x35 = ((fiat_p521_uint128)(arg1[3]) * x12);
+ fiat_p521_uint128 x36 = ((fiat_p521_uint128)(arg1[3]) * x13);
+ fiat_p521_uint128 x37 = ((fiat_p521_uint128)(arg1[3]) * (arg1[3]));
+ fiat_p521_uint128 x38 = ((fiat_p521_uint128)(arg1[2]) * (x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x39 = ((fiat_p521_uint128)(arg1[2]) * (x5 * (uint64_t)0x2));
+ fiat_p521_uint128 x40 = ((fiat_p521_uint128)(arg1[2]) * x9);
+ fiat_p521_uint128 x41 = ((fiat_p521_uint128)(arg1[2]) * x12);
+ fiat_p521_uint128 x42 = ((fiat_p521_uint128)(arg1[2]) * x13);
+ fiat_p521_uint128 x43 = ((fiat_p521_uint128)(arg1[2]) * x14);
+ fiat_p521_uint128 x44 = ((fiat_p521_uint128)(arg1[2]) * (arg1[2]));
+ fiat_p521_uint128 x45 = ((fiat_p521_uint128)(arg1[1]) * (x2 * (uint64_t)0x2));
+ fiat_p521_uint128 x46 = ((fiat_p521_uint128)(arg1[1]) * x6);
+ fiat_p521_uint128 x47 = ((fiat_p521_uint128)(arg1[1]) * x9);
+ fiat_p521_uint128 x48 = ((fiat_p521_uint128)(arg1[1]) * x12);
+ fiat_p521_uint128 x49 = ((fiat_p521_uint128)(arg1[1]) * x13);
+ fiat_p521_uint128 x50 = ((fiat_p521_uint128)(arg1[1]) * x14);
+ fiat_p521_uint128 x51 = ((fiat_p521_uint128)(arg1[1]) * x15);
+ fiat_p521_uint128 x52 = ((fiat_p521_uint128)(arg1[1]) * (arg1[1]));
+ fiat_p521_uint128 x53 = ((fiat_p521_uint128)(arg1[0]) * x3);
+ fiat_p521_uint128 x54 = ((fiat_p521_uint128)(arg1[0]) * x6);
+ fiat_p521_uint128 x55 = ((fiat_p521_uint128)(arg1[0]) * x9);
+ fiat_p521_uint128 x56 = ((fiat_p521_uint128)(arg1[0]) * x12);
+ fiat_p521_uint128 x57 = ((fiat_p521_uint128)(arg1[0]) * x13);
+ fiat_p521_uint128 x58 = ((fiat_p521_uint128)(arg1[0]) * x14);
+ fiat_p521_uint128 x59 = ((fiat_p521_uint128)(arg1[0]) * x15);
+ fiat_p521_uint128 x60 = ((fiat_p521_uint128)(arg1[0]) * x16);
+ fiat_p521_uint128 x61 = ((fiat_p521_uint128)(arg1[0]) * (arg1[0]));
+ fiat_p521_uint128 x62 = (x61 + (x45 + (x39 + (x34 + x30))));
+ fiat_p521_uint128 x63 = (x62 >> 58);
+ uint64_t x64 = (uint64_t)(x62 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x65 = (x53 + (x46 + (x40 + (x35 + x31))));
+ fiat_p521_uint128 x66 = (x54 + (x47 + (x41 + (x36 + x17))));
+ fiat_p521_uint128 x67 = (x55 + (x48 + (x42 + (x37 + x18))));
+ fiat_p521_uint128 x68 = (x56 + (x49 + (x43 + (x20 + x19))));
+ fiat_p521_uint128 x69 = (x57 + (x50 + (x44 + (x23 + x21))));
+ fiat_p521_uint128 x70 = (x58 + (x51 + (x27 + (x24 + x22))));
+ fiat_p521_uint128 x71 = (x59 + (x52 + (x32 + (x28 + x25))));
+ fiat_p521_uint128 x72 = (x60 + (x38 + (x33 + (x29 + x26))));
+ fiat_p521_uint128 x73 = (x63 + x72);
+ fiat_p521_uint128 x74 = (x73 >> 58);
+ uint64_t x75 = (uint64_t)(x73 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x76 = (x74 + x71);
+ fiat_p521_uint128 x77 = (x76 >> 58);
+ uint64_t x78 = (uint64_t)(x76 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x79 = (x77 + x70);
+ fiat_p521_uint128 x80 = (x79 >> 58);
+ uint64_t x81 = (uint64_t)(x79 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x82 = (x80 + x69);
+ fiat_p521_uint128 x83 = (x82 >> 58);
+ uint64_t x84 = (uint64_t)(x82 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x85 = (x83 + x68);
+ fiat_p521_uint128 x86 = (x85 >> 58);
+ uint64_t x87 = (uint64_t)(x85 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x88 = (x86 + x67);
+ fiat_p521_uint128 x89 = (x88 >> 58);
+ uint64_t x90 = (uint64_t)(x88 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x91 = (x89 + x66);
+ fiat_p521_uint128 x92 = (x91 >> 58);
+ uint64_t x93 = (uint64_t)(x91 & UINT64_C(0x3ffffffffffffff));
+ fiat_p521_uint128 x94 = (x92 + x65);
+ fiat_p521_uint128 x95 = (x94 >> 57);
+ uint64_t x96 = (uint64_t)(x94 & UINT64_C(0x1ffffffffffffff));
+ fiat_p521_uint128 x97 = (x64 + x95);
+ uint64_t x98 = (uint64_t)(x97 >> 58);
+ uint64_t x99 = (uint64_t)(x97 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x100 = (x98 + x75);
+ uint64_t x101 = (x100 >> 58);
+ uint64_t x102 = (x100 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x103 = (x101 + x78);
+ out1[0] = x99;
+ out1[1] = x102;
+ out1[2] = x103;
+ out1[3] = x81;
+ out1[4] = x84;
+ out1[5] = x87;
+ out1[6] = x90;
+ out1[7] = x93;
+ out1[8] = x96;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]]
+ */
+static void fiat_p521_carry(uint64_t out1[9], const uint64_t arg1[9]) {
+ uint64_t x1 = (arg1[0]);
+ uint64_t x2 = ((x1 >> 58) + (arg1[1]));
+ uint64_t x3 = ((x2 >> 58) + (arg1[2]));
+ uint64_t x4 = ((x3 >> 58) + (arg1[3]));
+ uint64_t x5 = ((x4 >> 58) + (arg1[4]));
+ uint64_t x6 = ((x5 >> 58) + (arg1[5]));
+ uint64_t x7 = ((x6 >> 58) + (arg1[6]));
+ uint64_t x8 = ((x7 >> 58) + (arg1[7]));
+ uint64_t x9 = ((x8 >> 58) + (arg1[8]));
+ uint64_t x10 = ((x1 & UINT64_C(0x3ffffffffffffff)) + (x9 >> 57));
+ uint64_t x11 = ((x10 >> 58) + (x2 & UINT64_C(0x3ffffffffffffff)));
+ uint64_t x12 = (x10 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x13 = (x11 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x14 = ((x11 >> 58) + (x3 & UINT64_C(0x3ffffffffffffff)));
+ uint64_t x15 = (x4 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x16 = (x5 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x17 = (x6 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x18 = (x7 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x19 = (x8 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x20 = (x9 & UINT64_C(0x1ffffffffffffff));
+ out1[0] = x12;
+ out1[1] = x13;
+ out1[2] = x14;
+ out1[3] = x15;
+ out1[4] = x16;
+ out1[5] = x17;
+ out1[6] = x18;
+ out1[7] = x19;
+ out1[8] = x20;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]]
+ * arg2: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]]
+ */
+static void fiat_p521_add(uint64_t out1[9], const uint64_t arg1[9], const uint64_t arg2[9]) {
+ uint64_t x1 = ((arg1[0]) + (arg2[0]));
+ uint64_t x2 = ((arg1[1]) + (arg2[1]));
+ uint64_t x3 = ((arg1[2]) + (arg2[2]));
+ uint64_t x4 = ((arg1[3]) + (arg2[3]));
+ uint64_t x5 = ((arg1[4]) + (arg2[4]));
+ uint64_t x6 = ((arg1[5]) + (arg2[5]));
+ uint64_t x7 = ((arg1[6]) + (arg2[6]));
+ uint64_t x8 = ((arg1[7]) + (arg2[7]));
+ uint64_t x9 = ((arg1[8]) + (arg2[8]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]]
+ * arg2: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]]
+ */
+static void fiat_p521_sub(uint64_t out1[9], const uint64_t arg1[9], const uint64_t arg2[9]) {
+ uint64_t x1 = ((UINT64_C(0x7fffffffffffffe) + (arg1[0])) - (arg2[0]));
+ uint64_t x2 = ((UINT64_C(0x7fffffffffffffe) + (arg1[1])) - (arg2[1]));
+ uint64_t x3 = ((UINT64_C(0x7fffffffffffffe) + (arg1[2])) - (arg2[2]));
+ uint64_t x4 = ((UINT64_C(0x7fffffffffffffe) + (arg1[3])) - (arg2[3]));
+ uint64_t x5 = ((UINT64_C(0x7fffffffffffffe) + (arg1[4])) - (arg2[4]));
+ uint64_t x6 = ((UINT64_C(0x7fffffffffffffe) + (arg1[5])) - (arg2[5]));
+ uint64_t x7 = ((UINT64_C(0x7fffffffffffffe) + (arg1[6])) - (arg2[6]));
+ uint64_t x8 = ((UINT64_C(0x7fffffffffffffe) + (arg1[7])) - (arg2[7]));
+ uint64_t x9 = ((UINT64_C(0x3fffffffffffffe) + (arg1[8])) - (arg2[8]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0xd33333333333332], [0x0 ~> 0x699999999999999]]
+ */
+static void fiat_p521_opp(uint64_t out1[9], const uint64_t arg1[9]) {
+ uint64_t x1 = (UINT64_C(0x7fffffffffffffe) - (arg1[0]));
+ uint64_t x2 = (UINT64_C(0x7fffffffffffffe) - (arg1[1]));
+ uint64_t x3 = (UINT64_C(0x7fffffffffffffe) - (arg1[2]));
+ uint64_t x4 = (UINT64_C(0x7fffffffffffffe) - (arg1[3]));
+ uint64_t x5 = (UINT64_C(0x7fffffffffffffe) - (arg1[4]));
+ uint64_t x6 = (UINT64_C(0x7fffffffffffffe) - (arg1[5]));
+ uint64_t x7 = (UINT64_C(0x7fffffffffffffe) - (arg1[6]));
+ uint64_t x8 = (UINT64_C(0x7fffffffffffffe) - (arg1[7]));
+ uint64_t x9 = (UINT64_C(0x3fffffffffffffe) - (arg1[8]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_p521_selectznz(uint64_t out1[9], fiat_p521_uint1 arg1, const uint64_t arg2[9], const uint64_t arg3[9]) {
+ uint64_t x1;
+ fiat_p521_cmovznz_u64(&x1, arg1, (arg2[0]), (arg3[0]));
+ uint64_t x2;
+ fiat_p521_cmovznz_u64(&x2, arg1, (arg2[1]), (arg3[1]));
+ uint64_t x3;
+ fiat_p521_cmovznz_u64(&x3, arg1, (arg2[2]), (arg3[2]));
+ uint64_t x4;
+ fiat_p521_cmovznz_u64(&x4, arg1, (arg2[3]), (arg3[3]));
+ uint64_t x5;
+ fiat_p521_cmovznz_u64(&x5, arg1, (arg2[4]), (arg3[4]));
+ uint64_t x6;
+ fiat_p521_cmovznz_u64(&x6, arg1, (arg2[5]), (arg3[5]));
+ uint64_t x7;
+ fiat_p521_cmovznz_u64(&x7, arg1, (arg2[6]), (arg3[6]));
+ uint64_t x8;
+ fiat_p521_cmovznz_u64(&x8, arg1, (arg2[7]), (arg3[7]));
+ uint64_t x9;
+ fiat_p521_cmovznz_u64(&x9, arg1, (arg2[8]), (arg3[8]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+ out1[8] = x9;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x1]]
+ */
+static void fiat_p521_to_bytes(uint8_t out1[66], const uint64_t arg1[9]) {
+ uint64_t x1;
+ fiat_p521_uint1 x2;
+ fiat_p521_subborrowx_u58(&x1, &x2, 0x0, (arg1[0]), UINT64_C(0x3ffffffffffffff));
+ uint64_t x3;
+ fiat_p521_uint1 x4;
+ fiat_p521_subborrowx_u58(&x3, &x4, x2, (arg1[1]), UINT64_C(0x3ffffffffffffff));
+ uint64_t x5;
+ fiat_p521_uint1 x6;
+ fiat_p521_subborrowx_u58(&x5, &x6, x4, (arg1[2]), UINT64_C(0x3ffffffffffffff));
+ uint64_t x7;
+ fiat_p521_uint1 x8;
+ fiat_p521_subborrowx_u58(&x7, &x8, x6, (arg1[3]), UINT64_C(0x3ffffffffffffff));
+ uint64_t x9;
+ fiat_p521_uint1 x10;
+ fiat_p521_subborrowx_u58(&x9, &x10, x8, (arg1[4]), UINT64_C(0x3ffffffffffffff));
+ uint64_t x11;
+ fiat_p521_uint1 x12;
+ fiat_p521_subborrowx_u58(&x11, &x12, x10, (arg1[5]), UINT64_C(0x3ffffffffffffff));
+ uint64_t x13;
+ fiat_p521_uint1 x14;
+ fiat_p521_subborrowx_u58(&x13, &x14, x12, (arg1[6]), UINT64_C(0x3ffffffffffffff));
+ uint64_t x15;
+ fiat_p521_uint1 x16;
+ fiat_p521_subborrowx_u58(&x15, &x16, x14, (arg1[7]), UINT64_C(0x3ffffffffffffff));
+ uint64_t x17;
+ fiat_p521_uint1 x18;
+ fiat_p521_subborrowx_u57(&x17, &x18, x16, (arg1[8]), UINT64_C(0x1ffffffffffffff));
+ uint64_t x19;
+ fiat_p521_cmovznz_u64(&x19, x18, 0x0, UINT64_C(0xffffffffffffffff));
+ uint64_t x20;
+ fiat_p521_uint1 x21;
+ fiat_p521_addcarryx_u58(&x20, &x21, 0x0, (x19 & UINT64_C(0x3ffffffffffffff)), x1);
+ uint64_t x22;
+ fiat_p521_uint1 x23;
+ fiat_p521_addcarryx_u58(&x22, &x23, x21, (x19 & UINT64_C(0x3ffffffffffffff)), x3);
+ uint64_t x24;
+ fiat_p521_uint1 x25;
+ fiat_p521_addcarryx_u58(&x24, &x25, x23, (x19 & UINT64_C(0x3ffffffffffffff)), x5);
+ uint64_t x26;
+ fiat_p521_uint1 x27;
+ fiat_p521_addcarryx_u58(&x26, &x27, x25, (x19 & UINT64_C(0x3ffffffffffffff)), x7);
+ uint64_t x28;
+ fiat_p521_uint1 x29;
+ fiat_p521_addcarryx_u58(&x28, &x29, x27, (x19 & UINT64_C(0x3ffffffffffffff)), x9);
+ uint64_t x30;
+ fiat_p521_uint1 x31;
+ fiat_p521_addcarryx_u58(&x30, &x31, x29, (x19 & UINT64_C(0x3ffffffffffffff)), x11);
+ uint64_t x32;
+ fiat_p521_uint1 x33;
+ fiat_p521_addcarryx_u58(&x32, &x33, x31, (x19 & UINT64_C(0x3ffffffffffffff)), x13);
+ uint64_t x34;
+ fiat_p521_uint1 x35;
+ fiat_p521_addcarryx_u58(&x34, &x35, x33, (x19 & UINT64_C(0x3ffffffffffffff)), x15);
+ uint64_t x36;
+ fiat_p521_uint1 x37;
+ fiat_p521_addcarryx_u57(&x36, &x37, x35, (x19 & UINT64_C(0x1ffffffffffffff)), x17);
+ uint64_t x38 = (x34 << 6);
+ uint64_t x39 = (x32 << 4);
+ uint64_t x40 = (x30 << 2);
+ uint64_t x41 = (x26 << 6);
+ uint64_t x42 = (x24 << 4);
+ uint64_t x43 = (x22 << 2);
+ uint64_t x44 = (x20 >> 8);
+ uint8_t x45 = (uint8_t)(x20 & UINT8_C(0xff));
+ uint64_t x46 = (x44 >> 8);
+ uint8_t x47 = (uint8_t)(x44 & UINT8_C(0xff));
+ uint64_t x48 = (x46 >> 8);
+ uint8_t x49 = (uint8_t)(x46 & UINT8_C(0xff));
+ uint64_t x50 = (x48 >> 8);
+ uint8_t x51 = (uint8_t)(x48 & UINT8_C(0xff));
+ uint64_t x52 = (x50 >> 8);
+ uint8_t x53 = (uint8_t)(x50 & UINT8_C(0xff));
+ uint64_t x54 = (x52 >> 8);
+ uint8_t x55 = (uint8_t)(x52 & UINT8_C(0xff));
+ uint8_t x56 = (uint8_t)(x54 >> 8);
+ uint8_t x57 = (uint8_t)(x54 & UINT8_C(0xff));
+ uint64_t x58 = (x56 + x43);
+ uint64_t x59 = (x58 >> 8);
+ uint8_t x60 = (uint8_t)(x58 & 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));
+ uint64_t x67 = (x65 >> 8);
+ uint8_t x68 = (uint8_t)(x65 & UINT8_C(0xff));
+ uint64_t x69 = (x67 >> 8);
+ uint8_t x70 = (uint8_t)(x67 & UINT8_C(0xff));
+ uint8_t x71 = (uint8_t)(x69 >> 8);
+ uint8_t x72 = (uint8_t)(x69 & UINT8_C(0xff));
+ uint64_t x73 = (x71 + x42);
+ uint64_t x74 = (x73 >> 8);
+ uint8_t x75 = (uint8_t)(x73 & UINT8_C(0xff));
+ uint64_t x76 = (x74 >> 8);
+ uint8_t x77 = (uint8_t)(x74 & UINT8_C(0xff));
+ uint64_t x78 = (x76 >> 8);
+ uint8_t x79 = (uint8_t)(x76 & UINT8_C(0xff));
+ uint64_t x80 = (x78 >> 8);
+ uint8_t x81 = (uint8_t)(x78 & UINT8_C(0xff));
+ uint64_t x82 = (x80 >> 8);
+ uint8_t x83 = (uint8_t)(x80 & UINT8_C(0xff));
+ uint64_t x84 = (x82 >> 8);
+ uint8_t x85 = (uint8_t)(x82 & UINT8_C(0xff));
+ uint8_t x86 = (uint8_t)(x84 >> 8);
+ uint8_t x87 = (uint8_t)(x84 & UINT8_C(0xff));
+ uint64_t x88 = (x86 + x41);
+ uint64_t x89 = (x88 >> 8);
+ uint8_t x90 = (uint8_t)(x88 & 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));
+ uint64_t x99 = (x97 >> 8);
+ uint8_t x100 = (uint8_t)(x97 & UINT8_C(0xff));
+ uint8_t x101 = (uint8_t)(x99 >> 8);
+ uint8_t x102 = (uint8_t)(x99 & UINT8_C(0xff));
+ fiat_p521_uint1 x103 = (fiat_p521_uint1)(x101 >> 8);
+ uint8_t x104 = (uint8_t)(x101 & UINT8_C(0xff));
+ uint64_t x105 = (x103 + x28);
+ uint64_t x106 = (x105 >> 8);
+ uint8_t x107 = (uint8_t)(x105 & UINT8_C(0xff));
+ uint64_t x108 = (x106 >> 8);
+ uint8_t x109 = (uint8_t)(x106 & UINT8_C(0xff));
+ uint64_t x110 = (x108 >> 8);
+ uint8_t x111 = (uint8_t)(x108 & UINT8_C(0xff));
+ uint64_t x112 = (x110 >> 8);
+ uint8_t x113 = (uint8_t)(x110 & UINT8_C(0xff));
+ uint64_t x114 = (x112 >> 8);
+ uint8_t x115 = (uint8_t)(x112 & UINT8_C(0xff));
+ uint64_t x116 = (x114 >> 8);
+ uint8_t x117 = (uint8_t)(x114 & UINT8_C(0xff));
+ uint8_t x118 = (uint8_t)(x116 >> 8);
+ uint8_t x119 = (uint8_t)(x116 & UINT8_C(0xff));
+ uint64_t x120 = (x118 + x40);
+ uint64_t x121 = (x120 >> 8);
+ uint8_t x122 = (uint8_t)(x120 & UINT8_C(0xff));
+ uint64_t x123 = (x121 >> 8);
+ uint8_t x124 = (uint8_t)(x121 & UINT8_C(0xff));
+ uint64_t x125 = (x123 >> 8);
+ uint8_t x126 = (uint8_t)(x123 & UINT8_C(0xff));
+ uint64_t x127 = (x125 >> 8);
+ uint8_t x128 = (uint8_t)(x125 & UINT8_C(0xff));
+ uint64_t x129 = (x127 >> 8);
+ uint8_t x130 = (uint8_t)(x127 & UINT8_C(0xff));
+ uint64_t x131 = (x129 >> 8);
+ uint8_t x132 = (uint8_t)(x129 & UINT8_C(0xff));
+ uint8_t x133 = (uint8_t)(x131 >> 8);
+ uint8_t x134 = (uint8_t)(x131 & UINT8_C(0xff));
+ uint64_t x135 = (x133 + x39);
+ uint64_t x136 = (x135 >> 8);
+ uint8_t x137 = (uint8_t)(x135 & UINT8_C(0xff));
+ uint64_t x138 = (x136 >> 8);
+ uint8_t x139 = (uint8_t)(x136 & UINT8_C(0xff));
+ uint64_t x140 = (x138 >> 8);
+ uint8_t x141 = (uint8_t)(x138 & UINT8_C(0xff));
+ uint64_t x142 = (x140 >> 8);
+ uint8_t x143 = (uint8_t)(x140 & UINT8_C(0xff));
+ uint64_t x144 = (x142 >> 8);
+ uint8_t x145 = (uint8_t)(x142 & UINT8_C(0xff));
+ uint64_t x146 = (x144 >> 8);
+ uint8_t x147 = (uint8_t)(x144 & UINT8_C(0xff));
+ uint8_t x148 = (uint8_t)(x146 >> 8);
+ uint8_t x149 = (uint8_t)(x146 & UINT8_C(0xff));
+ uint64_t x150 = (x148 + x38);
+ uint64_t x151 = (x150 >> 8);
+ uint8_t x152 = (uint8_t)(x150 & UINT8_C(0xff));
+ uint64_t x153 = (x151 >> 8);
+ uint8_t x154 = (uint8_t)(x151 & UINT8_C(0xff));
+ uint64_t x155 = (x153 >> 8);
+ uint8_t x156 = (uint8_t)(x153 & UINT8_C(0xff));
+ uint64_t x157 = (x155 >> 8);
+ uint8_t x158 = (uint8_t)(x155 & UINT8_C(0xff));
+ uint64_t x159 = (x157 >> 8);
+ uint8_t x160 = (uint8_t)(x157 & UINT8_C(0xff));
+ uint64_t x161 = (x159 >> 8);
+ uint8_t x162 = (uint8_t)(x159 & UINT8_C(0xff));
+ uint8_t x163 = (uint8_t)(x161 >> 8);
+ uint8_t x164 = (uint8_t)(x161 & UINT8_C(0xff));
+ fiat_p521_uint1 x165 = (fiat_p521_uint1)(x163 >> 8);
+ uint8_t x166 = (uint8_t)(x163 & UINT8_C(0xff));
+ uint64_t x167 = (x165 + x36);
+ uint64_t x168 = (x167 >> 8);
+ uint8_t x169 = (uint8_t)(x167 & UINT8_C(0xff));
+ uint64_t x170 = (x168 >> 8);
+ uint8_t x171 = (uint8_t)(x168 & UINT8_C(0xff));
+ uint64_t x172 = (x170 >> 8);
+ uint8_t x173 = (uint8_t)(x170 & UINT8_C(0xff));
+ uint64_t x174 = (x172 >> 8);
+ uint8_t x175 = (uint8_t)(x172 & UINT8_C(0xff));
+ uint64_t x176 = (x174 >> 8);
+ uint8_t x177 = (uint8_t)(x174 & UINT8_C(0xff));
+ uint64_t x178 = (x176 >> 8);
+ uint8_t x179 = (uint8_t)(x176 & UINT8_C(0xff));
+ fiat_p521_uint1 x180 = (fiat_p521_uint1)(x178 >> 8);
+ uint8_t x181 = (uint8_t)(x178 & UINT8_C(0xff));
+ out1[0] = x45;
+ out1[1] = x47;
+ out1[2] = x49;
+ out1[3] = x51;
+ out1[4] = x53;
+ out1[5] = x55;
+ out1[6] = x57;
+ out1[7] = x60;
+ out1[8] = x62;
+ out1[9] = x64;
+ out1[10] = x66;
+ out1[11] = x68;
+ out1[12] = x70;
+ out1[13] = x72;
+ out1[14] = x75;
+ out1[15] = x77;
+ out1[16] = x79;
+ out1[17] = x81;
+ out1[18] = x83;
+ out1[19] = x85;
+ out1[20] = x87;
+ out1[21] = x90;
+ out1[22] = x92;
+ out1[23] = x94;
+ out1[24] = x96;
+ out1[25] = x98;
+ out1[26] = x100;
+ out1[27] = x102;
+ out1[28] = x104;
+ out1[29] = x107;
+ out1[30] = x109;
+ out1[31] = x111;
+ out1[32] = x113;
+ out1[33] = x115;
+ out1[34] = x117;
+ out1[35] = x119;
+ out1[36] = x122;
+ out1[37] = x124;
+ out1[38] = x126;
+ out1[39] = x128;
+ out1[40] = x130;
+ out1[41] = x132;
+ out1[42] = x134;
+ out1[43] = x137;
+ out1[44] = x139;
+ out1[45] = x141;
+ out1[46] = x143;
+ out1[47] = x145;
+ out1[48] = x147;
+ out1[49] = x149;
+ out1[50] = x152;
+ out1[51] = x154;
+ out1[52] = x156;
+ out1[53] = x158;
+ out1[54] = x160;
+ out1[55] = x162;
+ out1[56] = x164;
+ out1[57] = x166;
+ out1[58] = x169;
+ out1[59] = x171;
+ out1[60] = x173;
+ out1[61] = x175;
+ out1[62] = x177;
+ out1[63] = x179;
+ out1[64] = x181;
+ out1[65] = x180;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x1]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x466666666666666], [0x0 ~> 0x233333333333333]]
+ */
+static void fiat_p521_from_bytes(uint64_t out1[9], const uint8_t arg1[66]) {
+ uint64_t x1 = ((uint64_t)(fiat_p521_uint1)(arg1[65]) << 56);
+ uint64_t x2 = ((uint64_t)(arg1[64]) << 48);
+ uint64_t x3 = ((uint64_t)(arg1[63]) << 40);
+ uint64_t x4 = ((uint64_t)(arg1[62]) << 32);
+ uint64_t x5 = ((uint64_t)(arg1[61]) << 24);
+ uint64_t x6 = ((uint64_t)(arg1[60]) << 16);
+ uint64_t x7 = ((uint64_t)(arg1[59]) << 8);
+ uint8_t x8 = (arg1[58]);
+ uint64_t x9 = ((uint64_t)(arg1[57]) << 50);
+ uint64_t x10 = ((uint64_t)(arg1[56]) << 42);
+ uint64_t x11 = ((uint64_t)(arg1[55]) << 34);
+ uint64_t x12 = ((uint64_t)(arg1[54]) << 26);
+ uint64_t x13 = ((uint64_t)(arg1[53]) << 18);
+ uint64_t x14 = ((uint64_t)(arg1[52]) << 10);
+ uint64_t x15 = ((uint64_t)(arg1[51]) << 2);
+ uint64_t x16 = ((uint64_t)(arg1[50]) << 52);
+ uint64_t x17 = ((uint64_t)(arg1[49]) << 44);
+ uint64_t x18 = ((uint64_t)(arg1[48]) << 36);
+ uint64_t x19 = ((uint64_t)(arg1[47]) << 28);
+ uint64_t x20 = ((uint64_t)(arg1[46]) << 20);
+ uint64_t x21 = ((uint64_t)(arg1[45]) << 12);
+ uint64_t x22 = ((uint64_t)(arg1[44]) << 4);
+ uint64_t x23 = ((uint64_t)(arg1[43]) << 54);
+ uint64_t x24 = ((uint64_t)(arg1[42]) << 46);
+ uint64_t x25 = ((uint64_t)(arg1[41]) << 38);
+ uint64_t x26 = ((uint64_t)(arg1[40]) << 30);
+ uint64_t x27 = ((uint64_t)(arg1[39]) << 22);
+ uint64_t x28 = ((uint64_t)(arg1[38]) << 14);
+ uint64_t x29 = ((uint64_t)(arg1[37]) << 6);
+ uint64_t x30 = ((uint64_t)(arg1[36]) << 56);
+ uint64_t x31 = ((uint64_t)(arg1[35]) << 48);
+ uint64_t x32 = ((uint64_t)(arg1[34]) << 40);
+ uint64_t x33 = ((uint64_t)(arg1[33]) << 32);
+ uint64_t x34 = ((uint64_t)(arg1[32]) << 24);
+ uint64_t x35 = ((uint64_t)(arg1[31]) << 16);
+ uint64_t x36 = ((uint64_t)(arg1[30]) << 8);
+ uint8_t x37 = (arg1[29]);
+ uint64_t x38 = ((uint64_t)(arg1[28]) << 50);
+ uint64_t x39 = ((uint64_t)(arg1[27]) << 42);
+ uint64_t x40 = ((uint64_t)(arg1[26]) << 34);
+ uint64_t x41 = ((uint64_t)(arg1[25]) << 26);
+ uint64_t x42 = ((uint64_t)(arg1[24]) << 18);
+ uint64_t x43 = ((uint64_t)(arg1[23]) << 10);
+ uint64_t x44 = ((uint64_t)(arg1[22]) << 2);
+ uint64_t x45 = ((uint64_t)(arg1[21]) << 52);
+ uint64_t x46 = ((uint64_t)(arg1[20]) << 44);
+ uint64_t x47 = ((uint64_t)(arg1[19]) << 36);
+ uint64_t x48 = ((uint64_t)(arg1[18]) << 28);
+ uint64_t x49 = ((uint64_t)(arg1[17]) << 20);
+ uint64_t x50 = ((uint64_t)(arg1[16]) << 12);
+ uint64_t x51 = ((uint64_t)(arg1[15]) << 4);
+ uint64_t x52 = ((uint64_t)(arg1[14]) << 54);
+ uint64_t x53 = ((uint64_t)(arg1[13]) << 46);
+ uint64_t x54 = ((uint64_t)(arg1[12]) << 38);
+ uint64_t x55 = ((uint64_t)(arg1[11]) << 30);
+ uint64_t x56 = ((uint64_t)(arg1[10]) << 22);
+ uint64_t x57 = ((uint64_t)(arg1[9]) << 14);
+ uint64_t x58 = ((uint64_t)(arg1[8]) << 6);
+ uint64_t x59 = ((uint64_t)(arg1[7]) << 56);
+ uint64_t x60 = ((uint64_t)(arg1[6]) << 48);
+ uint64_t x61 = ((uint64_t)(arg1[5]) << 40);
+ uint64_t x62 = ((uint64_t)(arg1[4]) << 32);
+ uint64_t x63 = ((uint64_t)(arg1[3]) << 24);
+ uint64_t x64 = ((uint64_t)(arg1[2]) << 16);
+ uint64_t x65 = ((uint64_t)(arg1[1]) << 8);
+ uint8_t x66 = (arg1[0]);
+ uint64_t x67 = (x66 + (x65 + (x64 + (x63 + (x62 + (x61 + (x60 + x59)))))));
+ uint8_t x68 = (uint8_t)(x67 >> 58);
+ uint64_t x69 = (x67 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x70 = (x8 + (x7 + (x6 + (x5 + (x4 + (x3 + (x2 + x1)))))));
+ uint64_t x71 = (x15 + (x14 + (x13 + (x12 + (x11 + (x10 + x9))))));
+ uint64_t x72 = (x22 + (x21 + (x20 + (x19 + (x18 + (x17 + x16))))));
+ uint64_t x73 = (x29 + (x28 + (x27 + (x26 + (x25 + (x24 + x23))))));
+ uint64_t x74 = (x37 + (x36 + (x35 + (x34 + (x33 + (x32 + (x31 + x30)))))));
+ uint64_t x75 = (x44 + (x43 + (x42 + (x41 + (x40 + (x39 + x38))))));
+ uint64_t x76 = (x51 + (x50 + (x49 + (x48 + (x47 + (x46 + x45))))));
+ uint64_t x77 = (x58 + (x57 + (x56 + (x55 + (x54 + (x53 + x52))))));
+ uint64_t x78 = (x68 + x77);
+ uint8_t x79 = (uint8_t)(x78 >> 58);
+ uint64_t x80 = (x78 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x81 = (x79 + x76);
+ uint8_t x82 = (uint8_t)(x81 >> 58);
+ uint64_t x83 = (x81 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x84 = (x82 + x75);
+ fiat_p521_uint1 x85 = (fiat_p521_uint1)(x84 >> 58);
+ uint64_t x86 = (x84 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x87 = (x85 + x74);
+ uint8_t x88 = (uint8_t)(x87 >> 58);
+ uint64_t x89 = (x87 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x90 = (x88 + x73);
+ uint8_t x91 = (uint8_t)(x90 >> 58);
+ uint64_t x92 = (x90 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x93 = (x91 + x72);
+ uint8_t x94 = (uint8_t)(x93 >> 58);
+ uint64_t x95 = (x93 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x96 = (x94 + x71);
+ fiat_p521_uint1 x97 = (fiat_p521_uint1)(x96 >> 58);
+ uint64_t x98 = (x96 & UINT64_C(0x3ffffffffffffff));
+ uint64_t x99 = (x97 + x70);
+ out1[0] = x69;
+ out1[1] = x80;
+ out1[2] = x83;
+ out1[3] = x86;
+ out1[4] = x89;
+ out1[5] = x92;
+ out1[6] = x95;
+ out1[7] = x98;
+ out1[8] = x99;
+}
+
diff --git a/secp256k1_32.c b/secp256k1_32.c
new file mode 100644
index 000000000..0bc344bd1
--- /dev/null
+++ b/secp256k1_32.c
@@ -0,0 +1,4023 @@
+/* Autogenerated */
+/* curve description: secp256k1 */
+/* requested operations: (all) */
+/* s = 0x10000000000000000000000000000000000000000000000000000000000000000 (from "2^256") */
+/* c = [(4294967296, 1), (1, 977)] (from "2^32,1;1,977") */
+/* machine_wordsize = 32 (from "32") */
+/* */
+/* NOTE: In addition to the bounds specified above each function, all */
+/* functions synthesized for this Montgomery arithmetic require the */
+/* input to be strictly less than the prime modulus (s-c), and also */
+/* require the input to be in the unique saturated representation. */
+/* All functions also ensure that these two properties are true of */
+/* return values. */
+
+#include <stdint.h>
+typedef unsigned char fiat_secp256k1_uint1;
+typedef signed char fiat_secp256k1_int1;
+
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffff]
+ * arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_secp256k1_addcarryx_u32(uint32_t* out1, fiat_secp256k1_uint1* out2, fiat_secp256k1_uint1 arg1, uint32_t arg2, uint32_t arg3) {
+ uint64_t x1 = ((arg1 + (uint64_t)arg2) + arg3);
+ uint32_t x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+ fiat_secp256k1_uint1 x3 = (fiat_secp256k1_uint1)(x1 >> 32);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffff]
+ * arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_secp256k1_subborrowx_u32(uint32_t* out1, fiat_secp256k1_uint1* out2, fiat_secp256k1_uint1 arg1, uint32_t arg2, uint32_t arg3) {
+ int64_t x1 = ((arg2 - (int64_t)arg1) - arg3);
+ fiat_secp256k1_int1 x2 = (fiat_secp256k1_int1)((uint64_t)x1 >> 32);
+ uint32_t x3 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+ *out1 = x3;
+ *out2 = (fiat_secp256k1_uint1)(0x0 - x2);
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0xffffffff]
+ * arg2: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ * out2: [0x0 ~> 0xffffffff]
+ */
+static void fiat_secp256k1_mulx_u32(uint32_t* out1, uint32_t* out2, uint32_t arg1, uint32_t arg2) {
+ uint64_t x1 = ((uint64_t)arg1 * arg2);
+ uint32_t x2 = (uint32_t)(x1 & UINT32_C(0xffffffff));
+ uint32_t x3 = (uint32_t)(x1 >> 32);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffff]
+ * arg3: [0x0 ~> 0xffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ */
+static void fiat_secp256k1_cmovznz_u32(uint32_t* out1, fiat_secp256k1_uint1 arg1, uint32_t arg2, uint32_t arg3) {
+ fiat_secp256k1_uint1 x1 = (!(!arg1));
+ uint32_t x2 = ((fiat_secp256k1_int1)(0x0 - x1) & UINT32_C(0xffffffff));
+ uint32_t x3 = ((x2 & arg3) | (uint32_t)((uint64_t)(~x2) & arg2));
+ *out1 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_secp256k1_mul(uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
+ uint32_t x1 = (arg1[1]);
+ uint32_t x2 = (arg1[2]);
+ uint32_t x3 = (arg1[3]);
+ uint32_t x4 = (arg1[4]);
+ uint32_t x5 = (arg1[5]);
+ uint32_t x6 = (arg1[6]);
+ uint32_t x7 = (arg1[7]);
+ uint32_t x8 = (arg1[0]);
+ uint32_t x9;
+ uint32_t x10;
+ fiat_secp256k1_mulx_u32(&x9, &x10, x8, (arg2[7]));
+ uint32_t x11;
+ uint32_t x12;
+ fiat_secp256k1_mulx_u32(&x11, &x12, x8, (arg2[6]));
+ uint32_t x13;
+ uint32_t x14;
+ fiat_secp256k1_mulx_u32(&x13, &x14, x8, (arg2[5]));
+ uint32_t x15;
+ uint32_t x16;
+ fiat_secp256k1_mulx_u32(&x15, &x16, x8, (arg2[4]));
+ uint32_t x17;
+ uint32_t x18;
+ fiat_secp256k1_mulx_u32(&x17, &x18, x8, (arg2[3]));
+ uint32_t x19;
+ uint32_t x20;
+ fiat_secp256k1_mulx_u32(&x19, &x20, x8, (arg2[2]));
+ uint32_t x21;
+ uint32_t x22;
+ fiat_secp256k1_mulx_u32(&x21, &x22, x8, (arg2[1]));
+ uint32_t x23;
+ uint32_t x24;
+ fiat_secp256k1_mulx_u32(&x23, &x24, x8, (arg2[0]));
+ uint32_t x25;
+ fiat_secp256k1_uint1 x26;
+ fiat_secp256k1_addcarryx_u32(&x25, &x26, 0x0, x21, x24);
+ uint32_t x27;
+ fiat_secp256k1_uint1 x28;
+ fiat_secp256k1_addcarryx_u32(&x27, &x28, x26, x19, x22);
+ uint32_t x29;
+ fiat_secp256k1_uint1 x30;
+ fiat_secp256k1_addcarryx_u32(&x29, &x30, x28, x17, x20);
+ uint32_t x31;
+ fiat_secp256k1_uint1 x32;
+ fiat_secp256k1_addcarryx_u32(&x31, &x32, x30, x15, x18);
+ uint32_t x33;
+ fiat_secp256k1_uint1 x34;
+ fiat_secp256k1_addcarryx_u32(&x33, &x34, x32, x13, x16);
+ uint32_t x35;
+ fiat_secp256k1_uint1 x36;
+ fiat_secp256k1_addcarryx_u32(&x35, &x36, x34, x11, x14);
+ uint32_t x37;
+ fiat_secp256k1_uint1 x38;
+ fiat_secp256k1_addcarryx_u32(&x37, &x38, x36, x9, x12);
+ uint32_t x39;
+ fiat_secp256k1_uint1 x40;
+ fiat_secp256k1_addcarryx_u32(&x39, &x40, x38, 0x0, x10);
+ uint32_t x41;
+ uint32_t x42;
+ fiat_secp256k1_mulx_u32(&x41, &x42, x23, UINT32_C(0xd2253531));
+ uint32_t x43;
+ uint32_t x44;
+ fiat_secp256k1_mulx_u32(&x43, &x44, x41, UINT32_C(0xffffffff));
+ uint32_t x45;
+ uint32_t x46;
+ fiat_secp256k1_mulx_u32(&x45, &x46, x41, UINT32_C(0xffffffff));
+ uint32_t x47;
+ uint32_t x48;
+ fiat_secp256k1_mulx_u32(&x47, &x48, x41, UINT32_C(0xffffffff));
+ uint32_t x49;
+ uint32_t x50;
+ fiat_secp256k1_mulx_u32(&x49, &x50, x41, UINT32_C(0xffffffff));
+ uint32_t x51;
+ uint32_t x52;
+ fiat_secp256k1_mulx_u32(&x51, &x52, x41, UINT32_C(0xffffffff));
+ uint32_t x53;
+ uint32_t x54;
+ fiat_secp256k1_mulx_u32(&x53, &x54, x41, UINT32_C(0xffffffff));
+ uint32_t x55;
+ uint32_t x56;
+ fiat_secp256k1_mulx_u32(&x55, &x56, x41, UINT32_C(0xfffffffe));
+ uint32_t x57;
+ uint32_t x58;
+ fiat_secp256k1_mulx_u32(&x57, &x58, x41, UINT32_C(0xfffffc2f));
+ uint32_t x59;
+ fiat_secp256k1_uint1 x60;
+ fiat_secp256k1_addcarryx_u32(&x59, &x60, 0x0, x55, x58);
+ uint32_t x61;
+ fiat_secp256k1_uint1 x62;
+ fiat_secp256k1_addcarryx_u32(&x61, &x62, x60, x53, x56);
+ uint32_t x63;
+ fiat_secp256k1_uint1 x64;
+ fiat_secp256k1_addcarryx_u32(&x63, &x64, x62, x51, x54);
+ uint32_t x65;
+ fiat_secp256k1_uint1 x66;
+ fiat_secp256k1_addcarryx_u32(&x65, &x66, x64, x49, x52);
+ uint32_t x67;
+ fiat_secp256k1_uint1 x68;
+ fiat_secp256k1_addcarryx_u32(&x67, &x68, x66, x47, x50);
+ uint32_t x69;
+ fiat_secp256k1_uint1 x70;
+ fiat_secp256k1_addcarryx_u32(&x69, &x70, x68, x45, x48);
+ uint32_t x71;
+ fiat_secp256k1_uint1 x72;
+ fiat_secp256k1_addcarryx_u32(&x71, &x72, x70, x43, x46);
+ uint32_t x73;
+ fiat_secp256k1_uint1 x74;
+ fiat_secp256k1_addcarryx_u32(&x73, &x74, x72, 0x0, x44);
+ uint32_t x75;
+ fiat_secp256k1_uint1 x76;
+ fiat_secp256k1_addcarryx_u32(&x75, &x76, 0x0, x57, x23);
+ uint32_t x77;
+ fiat_secp256k1_uint1 x78;
+ fiat_secp256k1_addcarryx_u32(&x77, &x78, x76, x59, x25);
+ uint32_t x79;
+ fiat_secp256k1_uint1 x80;
+ fiat_secp256k1_addcarryx_u32(&x79, &x80, x78, x61, x27);
+ uint32_t x81;
+ fiat_secp256k1_uint1 x82;
+ fiat_secp256k1_addcarryx_u32(&x81, &x82, x80, x63, x29);
+ uint32_t x83;
+ fiat_secp256k1_uint1 x84;
+ fiat_secp256k1_addcarryx_u32(&x83, &x84, x82, x65, x31);
+ uint32_t x85;
+ fiat_secp256k1_uint1 x86;
+ fiat_secp256k1_addcarryx_u32(&x85, &x86, x84, x67, x33);
+ uint32_t x87;
+ fiat_secp256k1_uint1 x88;
+ fiat_secp256k1_addcarryx_u32(&x87, &x88, x86, x69, x35);
+ uint32_t x89;
+ fiat_secp256k1_uint1 x90;
+ fiat_secp256k1_addcarryx_u32(&x89, &x90, x88, x71, x37);
+ uint32_t x91;
+ fiat_secp256k1_uint1 x92;
+ fiat_secp256k1_addcarryx_u32(&x91, &x92, x90, x73, x39);
+ uint32_t x93;
+ fiat_secp256k1_uint1 x94;
+ fiat_secp256k1_addcarryx_u32(&x93, &x94, x92, 0x0, 0x0);
+ uint32_t x95;
+ uint32_t x96;
+ fiat_secp256k1_mulx_u32(&x95, &x96, x1, (arg2[7]));
+ uint32_t x97;
+ uint32_t x98;
+ fiat_secp256k1_mulx_u32(&x97, &x98, x1, (arg2[6]));
+ uint32_t x99;
+ uint32_t x100;
+ fiat_secp256k1_mulx_u32(&x99, &x100, x1, (arg2[5]));
+ uint32_t x101;
+ uint32_t x102;
+ fiat_secp256k1_mulx_u32(&x101, &x102, x1, (arg2[4]));
+ uint32_t x103;
+ uint32_t x104;
+ fiat_secp256k1_mulx_u32(&x103, &x104, x1, (arg2[3]));
+ uint32_t x105;
+ uint32_t x106;
+ fiat_secp256k1_mulx_u32(&x105, &x106, x1, (arg2[2]));
+ uint32_t x107;
+ uint32_t x108;
+ fiat_secp256k1_mulx_u32(&x107, &x108, x1, (arg2[1]));
+ uint32_t x109;
+ uint32_t x110;
+ fiat_secp256k1_mulx_u32(&x109, &x110, x1, (arg2[0]));
+ uint32_t x111;
+ fiat_secp256k1_uint1 x112;
+ fiat_secp256k1_addcarryx_u32(&x111, &x112, 0x0, x107, x110);
+ uint32_t x113;
+ fiat_secp256k1_uint1 x114;
+ fiat_secp256k1_addcarryx_u32(&x113, &x114, x112, x105, x108);
+ uint32_t x115;
+ fiat_secp256k1_uint1 x116;
+ fiat_secp256k1_addcarryx_u32(&x115, &x116, x114, x103, x106);
+ uint32_t x117;
+ fiat_secp256k1_uint1 x118;
+ fiat_secp256k1_addcarryx_u32(&x117, &x118, x116, x101, x104);
+ uint32_t x119;
+ fiat_secp256k1_uint1 x120;
+ fiat_secp256k1_addcarryx_u32(&x119, &x120, x118, x99, x102);
+ uint32_t x121;
+ fiat_secp256k1_uint1 x122;
+ fiat_secp256k1_addcarryx_u32(&x121, &x122, x120, x97, x100);
+ uint32_t x123;
+ fiat_secp256k1_uint1 x124;
+ fiat_secp256k1_addcarryx_u32(&x123, &x124, x122, x95, x98);
+ uint32_t x125;
+ fiat_secp256k1_uint1 x126;
+ fiat_secp256k1_addcarryx_u32(&x125, &x126, x124, 0x0, x96);
+ uint32_t x127;
+ fiat_secp256k1_uint1 x128;
+ fiat_secp256k1_addcarryx_u32(&x127, &x128, 0x0, x109, x77);
+ uint32_t x129;
+ fiat_secp256k1_uint1 x130;
+ fiat_secp256k1_addcarryx_u32(&x129, &x130, x128, x111, x79);
+ uint32_t x131;
+ fiat_secp256k1_uint1 x132;
+ fiat_secp256k1_addcarryx_u32(&x131, &x132, x130, x113, x81);
+ uint32_t x133;
+ fiat_secp256k1_uint1 x134;
+ fiat_secp256k1_addcarryx_u32(&x133, &x134, x132, x115, x83);
+ uint32_t x135;
+ fiat_secp256k1_uint1 x136;
+ fiat_secp256k1_addcarryx_u32(&x135, &x136, x134, x117, x85);
+ uint32_t x137;
+ fiat_secp256k1_uint1 x138;
+ fiat_secp256k1_addcarryx_u32(&x137, &x138, x136, x119, x87);
+ uint32_t x139;
+ fiat_secp256k1_uint1 x140;
+ fiat_secp256k1_addcarryx_u32(&x139, &x140, x138, x121, x89);
+ uint32_t x141;
+ fiat_secp256k1_uint1 x142;
+ fiat_secp256k1_addcarryx_u32(&x141, &x142, x140, x123, x91);
+ uint32_t x143;
+ fiat_secp256k1_uint1 x144;
+ fiat_secp256k1_addcarryx_u32(&x143, &x144, x142, x125, (fiat_secp256k1_uint1)x93);
+ uint32_t x145;
+ uint32_t x146;
+ fiat_secp256k1_mulx_u32(&x145, &x146, x127, UINT32_C(0xd2253531));
+ uint32_t x147;
+ uint32_t x148;
+ fiat_secp256k1_mulx_u32(&x147, &x148, x145, UINT32_C(0xffffffff));
+ uint32_t x149;
+ uint32_t x150;
+ fiat_secp256k1_mulx_u32(&x149, &x150, x145, UINT32_C(0xffffffff));
+ uint32_t x151;
+ uint32_t x152;
+ fiat_secp256k1_mulx_u32(&x151, &x152, x145, UINT32_C(0xffffffff));
+ uint32_t x153;
+ uint32_t x154;
+ fiat_secp256k1_mulx_u32(&x153, &x154, x145, UINT32_C(0xffffffff));
+ uint32_t x155;
+ uint32_t x156;
+ fiat_secp256k1_mulx_u32(&x155, &x156, x145, UINT32_C(0xffffffff));
+ uint32_t x157;
+ uint32_t x158;
+ fiat_secp256k1_mulx_u32(&x157, &x158, x145, UINT32_C(0xffffffff));
+ uint32_t x159;
+ uint32_t x160;
+ fiat_secp256k1_mulx_u32(&x159, &x160, x145, UINT32_C(0xfffffffe));
+ uint32_t x161;
+ uint32_t x162;
+ fiat_secp256k1_mulx_u32(&x161, &x162, x145, UINT32_C(0xfffffc2f));
+ uint32_t x163;
+ fiat_secp256k1_uint1 x164;
+ fiat_secp256k1_addcarryx_u32(&x163, &x164, 0x0, x159, x162);
+ uint32_t x165;
+ fiat_secp256k1_uint1 x166;
+ fiat_secp256k1_addcarryx_u32(&x165, &x166, x164, x157, x160);
+ uint32_t x167;
+ fiat_secp256k1_uint1 x168;
+ fiat_secp256k1_addcarryx_u32(&x167, &x168, x166, x155, x158);
+ uint32_t x169;
+ fiat_secp256k1_uint1 x170;
+ fiat_secp256k1_addcarryx_u32(&x169, &x170, x168, x153, x156);
+ uint32_t x171;
+ fiat_secp256k1_uint1 x172;
+ fiat_secp256k1_addcarryx_u32(&x171, &x172, x170, x151, x154);
+ uint32_t x173;
+ fiat_secp256k1_uint1 x174;
+ fiat_secp256k1_addcarryx_u32(&x173, &x174, x172, x149, x152);
+ uint32_t x175;
+ fiat_secp256k1_uint1 x176;
+ fiat_secp256k1_addcarryx_u32(&x175, &x176, x174, x147, x150);
+ uint32_t x177;
+ fiat_secp256k1_uint1 x178;
+ fiat_secp256k1_addcarryx_u32(&x177, &x178, x176, 0x0, x148);
+ uint32_t x179;
+ fiat_secp256k1_uint1 x180;
+ fiat_secp256k1_addcarryx_u32(&x179, &x180, 0x0, x161, x127);
+ uint32_t x181;
+ fiat_secp256k1_uint1 x182;
+ fiat_secp256k1_addcarryx_u32(&x181, &x182, x180, x163, x129);
+ uint32_t x183;
+ fiat_secp256k1_uint1 x184;
+ fiat_secp256k1_addcarryx_u32(&x183, &x184, x182, x165, x131);
+ uint32_t x185;
+ fiat_secp256k1_uint1 x186;
+ fiat_secp256k1_addcarryx_u32(&x185, &x186, x184, x167, x133);
+ uint32_t x187;
+ fiat_secp256k1_uint1 x188;
+ fiat_secp256k1_addcarryx_u32(&x187, &x188, x186, x169, x135);
+ uint32_t x189;
+ fiat_secp256k1_uint1 x190;
+ fiat_secp256k1_addcarryx_u32(&x189, &x190, x188, x171, x137);
+ uint32_t x191;
+ fiat_secp256k1_uint1 x192;
+ fiat_secp256k1_addcarryx_u32(&x191, &x192, x190, x173, x139);
+ uint32_t x193;
+ fiat_secp256k1_uint1 x194;
+ fiat_secp256k1_addcarryx_u32(&x193, &x194, x192, x175, x141);
+ uint32_t x195;
+ fiat_secp256k1_uint1 x196;
+ fiat_secp256k1_addcarryx_u32(&x195, &x196, x194, x177, x143);
+ uint32_t x197;
+ fiat_secp256k1_uint1 x198;
+ fiat_secp256k1_addcarryx_u32(&x197, &x198, x196, 0x0, x144);
+ uint32_t x199;
+ uint32_t x200;
+ fiat_secp256k1_mulx_u32(&x199, &x200, x2, (arg2[7]));
+ uint32_t x201;
+ uint32_t x202;
+ fiat_secp256k1_mulx_u32(&x201, &x202, x2, (arg2[6]));
+ uint32_t x203;
+ uint32_t x204;
+ fiat_secp256k1_mulx_u32(&x203, &x204, x2, (arg2[5]));
+ uint32_t x205;
+ uint32_t x206;
+ fiat_secp256k1_mulx_u32(&x205, &x206, x2, (arg2[4]));
+ uint32_t x207;
+ uint32_t x208;
+ fiat_secp256k1_mulx_u32(&x207, &x208, x2, (arg2[3]));
+ uint32_t x209;
+ uint32_t x210;
+ fiat_secp256k1_mulx_u32(&x209, &x210, x2, (arg2[2]));
+ uint32_t x211;
+ uint32_t x212;
+ fiat_secp256k1_mulx_u32(&x211, &x212, x2, (arg2[1]));
+ uint32_t x213;
+ uint32_t x214;
+ fiat_secp256k1_mulx_u32(&x213, &x214, x2, (arg2[0]));
+ uint32_t x215;
+ fiat_secp256k1_uint1 x216;
+ fiat_secp256k1_addcarryx_u32(&x215, &x216, 0x0, x211, x214);
+ uint32_t x217;
+ fiat_secp256k1_uint1 x218;
+ fiat_secp256k1_addcarryx_u32(&x217, &x218, x216, x209, x212);
+ uint32_t x219;
+ fiat_secp256k1_uint1 x220;
+ fiat_secp256k1_addcarryx_u32(&x219, &x220, x218, x207, x210);
+ uint32_t x221;
+ fiat_secp256k1_uint1 x222;
+ fiat_secp256k1_addcarryx_u32(&x221, &x222, x220, x205, x208);
+ uint32_t x223;
+ fiat_secp256k1_uint1 x224;
+ fiat_secp256k1_addcarryx_u32(&x223, &x224, x222, x203, x206);
+ uint32_t x225;
+ fiat_secp256k1_uint1 x226;
+ fiat_secp256k1_addcarryx_u32(&x225, &x226, x224, x201, x204);
+ uint32_t x227;
+ fiat_secp256k1_uint1 x228;
+ fiat_secp256k1_addcarryx_u32(&x227, &x228, x226, x199, x202);
+ uint32_t x229;
+ fiat_secp256k1_uint1 x230;
+ fiat_secp256k1_addcarryx_u32(&x229, &x230, x228, 0x0, x200);
+ uint32_t x231;
+ fiat_secp256k1_uint1 x232;
+ fiat_secp256k1_addcarryx_u32(&x231, &x232, 0x0, x213, x181);
+ uint32_t x233;
+ fiat_secp256k1_uint1 x234;
+ fiat_secp256k1_addcarryx_u32(&x233, &x234, x232, x215, x183);
+ uint32_t x235;
+ fiat_secp256k1_uint1 x236;
+ fiat_secp256k1_addcarryx_u32(&x235, &x236, x234, x217, x185);
+ uint32_t x237;
+ fiat_secp256k1_uint1 x238;
+ fiat_secp256k1_addcarryx_u32(&x237, &x238, x236, x219, x187);
+ uint32_t x239;
+ fiat_secp256k1_uint1 x240;
+ fiat_secp256k1_addcarryx_u32(&x239, &x240, x238, x221, x189);
+ uint32_t x241;
+ fiat_secp256k1_uint1 x242;
+ fiat_secp256k1_addcarryx_u32(&x241, &x242, x240, x223, x191);
+ uint32_t x243;
+ fiat_secp256k1_uint1 x244;
+ fiat_secp256k1_addcarryx_u32(&x243, &x244, x242, x225, x193);
+ uint32_t x245;
+ fiat_secp256k1_uint1 x246;
+ fiat_secp256k1_addcarryx_u32(&x245, &x246, x244, x227, x195);
+ uint32_t x247;
+ fiat_secp256k1_uint1 x248;
+ fiat_secp256k1_addcarryx_u32(&x247, &x248, x246, x229, x197);
+ uint32_t x249;
+ uint32_t x250;
+ fiat_secp256k1_mulx_u32(&x249, &x250, x231, UINT32_C(0xd2253531));
+ uint32_t x251;
+ uint32_t x252;
+ fiat_secp256k1_mulx_u32(&x251, &x252, x249, UINT32_C(0xffffffff));
+ uint32_t x253;
+ uint32_t x254;
+ fiat_secp256k1_mulx_u32(&x253, &x254, x249, UINT32_C(0xffffffff));
+ uint32_t x255;
+ uint32_t x256;
+ fiat_secp256k1_mulx_u32(&x255, &x256, x249, UINT32_C(0xffffffff));
+ uint32_t x257;
+ uint32_t x258;
+ fiat_secp256k1_mulx_u32(&x257, &x258, x249, UINT32_C(0xffffffff));
+ uint32_t x259;
+ uint32_t x260;
+ fiat_secp256k1_mulx_u32(&x259, &x260, x249, UINT32_C(0xffffffff));
+ uint32_t x261;
+ uint32_t x262;
+ fiat_secp256k1_mulx_u32(&x261, &x262, x249, UINT32_C(0xffffffff));
+ uint32_t x263;
+ uint32_t x264;
+ fiat_secp256k1_mulx_u32(&x263, &x264, x249, UINT32_C(0xfffffffe));
+ uint32_t x265;
+ uint32_t x266;
+ fiat_secp256k1_mulx_u32(&x265, &x266, x249, UINT32_C(0xfffffc2f));
+ uint32_t x267;
+ fiat_secp256k1_uint1 x268;
+ fiat_secp256k1_addcarryx_u32(&x267, &x268, 0x0, x263, x266);
+ uint32_t x269;
+ fiat_secp256k1_uint1 x270;
+ fiat_secp256k1_addcarryx_u32(&x269, &x270, x268, x261, x264);
+ uint32_t x271;
+ fiat_secp256k1_uint1 x272;
+ fiat_secp256k1_addcarryx_u32(&x271, &x272, x270, x259, x262);
+ uint32_t x273;
+ fiat_secp256k1_uint1 x274;
+ fiat_secp256k1_addcarryx_u32(&x273, &x274, x272, x257, x260);
+ uint32_t x275;
+ fiat_secp256k1_uint1 x276;
+ fiat_secp256k1_addcarryx_u32(&x275, &x276, x274, x255, x258);
+ uint32_t x277;
+ fiat_secp256k1_uint1 x278;
+ fiat_secp256k1_addcarryx_u32(&x277, &x278, x276, x253, x256);
+ uint32_t x279;
+ fiat_secp256k1_uint1 x280;
+ fiat_secp256k1_addcarryx_u32(&x279, &x280, x278, x251, x254);
+ uint32_t x281;
+ fiat_secp256k1_uint1 x282;
+ fiat_secp256k1_addcarryx_u32(&x281, &x282, x280, 0x0, x252);
+ uint32_t x283;
+ fiat_secp256k1_uint1 x284;
+ fiat_secp256k1_addcarryx_u32(&x283, &x284, 0x0, x265, x231);
+ uint32_t x285;
+ fiat_secp256k1_uint1 x286;
+ fiat_secp256k1_addcarryx_u32(&x285, &x286, x284, x267, x233);
+ uint32_t x287;
+ fiat_secp256k1_uint1 x288;
+ fiat_secp256k1_addcarryx_u32(&x287, &x288, x286, x269, x235);
+ uint32_t x289;
+ fiat_secp256k1_uint1 x290;
+ fiat_secp256k1_addcarryx_u32(&x289, &x290, x288, x271, x237);
+ uint32_t x291;
+ fiat_secp256k1_uint1 x292;
+ fiat_secp256k1_addcarryx_u32(&x291, &x292, x290, x273, x239);
+ uint32_t x293;
+ fiat_secp256k1_uint1 x294;
+ fiat_secp256k1_addcarryx_u32(&x293, &x294, x292, x275, x241);
+ uint32_t x295;
+ fiat_secp256k1_uint1 x296;
+ fiat_secp256k1_addcarryx_u32(&x295, &x296, x294, x277, x243);
+ uint32_t x297;
+ fiat_secp256k1_uint1 x298;
+ fiat_secp256k1_addcarryx_u32(&x297, &x298, x296, x279, x245);
+ uint32_t x299;
+ fiat_secp256k1_uint1 x300;
+ fiat_secp256k1_addcarryx_u32(&x299, &x300, x298, x281, x247);
+ uint32_t x301;
+ fiat_secp256k1_uint1 x302;
+ fiat_secp256k1_addcarryx_u32(&x301, &x302, x300, 0x0, x248);
+ uint32_t x303;
+ uint32_t x304;
+ fiat_secp256k1_mulx_u32(&x303, &x304, x3, (arg2[7]));
+ uint32_t x305;
+ uint32_t x306;
+ fiat_secp256k1_mulx_u32(&x305, &x306, x3, (arg2[6]));
+ uint32_t x307;
+ uint32_t x308;
+ fiat_secp256k1_mulx_u32(&x307, &x308, x3, (arg2[5]));
+ uint32_t x309;
+ uint32_t x310;
+ fiat_secp256k1_mulx_u32(&x309, &x310, x3, (arg2[4]));
+ uint32_t x311;
+ uint32_t x312;
+ fiat_secp256k1_mulx_u32(&x311, &x312, x3, (arg2[3]));
+ uint32_t x313;
+ uint32_t x314;
+ fiat_secp256k1_mulx_u32(&x313, &x314, x3, (arg2[2]));
+ uint32_t x315;
+ uint32_t x316;
+ fiat_secp256k1_mulx_u32(&x315, &x316, x3, (arg2[1]));
+ uint32_t x317;
+ uint32_t x318;
+ fiat_secp256k1_mulx_u32(&x317, &x318, x3, (arg2[0]));
+ uint32_t x319;
+ fiat_secp256k1_uint1 x320;
+ fiat_secp256k1_addcarryx_u32(&x319, &x320, 0x0, x315, x318);
+ uint32_t x321;
+ fiat_secp256k1_uint1 x322;
+ fiat_secp256k1_addcarryx_u32(&x321, &x322, x320, x313, x316);
+ uint32_t x323;
+ fiat_secp256k1_uint1 x324;
+ fiat_secp256k1_addcarryx_u32(&x323, &x324, x322, x311, x314);
+ uint32_t x325;
+ fiat_secp256k1_uint1 x326;
+ fiat_secp256k1_addcarryx_u32(&x325, &x326, x324, x309, x312);
+ uint32_t x327;
+ fiat_secp256k1_uint1 x328;
+ fiat_secp256k1_addcarryx_u32(&x327, &x328, x326, x307, x310);
+ uint32_t x329;
+ fiat_secp256k1_uint1 x330;
+ fiat_secp256k1_addcarryx_u32(&x329, &x330, x328, x305, x308);
+ uint32_t x331;
+ fiat_secp256k1_uint1 x332;
+ fiat_secp256k1_addcarryx_u32(&x331, &x332, x330, x303, x306);
+ uint32_t x333;
+ fiat_secp256k1_uint1 x334;
+ fiat_secp256k1_addcarryx_u32(&x333, &x334, x332, 0x0, x304);
+ uint32_t x335;
+ fiat_secp256k1_uint1 x336;
+ fiat_secp256k1_addcarryx_u32(&x335, &x336, 0x0, x317, x285);
+ uint32_t x337;
+ fiat_secp256k1_uint1 x338;
+ fiat_secp256k1_addcarryx_u32(&x337, &x338, x336, x319, x287);
+ uint32_t x339;
+ fiat_secp256k1_uint1 x340;
+ fiat_secp256k1_addcarryx_u32(&x339, &x340, x338, x321, x289);
+ uint32_t x341;
+ fiat_secp256k1_uint1 x342;
+ fiat_secp256k1_addcarryx_u32(&x341, &x342, x340, x323, x291);
+ uint32_t x343;
+ fiat_secp256k1_uint1 x344;
+ fiat_secp256k1_addcarryx_u32(&x343, &x344, x342, x325, x293);
+ uint32_t x345;
+ fiat_secp256k1_uint1 x346;
+ fiat_secp256k1_addcarryx_u32(&x345, &x346, x344, x327, x295);
+ uint32_t x347;
+ fiat_secp256k1_uint1 x348;
+ fiat_secp256k1_addcarryx_u32(&x347, &x348, x346, x329, x297);
+ uint32_t x349;
+ fiat_secp256k1_uint1 x350;
+ fiat_secp256k1_addcarryx_u32(&x349, &x350, x348, x331, x299);
+ uint32_t x351;
+ fiat_secp256k1_uint1 x352;
+ fiat_secp256k1_addcarryx_u32(&x351, &x352, x350, x333, x301);
+ uint32_t x353;
+ uint32_t x354;
+ fiat_secp256k1_mulx_u32(&x353, &x354, x335, UINT32_C(0xd2253531));
+ uint32_t x355;
+ uint32_t x356;
+ fiat_secp256k1_mulx_u32(&x355, &x356, x353, UINT32_C(0xffffffff));
+ uint32_t x357;
+ uint32_t x358;
+ fiat_secp256k1_mulx_u32(&x357, &x358, x353, UINT32_C(0xffffffff));
+ uint32_t x359;
+ uint32_t x360;
+ fiat_secp256k1_mulx_u32(&x359, &x360, x353, UINT32_C(0xffffffff));
+ uint32_t x361;
+ uint32_t x362;
+ fiat_secp256k1_mulx_u32(&x361, &x362, x353, UINT32_C(0xffffffff));
+ uint32_t x363;
+ uint32_t x364;
+ fiat_secp256k1_mulx_u32(&x363, &x364, x353, UINT32_C(0xffffffff));
+ uint32_t x365;
+ uint32_t x366;
+ fiat_secp256k1_mulx_u32(&x365, &x366, x353, UINT32_C(0xffffffff));
+ uint32_t x367;
+ uint32_t x368;
+ fiat_secp256k1_mulx_u32(&x367, &x368, x353, UINT32_C(0xfffffffe));
+ uint32_t x369;
+ uint32_t x370;
+ fiat_secp256k1_mulx_u32(&x369, &x370, x353, UINT32_C(0xfffffc2f));
+ uint32_t x371;
+ fiat_secp256k1_uint1 x372;
+ fiat_secp256k1_addcarryx_u32(&x371, &x372, 0x0, x367, x370);
+ uint32_t x373;
+ fiat_secp256k1_uint1 x374;
+ fiat_secp256k1_addcarryx_u32(&x373, &x374, x372, x365, x368);
+ uint32_t x375;
+ fiat_secp256k1_uint1 x376;
+ fiat_secp256k1_addcarryx_u32(&x375, &x376, x374, x363, x366);
+ uint32_t x377;
+ fiat_secp256k1_uint1 x378;
+ fiat_secp256k1_addcarryx_u32(&x377, &x378, x376, x361, x364);
+ uint32_t x379;
+ fiat_secp256k1_uint1 x380;
+ fiat_secp256k1_addcarryx_u32(&x379, &x380, x378, x359, x362);
+ uint32_t x381;
+ fiat_secp256k1_uint1 x382;
+ fiat_secp256k1_addcarryx_u32(&x381, &x382, x380, x357, x360);
+ uint32_t x383;
+ fiat_secp256k1_uint1 x384;
+ fiat_secp256k1_addcarryx_u32(&x383, &x384, x382, x355, x358);
+ uint32_t x385;
+ fiat_secp256k1_uint1 x386;
+ fiat_secp256k1_addcarryx_u32(&x385, &x386, x384, 0x0, x356);
+ uint32_t x387;
+ fiat_secp256k1_uint1 x388;
+ fiat_secp256k1_addcarryx_u32(&x387, &x388, 0x0, x369, x335);
+ uint32_t x389;
+ fiat_secp256k1_uint1 x390;
+ fiat_secp256k1_addcarryx_u32(&x389, &x390, x388, x371, x337);
+ uint32_t x391;
+ fiat_secp256k1_uint1 x392;
+ fiat_secp256k1_addcarryx_u32(&x391, &x392, x390, x373, x339);
+ uint32_t x393;
+ fiat_secp256k1_uint1 x394;
+ fiat_secp256k1_addcarryx_u32(&x393, &x394, x392, x375, x341);
+ uint32_t x395;
+ fiat_secp256k1_uint1 x396;
+ fiat_secp256k1_addcarryx_u32(&x395, &x396, x394, x377, x343);
+ uint32_t x397;
+ fiat_secp256k1_uint1 x398;
+ fiat_secp256k1_addcarryx_u32(&x397, &x398, x396, x379, x345);
+ uint32_t x399;
+ fiat_secp256k1_uint1 x400;
+ fiat_secp256k1_addcarryx_u32(&x399, &x400, x398, x381, x347);
+ uint32_t x401;
+ fiat_secp256k1_uint1 x402;
+ fiat_secp256k1_addcarryx_u32(&x401, &x402, x400, x383, x349);
+ uint32_t x403;
+ fiat_secp256k1_uint1 x404;
+ fiat_secp256k1_addcarryx_u32(&x403, &x404, x402, x385, x351);
+ uint32_t x405;
+ fiat_secp256k1_uint1 x406;
+ fiat_secp256k1_addcarryx_u32(&x405, &x406, x404, 0x0, x352);
+ uint32_t x407;
+ uint32_t x408;
+ fiat_secp256k1_mulx_u32(&x407, &x408, x4, (arg2[7]));
+ uint32_t x409;
+ uint32_t x410;
+ fiat_secp256k1_mulx_u32(&x409, &x410, x4, (arg2[6]));
+ uint32_t x411;
+ uint32_t x412;
+ fiat_secp256k1_mulx_u32(&x411, &x412, x4, (arg2[5]));
+ uint32_t x413;
+ uint32_t x414;
+ fiat_secp256k1_mulx_u32(&x413, &x414, x4, (arg2[4]));
+ uint32_t x415;
+ uint32_t x416;
+ fiat_secp256k1_mulx_u32(&x415, &x416, x4, (arg2[3]));
+ uint32_t x417;
+ uint32_t x418;
+ fiat_secp256k1_mulx_u32(&x417, &x418, x4, (arg2[2]));
+ uint32_t x419;
+ uint32_t x420;
+ fiat_secp256k1_mulx_u32(&x419, &x420, x4, (arg2[1]));
+ uint32_t x421;
+ uint32_t x422;
+ fiat_secp256k1_mulx_u32(&x421, &x422, x4, (arg2[0]));
+ uint32_t x423;
+ fiat_secp256k1_uint1 x424;
+ fiat_secp256k1_addcarryx_u32(&x423, &x424, 0x0, x419, x422);
+ uint32_t x425;
+ fiat_secp256k1_uint1 x426;
+ fiat_secp256k1_addcarryx_u32(&x425, &x426, x424, x417, x420);
+ uint32_t x427;
+ fiat_secp256k1_uint1 x428;
+ fiat_secp256k1_addcarryx_u32(&x427, &x428, x426, x415, x418);
+ uint32_t x429;
+ fiat_secp256k1_uint1 x430;
+ fiat_secp256k1_addcarryx_u32(&x429, &x430, x428, x413, x416);
+ uint32_t x431;
+ fiat_secp256k1_uint1 x432;
+ fiat_secp256k1_addcarryx_u32(&x431, &x432, x430, x411, x414);
+ uint32_t x433;
+ fiat_secp256k1_uint1 x434;
+ fiat_secp256k1_addcarryx_u32(&x433, &x434, x432, x409, x412);
+ uint32_t x435;
+ fiat_secp256k1_uint1 x436;
+ fiat_secp256k1_addcarryx_u32(&x435, &x436, x434, x407, x410);
+ uint32_t x437;
+ fiat_secp256k1_uint1 x438;
+ fiat_secp256k1_addcarryx_u32(&x437, &x438, x436, 0x0, x408);
+ uint32_t x439;
+ fiat_secp256k1_uint1 x440;
+ fiat_secp256k1_addcarryx_u32(&x439, &x440, 0x0, x421, x389);
+ uint32_t x441;
+ fiat_secp256k1_uint1 x442;
+ fiat_secp256k1_addcarryx_u32(&x441, &x442, x440, x423, x391);
+ uint32_t x443;
+ fiat_secp256k1_uint1 x444;
+ fiat_secp256k1_addcarryx_u32(&x443, &x444, x442, x425, x393);
+ uint32_t x445;
+ fiat_secp256k1_uint1 x446;
+ fiat_secp256k1_addcarryx_u32(&x445, &x446, x444, x427, x395);
+ uint32_t x447;
+ fiat_secp256k1_uint1 x448;
+ fiat_secp256k1_addcarryx_u32(&x447, &x448, x446, x429, x397);
+ uint32_t x449;
+ fiat_secp256k1_uint1 x450;
+ fiat_secp256k1_addcarryx_u32(&x449, &x450, x448, x431, x399);
+ uint32_t x451;
+ fiat_secp256k1_uint1 x452;
+ fiat_secp256k1_addcarryx_u32(&x451, &x452, x450, x433, x401);
+ uint32_t x453;
+ fiat_secp256k1_uint1 x454;
+ fiat_secp256k1_addcarryx_u32(&x453, &x454, x452, x435, x403);
+ uint32_t x455;
+ fiat_secp256k1_uint1 x456;
+ fiat_secp256k1_addcarryx_u32(&x455, &x456, x454, x437, x405);
+ uint32_t x457;
+ uint32_t x458;
+ fiat_secp256k1_mulx_u32(&x457, &x458, x439, UINT32_C(0xd2253531));
+ uint32_t x459;
+ uint32_t x460;
+ fiat_secp256k1_mulx_u32(&x459, &x460, x457, UINT32_C(0xffffffff));
+ uint32_t x461;
+ uint32_t x462;
+ fiat_secp256k1_mulx_u32(&x461, &x462, x457, UINT32_C(0xffffffff));
+ uint32_t x463;
+ uint32_t x464;
+ fiat_secp256k1_mulx_u32(&x463, &x464, x457, UINT32_C(0xffffffff));
+ uint32_t x465;
+ uint32_t x466;
+ fiat_secp256k1_mulx_u32(&x465, &x466, x457, UINT32_C(0xffffffff));
+ uint32_t x467;
+ uint32_t x468;
+ fiat_secp256k1_mulx_u32(&x467, &x468, x457, UINT32_C(0xffffffff));
+ uint32_t x469;
+ uint32_t x470;
+ fiat_secp256k1_mulx_u32(&x469, &x470, x457, UINT32_C(0xffffffff));
+ uint32_t x471;
+ uint32_t x472;
+ fiat_secp256k1_mulx_u32(&x471, &x472, x457, UINT32_C(0xfffffffe));
+ uint32_t x473;
+ uint32_t x474;
+ fiat_secp256k1_mulx_u32(&x473, &x474, x457, UINT32_C(0xfffffc2f));
+ uint32_t x475;
+ fiat_secp256k1_uint1 x476;
+ fiat_secp256k1_addcarryx_u32(&x475, &x476, 0x0, x471, x474);
+ uint32_t x477;
+ fiat_secp256k1_uint1 x478;
+ fiat_secp256k1_addcarryx_u32(&x477, &x478, x476, x469, x472);
+ uint32_t x479;
+ fiat_secp256k1_uint1 x480;
+ fiat_secp256k1_addcarryx_u32(&x479, &x480, x478, x467, x470);
+ uint32_t x481;
+ fiat_secp256k1_uint1 x482;
+ fiat_secp256k1_addcarryx_u32(&x481, &x482, x480, x465, x468);
+ uint32_t x483;
+ fiat_secp256k1_uint1 x484;
+ fiat_secp256k1_addcarryx_u32(&x483, &x484, x482, x463, x466);
+ uint32_t x485;
+ fiat_secp256k1_uint1 x486;
+ fiat_secp256k1_addcarryx_u32(&x485, &x486, x484, x461, x464);
+ uint32_t x487;
+ fiat_secp256k1_uint1 x488;
+ fiat_secp256k1_addcarryx_u32(&x487, &x488, x486, x459, x462);
+ uint32_t x489;
+ fiat_secp256k1_uint1 x490;
+ fiat_secp256k1_addcarryx_u32(&x489, &x490, x488, 0x0, x460);
+ uint32_t x491;
+ fiat_secp256k1_uint1 x492;
+ fiat_secp256k1_addcarryx_u32(&x491, &x492, 0x0, x473, x439);
+ uint32_t x493;
+ fiat_secp256k1_uint1 x494;
+ fiat_secp256k1_addcarryx_u32(&x493, &x494, x492, x475, x441);
+ uint32_t x495;
+ fiat_secp256k1_uint1 x496;
+ fiat_secp256k1_addcarryx_u32(&x495, &x496, x494, x477, x443);
+ uint32_t x497;
+ fiat_secp256k1_uint1 x498;
+ fiat_secp256k1_addcarryx_u32(&x497, &x498, x496, x479, x445);
+ uint32_t x499;
+ fiat_secp256k1_uint1 x500;
+ fiat_secp256k1_addcarryx_u32(&x499, &x500, x498, x481, x447);
+ uint32_t x501;
+ fiat_secp256k1_uint1 x502;
+ fiat_secp256k1_addcarryx_u32(&x501, &x502, x500, x483, x449);
+ uint32_t x503;
+ fiat_secp256k1_uint1 x504;
+ fiat_secp256k1_addcarryx_u32(&x503, &x504, x502, x485, x451);
+ uint32_t x505;
+ fiat_secp256k1_uint1 x506;
+ fiat_secp256k1_addcarryx_u32(&x505, &x506, x504, x487, x453);
+ uint32_t x507;
+ fiat_secp256k1_uint1 x508;
+ fiat_secp256k1_addcarryx_u32(&x507, &x508, x506, x489, x455);
+ uint32_t x509;
+ fiat_secp256k1_uint1 x510;
+ fiat_secp256k1_addcarryx_u32(&x509, &x510, x508, 0x0, x456);
+ uint32_t x511;
+ uint32_t x512;
+ fiat_secp256k1_mulx_u32(&x511, &x512, x5, (arg2[7]));
+ uint32_t x513;
+ uint32_t x514;
+ fiat_secp256k1_mulx_u32(&x513, &x514, x5, (arg2[6]));
+ uint32_t x515;
+ uint32_t x516;
+ fiat_secp256k1_mulx_u32(&x515, &x516, x5, (arg2[5]));
+ uint32_t x517;
+ uint32_t x518;
+ fiat_secp256k1_mulx_u32(&x517, &x518, x5, (arg2[4]));
+ uint32_t x519;
+ uint32_t x520;
+ fiat_secp256k1_mulx_u32(&x519, &x520, x5, (arg2[3]));
+ uint32_t x521;
+ uint32_t x522;
+ fiat_secp256k1_mulx_u32(&x521, &x522, x5, (arg2[2]));
+ uint32_t x523;
+ uint32_t x524;
+ fiat_secp256k1_mulx_u32(&x523, &x524, x5, (arg2[1]));
+ uint32_t x525;
+ uint32_t x526;
+ fiat_secp256k1_mulx_u32(&x525, &x526, x5, (arg2[0]));
+ uint32_t x527;
+ fiat_secp256k1_uint1 x528;
+ fiat_secp256k1_addcarryx_u32(&x527, &x528, 0x0, x523, x526);
+ uint32_t x529;
+ fiat_secp256k1_uint1 x530;
+ fiat_secp256k1_addcarryx_u32(&x529, &x530, x528, x521, x524);
+ uint32_t x531;
+ fiat_secp256k1_uint1 x532;
+ fiat_secp256k1_addcarryx_u32(&x531, &x532, x530, x519, x522);
+ uint32_t x533;
+ fiat_secp256k1_uint1 x534;
+ fiat_secp256k1_addcarryx_u32(&x533, &x534, x532, x517, x520);
+ uint32_t x535;
+ fiat_secp256k1_uint1 x536;
+ fiat_secp256k1_addcarryx_u32(&x535, &x536, x534, x515, x518);
+ uint32_t x537;
+ fiat_secp256k1_uint1 x538;
+ fiat_secp256k1_addcarryx_u32(&x537, &x538, x536, x513, x516);
+ uint32_t x539;
+ fiat_secp256k1_uint1 x540;
+ fiat_secp256k1_addcarryx_u32(&x539, &x540, x538, x511, x514);
+ uint32_t x541;
+ fiat_secp256k1_uint1 x542;
+ fiat_secp256k1_addcarryx_u32(&x541, &x542, x540, 0x0, x512);
+ uint32_t x543;
+ fiat_secp256k1_uint1 x544;
+ fiat_secp256k1_addcarryx_u32(&x543, &x544, 0x0, x525, x493);
+ uint32_t x545;
+ fiat_secp256k1_uint1 x546;
+ fiat_secp256k1_addcarryx_u32(&x545, &x546, x544, x527, x495);
+ uint32_t x547;
+ fiat_secp256k1_uint1 x548;
+ fiat_secp256k1_addcarryx_u32(&x547, &x548, x546, x529, x497);
+ uint32_t x549;
+ fiat_secp256k1_uint1 x550;
+ fiat_secp256k1_addcarryx_u32(&x549, &x550, x548, x531, x499);
+ uint32_t x551;
+ fiat_secp256k1_uint1 x552;
+ fiat_secp256k1_addcarryx_u32(&x551, &x552, x550, x533, x501);
+ uint32_t x553;
+ fiat_secp256k1_uint1 x554;
+ fiat_secp256k1_addcarryx_u32(&x553, &x554, x552, x535, x503);
+ uint32_t x555;
+ fiat_secp256k1_uint1 x556;
+ fiat_secp256k1_addcarryx_u32(&x555, &x556, x554, x537, x505);
+ uint32_t x557;
+ fiat_secp256k1_uint1 x558;
+ fiat_secp256k1_addcarryx_u32(&x557, &x558, x556, x539, x507);
+ uint32_t x559;
+ fiat_secp256k1_uint1 x560;
+ fiat_secp256k1_addcarryx_u32(&x559, &x560, x558, x541, x509);
+ uint32_t x561;
+ uint32_t x562;
+ fiat_secp256k1_mulx_u32(&x561, &x562, x543, UINT32_C(0xd2253531));
+ uint32_t x563;
+ uint32_t x564;
+ fiat_secp256k1_mulx_u32(&x563, &x564, x561, UINT32_C(0xffffffff));
+ uint32_t x565;
+ uint32_t x566;
+ fiat_secp256k1_mulx_u32(&x565, &x566, x561, UINT32_C(0xffffffff));
+ uint32_t x567;
+ uint32_t x568;
+ fiat_secp256k1_mulx_u32(&x567, &x568, x561, UINT32_C(0xffffffff));
+ uint32_t x569;
+ uint32_t x570;
+ fiat_secp256k1_mulx_u32(&x569, &x570, x561, UINT32_C(0xffffffff));
+ uint32_t x571;
+ uint32_t x572;
+ fiat_secp256k1_mulx_u32(&x571, &x572, x561, UINT32_C(0xffffffff));
+ uint32_t x573;
+ uint32_t x574;
+ fiat_secp256k1_mulx_u32(&x573, &x574, x561, UINT32_C(0xffffffff));
+ uint32_t x575;
+ uint32_t x576;
+ fiat_secp256k1_mulx_u32(&x575, &x576, x561, UINT32_C(0xfffffffe));
+ uint32_t x577;
+ uint32_t x578;
+ fiat_secp256k1_mulx_u32(&x577, &x578, x561, UINT32_C(0xfffffc2f));
+ uint32_t x579;
+ fiat_secp256k1_uint1 x580;
+ fiat_secp256k1_addcarryx_u32(&x579, &x580, 0x0, x575, x578);
+ uint32_t x581;
+ fiat_secp256k1_uint1 x582;
+ fiat_secp256k1_addcarryx_u32(&x581, &x582, x580, x573, x576);
+ uint32_t x583;
+ fiat_secp256k1_uint1 x584;
+ fiat_secp256k1_addcarryx_u32(&x583, &x584, x582, x571, x574);
+ uint32_t x585;
+ fiat_secp256k1_uint1 x586;
+ fiat_secp256k1_addcarryx_u32(&x585, &x586, x584, x569, x572);
+ uint32_t x587;
+ fiat_secp256k1_uint1 x588;
+ fiat_secp256k1_addcarryx_u32(&x587, &x588, x586, x567, x570);
+ uint32_t x589;
+ fiat_secp256k1_uint1 x590;
+ fiat_secp256k1_addcarryx_u32(&x589, &x590, x588, x565, x568);
+ uint32_t x591;
+ fiat_secp256k1_uint1 x592;
+ fiat_secp256k1_addcarryx_u32(&x591, &x592, x590, x563, x566);
+ uint32_t x593;
+ fiat_secp256k1_uint1 x594;
+ fiat_secp256k1_addcarryx_u32(&x593, &x594, x592, 0x0, x564);
+ uint32_t x595;
+ fiat_secp256k1_uint1 x596;
+ fiat_secp256k1_addcarryx_u32(&x595, &x596, 0x0, x577, x543);
+ uint32_t x597;
+ fiat_secp256k1_uint1 x598;
+ fiat_secp256k1_addcarryx_u32(&x597, &x598, x596, x579, x545);
+ uint32_t x599;
+ fiat_secp256k1_uint1 x600;
+ fiat_secp256k1_addcarryx_u32(&x599, &x600, x598, x581, x547);
+ uint32_t x601;
+ fiat_secp256k1_uint1 x602;
+ fiat_secp256k1_addcarryx_u32(&x601, &x602, x600, x583, x549);
+ uint32_t x603;
+ fiat_secp256k1_uint1 x604;
+ fiat_secp256k1_addcarryx_u32(&x603, &x604, x602, x585, x551);
+ uint32_t x605;
+ fiat_secp256k1_uint1 x606;
+ fiat_secp256k1_addcarryx_u32(&x605, &x606, x604, x587, x553);
+ uint32_t x607;
+ fiat_secp256k1_uint1 x608;
+ fiat_secp256k1_addcarryx_u32(&x607, &x608, x606, x589, x555);
+ uint32_t x609;
+ fiat_secp256k1_uint1 x610;
+ fiat_secp256k1_addcarryx_u32(&x609, &x610, x608, x591, x557);
+ uint32_t x611;
+ fiat_secp256k1_uint1 x612;
+ fiat_secp256k1_addcarryx_u32(&x611, &x612, x610, x593, x559);
+ uint32_t x613;
+ fiat_secp256k1_uint1 x614;
+ fiat_secp256k1_addcarryx_u32(&x613, &x614, x612, 0x0, x560);
+ uint32_t x615;
+ uint32_t x616;
+ fiat_secp256k1_mulx_u32(&x615, &x616, x6, (arg2[7]));
+ uint32_t x617;
+ uint32_t x618;
+ fiat_secp256k1_mulx_u32(&x617, &x618, x6, (arg2[6]));
+ uint32_t x619;
+ uint32_t x620;
+ fiat_secp256k1_mulx_u32(&x619, &x620, x6, (arg2[5]));
+ uint32_t x621;
+ uint32_t x622;
+ fiat_secp256k1_mulx_u32(&x621, &x622, x6, (arg2[4]));
+ uint32_t x623;
+ uint32_t x624;
+ fiat_secp256k1_mulx_u32(&x623, &x624, x6, (arg2[3]));
+ uint32_t x625;
+ uint32_t x626;
+ fiat_secp256k1_mulx_u32(&x625, &x626, x6, (arg2[2]));
+ uint32_t x627;
+ uint32_t x628;
+ fiat_secp256k1_mulx_u32(&x627, &x628, x6, (arg2[1]));
+ uint32_t x629;
+ uint32_t x630;
+ fiat_secp256k1_mulx_u32(&x629, &x630, x6, (arg2[0]));
+ uint32_t x631;
+ fiat_secp256k1_uint1 x632;
+ fiat_secp256k1_addcarryx_u32(&x631, &x632, 0x0, x627, x630);
+ uint32_t x633;
+ fiat_secp256k1_uint1 x634;
+ fiat_secp256k1_addcarryx_u32(&x633, &x634, x632, x625, x628);
+ uint32_t x635;
+ fiat_secp256k1_uint1 x636;
+ fiat_secp256k1_addcarryx_u32(&x635, &x636, x634, x623, x626);
+ uint32_t x637;
+ fiat_secp256k1_uint1 x638;
+ fiat_secp256k1_addcarryx_u32(&x637, &x638, x636, x621, x624);
+ uint32_t x639;
+ fiat_secp256k1_uint1 x640;
+ fiat_secp256k1_addcarryx_u32(&x639, &x640, x638, x619, x622);
+ uint32_t x641;
+ fiat_secp256k1_uint1 x642;
+ fiat_secp256k1_addcarryx_u32(&x641, &x642, x640, x617, x620);
+ uint32_t x643;
+ fiat_secp256k1_uint1 x644;
+ fiat_secp256k1_addcarryx_u32(&x643, &x644, x642, x615, x618);
+ uint32_t x645;
+ fiat_secp256k1_uint1 x646;
+ fiat_secp256k1_addcarryx_u32(&x645, &x646, x644, 0x0, x616);
+ uint32_t x647;
+ fiat_secp256k1_uint1 x648;
+ fiat_secp256k1_addcarryx_u32(&x647, &x648, 0x0, x629, x597);
+ uint32_t x649;
+ fiat_secp256k1_uint1 x650;
+ fiat_secp256k1_addcarryx_u32(&x649, &x650, x648, x631, x599);
+ uint32_t x651;
+ fiat_secp256k1_uint1 x652;
+ fiat_secp256k1_addcarryx_u32(&x651, &x652, x650, x633, x601);
+ uint32_t x653;
+ fiat_secp256k1_uint1 x654;
+ fiat_secp256k1_addcarryx_u32(&x653, &x654, x652, x635, x603);
+ uint32_t x655;
+ fiat_secp256k1_uint1 x656;
+ fiat_secp256k1_addcarryx_u32(&x655, &x656, x654, x637, x605);
+ uint32_t x657;
+ fiat_secp256k1_uint1 x658;
+ fiat_secp256k1_addcarryx_u32(&x657, &x658, x656, x639, x607);
+ uint32_t x659;
+ fiat_secp256k1_uint1 x660;
+ fiat_secp256k1_addcarryx_u32(&x659, &x660, x658, x641, x609);
+ uint32_t x661;
+ fiat_secp256k1_uint1 x662;
+ fiat_secp256k1_addcarryx_u32(&x661, &x662, x660, x643, x611);
+ uint32_t x663;
+ fiat_secp256k1_uint1 x664;
+ fiat_secp256k1_addcarryx_u32(&x663, &x664, x662, x645, x613);
+ uint32_t x665;
+ uint32_t x666;
+ fiat_secp256k1_mulx_u32(&x665, &x666, x647, UINT32_C(0xd2253531));
+ uint32_t x667;
+ uint32_t x668;
+ fiat_secp256k1_mulx_u32(&x667, &x668, x665, UINT32_C(0xffffffff));
+ uint32_t x669;
+ uint32_t x670;
+ fiat_secp256k1_mulx_u32(&x669, &x670, x665, UINT32_C(0xffffffff));
+ uint32_t x671;
+ uint32_t x672;
+ fiat_secp256k1_mulx_u32(&x671, &x672, x665, UINT32_C(0xffffffff));
+ uint32_t x673;
+ uint32_t x674;
+ fiat_secp256k1_mulx_u32(&x673, &x674, x665, UINT32_C(0xffffffff));
+ uint32_t x675;
+ uint32_t x676;
+ fiat_secp256k1_mulx_u32(&x675, &x676, x665, UINT32_C(0xffffffff));
+ uint32_t x677;
+ uint32_t x678;
+ fiat_secp256k1_mulx_u32(&x677, &x678, x665, UINT32_C(0xffffffff));
+ uint32_t x679;
+ uint32_t x680;
+ fiat_secp256k1_mulx_u32(&x679, &x680, x665, UINT32_C(0xfffffffe));
+ uint32_t x681;
+ uint32_t x682;
+ fiat_secp256k1_mulx_u32(&x681, &x682, x665, UINT32_C(0xfffffc2f));
+ uint32_t x683;
+ fiat_secp256k1_uint1 x684;
+ fiat_secp256k1_addcarryx_u32(&x683, &x684, 0x0, x679, x682);
+ uint32_t x685;
+ fiat_secp256k1_uint1 x686;
+ fiat_secp256k1_addcarryx_u32(&x685, &x686, x684, x677, x680);
+ uint32_t x687;
+ fiat_secp256k1_uint1 x688;
+ fiat_secp256k1_addcarryx_u32(&x687, &x688, x686, x675, x678);
+ uint32_t x689;
+ fiat_secp256k1_uint1 x690;
+ fiat_secp256k1_addcarryx_u32(&x689, &x690, x688, x673, x676);
+ uint32_t x691;
+ fiat_secp256k1_uint1 x692;
+ fiat_secp256k1_addcarryx_u32(&x691, &x692, x690, x671, x674);
+ uint32_t x693;
+ fiat_secp256k1_uint1 x694;
+ fiat_secp256k1_addcarryx_u32(&x693, &x694, x692, x669, x672);
+ uint32_t x695;
+ fiat_secp256k1_uint1 x696;
+ fiat_secp256k1_addcarryx_u32(&x695, &x696, x694, x667, x670);
+ uint32_t x697;
+ fiat_secp256k1_uint1 x698;
+ fiat_secp256k1_addcarryx_u32(&x697, &x698, x696, 0x0, x668);
+ uint32_t x699;
+ fiat_secp256k1_uint1 x700;
+ fiat_secp256k1_addcarryx_u32(&x699, &x700, 0x0, x681, x647);
+ uint32_t x701;
+ fiat_secp256k1_uint1 x702;
+ fiat_secp256k1_addcarryx_u32(&x701, &x702, x700, x683, x649);
+ uint32_t x703;
+ fiat_secp256k1_uint1 x704;
+ fiat_secp256k1_addcarryx_u32(&x703, &x704, x702, x685, x651);
+ uint32_t x705;
+ fiat_secp256k1_uint1 x706;
+ fiat_secp256k1_addcarryx_u32(&x705, &x706, x704, x687, x653);
+ uint32_t x707;
+ fiat_secp256k1_uint1 x708;
+ fiat_secp256k1_addcarryx_u32(&x707, &x708, x706, x689, x655);
+ uint32_t x709;
+ fiat_secp256k1_uint1 x710;
+ fiat_secp256k1_addcarryx_u32(&x709, &x710, x708, x691, x657);
+ uint32_t x711;
+ fiat_secp256k1_uint1 x712;
+ fiat_secp256k1_addcarryx_u32(&x711, &x712, x710, x693, x659);
+ uint32_t x713;
+ fiat_secp256k1_uint1 x714;
+ fiat_secp256k1_addcarryx_u32(&x713, &x714, x712, x695, x661);
+ uint32_t x715;
+ fiat_secp256k1_uint1 x716;
+ fiat_secp256k1_addcarryx_u32(&x715, &x716, x714, x697, x663);
+ uint32_t x717;
+ fiat_secp256k1_uint1 x718;
+ fiat_secp256k1_addcarryx_u32(&x717, &x718, x716, 0x0, x664);
+ uint32_t x719;
+ uint32_t x720;
+ fiat_secp256k1_mulx_u32(&x719, &x720, x7, (arg2[7]));
+ uint32_t x721;
+ uint32_t x722;
+ fiat_secp256k1_mulx_u32(&x721, &x722, x7, (arg2[6]));
+ uint32_t x723;
+ uint32_t x724;
+ fiat_secp256k1_mulx_u32(&x723, &x724, x7, (arg2[5]));
+ uint32_t x725;
+ uint32_t x726;
+ fiat_secp256k1_mulx_u32(&x725, &x726, x7, (arg2[4]));
+ uint32_t x727;
+ uint32_t x728;
+ fiat_secp256k1_mulx_u32(&x727, &x728, x7, (arg2[3]));
+ uint32_t x729;
+ uint32_t x730;
+ fiat_secp256k1_mulx_u32(&x729, &x730, x7, (arg2[2]));
+ uint32_t x731;
+ uint32_t x732;
+ fiat_secp256k1_mulx_u32(&x731, &x732, x7, (arg2[1]));
+ uint32_t x733;
+ uint32_t x734;
+ fiat_secp256k1_mulx_u32(&x733, &x734, x7, (arg2[0]));
+ uint32_t x735;
+ fiat_secp256k1_uint1 x736;
+ fiat_secp256k1_addcarryx_u32(&x735, &x736, 0x0, x731, x734);
+ uint32_t x737;
+ fiat_secp256k1_uint1 x738;
+ fiat_secp256k1_addcarryx_u32(&x737, &x738, x736, x729, x732);
+ uint32_t x739;
+ fiat_secp256k1_uint1 x740;
+ fiat_secp256k1_addcarryx_u32(&x739, &x740, x738, x727, x730);
+ uint32_t x741;
+ fiat_secp256k1_uint1 x742;
+ fiat_secp256k1_addcarryx_u32(&x741, &x742, x740, x725, x728);
+ uint32_t x743;
+ fiat_secp256k1_uint1 x744;
+ fiat_secp256k1_addcarryx_u32(&x743, &x744, x742, x723, x726);
+ uint32_t x745;
+ fiat_secp256k1_uint1 x746;
+ fiat_secp256k1_addcarryx_u32(&x745, &x746, x744, x721, x724);
+ uint32_t x747;
+ fiat_secp256k1_uint1 x748;
+ fiat_secp256k1_addcarryx_u32(&x747, &x748, x746, x719, x722);
+ uint32_t x749;
+ fiat_secp256k1_uint1 x750;
+ fiat_secp256k1_addcarryx_u32(&x749, &x750, x748, 0x0, x720);
+ uint32_t x751;
+ fiat_secp256k1_uint1 x752;
+ fiat_secp256k1_addcarryx_u32(&x751, &x752, 0x0, x733, x701);
+ uint32_t x753;
+ fiat_secp256k1_uint1 x754;
+ fiat_secp256k1_addcarryx_u32(&x753, &x754, x752, x735, x703);
+ uint32_t x755;
+ fiat_secp256k1_uint1 x756;
+ fiat_secp256k1_addcarryx_u32(&x755, &x756, x754, x737, x705);
+ uint32_t x757;
+ fiat_secp256k1_uint1 x758;
+ fiat_secp256k1_addcarryx_u32(&x757, &x758, x756, x739, x707);
+ uint32_t x759;
+ fiat_secp256k1_uint1 x760;
+ fiat_secp256k1_addcarryx_u32(&x759, &x760, x758, x741, x709);
+ uint32_t x761;
+ fiat_secp256k1_uint1 x762;
+ fiat_secp256k1_addcarryx_u32(&x761, &x762, x760, x743, x711);
+ uint32_t x763;
+ fiat_secp256k1_uint1 x764;
+ fiat_secp256k1_addcarryx_u32(&x763, &x764, x762, x745, x713);
+ uint32_t x765;
+ fiat_secp256k1_uint1 x766;
+ fiat_secp256k1_addcarryx_u32(&x765, &x766, x764, x747, x715);
+ uint32_t x767;
+ fiat_secp256k1_uint1 x768;
+ fiat_secp256k1_addcarryx_u32(&x767, &x768, x766, x749, x717);
+ uint32_t x769;
+ uint32_t x770;
+ fiat_secp256k1_mulx_u32(&x769, &x770, x751, UINT32_C(0xd2253531));
+ uint32_t x771;
+ uint32_t x772;
+ fiat_secp256k1_mulx_u32(&x771, &x772, x769, UINT32_C(0xffffffff));
+ uint32_t x773;
+ uint32_t x774;
+ fiat_secp256k1_mulx_u32(&x773, &x774, x769, UINT32_C(0xffffffff));
+ uint32_t x775;
+ uint32_t x776;
+ fiat_secp256k1_mulx_u32(&x775, &x776, x769, UINT32_C(0xffffffff));
+ uint32_t x777;
+ uint32_t x778;
+ fiat_secp256k1_mulx_u32(&x777, &x778, x769, UINT32_C(0xffffffff));
+ uint32_t x779;
+ uint32_t x780;
+ fiat_secp256k1_mulx_u32(&x779, &x780, x769, UINT32_C(0xffffffff));
+ uint32_t x781;
+ uint32_t x782;
+ fiat_secp256k1_mulx_u32(&x781, &x782, x769, UINT32_C(0xffffffff));
+ uint32_t x783;
+ uint32_t x784;
+ fiat_secp256k1_mulx_u32(&x783, &x784, x769, UINT32_C(0xfffffffe));
+ uint32_t x785;
+ uint32_t x786;
+ fiat_secp256k1_mulx_u32(&x785, &x786, x769, UINT32_C(0xfffffc2f));
+ uint32_t x787;
+ fiat_secp256k1_uint1 x788;
+ fiat_secp256k1_addcarryx_u32(&x787, &x788, 0x0, x783, x786);
+ uint32_t x789;
+ fiat_secp256k1_uint1 x790;
+ fiat_secp256k1_addcarryx_u32(&x789, &x790, x788, x781, x784);
+ uint32_t x791;
+ fiat_secp256k1_uint1 x792;
+ fiat_secp256k1_addcarryx_u32(&x791, &x792, x790, x779, x782);
+ uint32_t x793;
+ fiat_secp256k1_uint1 x794;
+ fiat_secp256k1_addcarryx_u32(&x793, &x794, x792, x777, x780);
+ uint32_t x795;
+ fiat_secp256k1_uint1 x796;
+ fiat_secp256k1_addcarryx_u32(&x795, &x796, x794, x775, x778);
+ uint32_t x797;
+ fiat_secp256k1_uint1 x798;
+ fiat_secp256k1_addcarryx_u32(&x797, &x798, x796, x773, x776);
+ uint32_t x799;
+ fiat_secp256k1_uint1 x800;
+ fiat_secp256k1_addcarryx_u32(&x799, &x800, x798, x771, x774);
+ uint32_t x801;
+ fiat_secp256k1_uint1 x802;
+ fiat_secp256k1_addcarryx_u32(&x801, &x802, x800, 0x0, x772);
+ uint32_t x803;
+ fiat_secp256k1_uint1 x804;
+ fiat_secp256k1_addcarryx_u32(&x803, &x804, 0x0, x785, x751);
+ uint32_t x805;
+ fiat_secp256k1_uint1 x806;
+ fiat_secp256k1_addcarryx_u32(&x805, &x806, x804, x787, x753);
+ uint32_t x807;
+ fiat_secp256k1_uint1 x808;
+ fiat_secp256k1_addcarryx_u32(&x807, &x808, x806, x789, x755);
+ uint32_t x809;
+ fiat_secp256k1_uint1 x810;
+ fiat_secp256k1_addcarryx_u32(&x809, &x810, x808, x791, x757);
+ uint32_t x811;
+ fiat_secp256k1_uint1 x812;
+ fiat_secp256k1_addcarryx_u32(&x811, &x812, x810, x793, x759);
+ uint32_t x813;
+ fiat_secp256k1_uint1 x814;
+ fiat_secp256k1_addcarryx_u32(&x813, &x814, x812, x795, x761);
+ uint32_t x815;
+ fiat_secp256k1_uint1 x816;
+ fiat_secp256k1_addcarryx_u32(&x815, &x816, x814, x797, x763);
+ uint32_t x817;
+ fiat_secp256k1_uint1 x818;
+ fiat_secp256k1_addcarryx_u32(&x817, &x818, x816, x799, x765);
+ uint32_t x819;
+ fiat_secp256k1_uint1 x820;
+ fiat_secp256k1_addcarryx_u32(&x819, &x820, x818, x801, x767);
+ uint32_t x821;
+ fiat_secp256k1_uint1 x822;
+ fiat_secp256k1_addcarryx_u32(&x821, &x822, x820, 0x0, x768);
+ uint32_t x823;
+ fiat_secp256k1_uint1 x824;
+ fiat_secp256k1_subborrowx_u32(&x823, &x824, 0x0, x805, UINT32_C(0xfffffc2f));
+ uint32_t x825;
+ fiat_secp256k1_uint1 x826;
+ fiat_secp256k1_subborrowx_u32(&x825, &x826, x824, x807, UINT32_C(0xfffffffe));
+ uint32_t x827;
+ fiat_secp256k1_uint1 x828;
+ fiat_secp256k1_subborrowx_u32(&x827, &x828, x826, x809, UINT32_C(0xffffffff));
+ uint32_t x829;
+ fiat_secp256k1_uint1 x830;
+ fiat_secp256k1_subborrowx_u32(&x829, &x830, x828, x811, UINT32_C(0xffffffff));
+ uint32_t x831;
+ fiat_secp256k1_uint1 x832;
+ fiat_secp256k1_subborrowx_u32(&x831, &x832, x830, x813, UINT32_C(0xffffffff));
+ uint32_t x833;
+ fiat_secp256k1_uint1 x834;
+ fiat_secp256k1_subborrowx_u32(&x833, &x834, x832, x815, UINT32_C(0xffffffff));
+ uint32_t x835;
+ fiat_secp256k1_uint1 x836;
+ fiat_secp256k1_subborrowx_u32(&x835, &x836, x834, x817, UINT32_C(0xffffffff));
+ uint32_t x837;
+ fiat_secp256k1_uint1 x838;
+ fiat_secp256k1_subborrowx_u32(&x837, &x838, x836, x819, UINT32_C(0xffffffff));
+ uint32_t x839;
+ fiat_secp256k1_uint1 x840;
+ fiat_secp256k1_subborrowx_u32(&x839, &x840, x838, x821, 0x0);
+ uint32_t x841;
+ fiat_secp256k1_cmovznz_u32(&x841, x840, x823, x805);
+ uint32_t x842;
+ fiat_secp256k1_cmovznz_u32(&x842, x840, x825, x807);
+ uint32_t x843;
+ fiat_secp256k1_cmovznz_u32(&x843, x840, x827, x809);
+ uint32_t x844;
+ fiat_secp256k1_cmovznz_u32(&x844, x840, x829, x811);
+ uint32_t x845;
+ fiat_secp256k1_cmovznz_u32(&x845, x840, x831, x813);
+ uint32_t x846;
+ fiat_secp256k1_cmovznz_u32(&x846, x840, x833, x815);
+ uint32_t x847;
+ fiat_secp256k1_cmovznz_u32(&x847, x840, x835, x817);
+ uint32_t x848;
+ fiat_secp256k1_cmovznz_u32(&x848, x840, x837, x819);
+ out1[0] = x841;
+ out1[1] = x842;
+ out1[2] = x843;
+ out1[3] = x844;
+ out1[4] = x845;
+ out1[5] = x846;
+ out1[6] = x847;
+ out1[7] = x848;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_secp256k1_square(uint32_t out1[8], const uint32_t arg1[8]) {
+ uint32_t x1 = (arg1[1]);
+ uint32_t x2 = (arg1[2]);
+ uint32_t x3 = (arg1[3]);
+ uint32_t x4 = (arg1[4]);
+ uint32_t x5 = (arg1[5]);
+ uint32_t x6 = (arg1[6]);
+ uint32_t x7 = (arg1[7]);
+ uint32_t x8 = (arg1[0]);
+ uint32_t x9;
+ uint32_t x10;
+ fiat_secp256k1_mulx_u32(&x9, &x10, x8, (arg1[7]));
+ uint32_t x11;
+ uint32_t x12;
+ fiat_secp256k1_mulx_u32(&x11, &x12, x8, (arg1[6]));
+ uint32_t x13;
+ uint32_t x14;
+ fiat_secp256k1_mulx_u32(&x13, &x14, x8, (arg1[5]));
+ uint32_t x15;
+ uint32_t x16;
+ fiat_secp256k1_mulx_u32(&x15, &x16, x8, (arg1[4]));
+ uint32_t x17;
+ uint32_t x18;
+ fiat_secp256k1_mulx_u32(&x17, &x18, x8, (arg1[3]));
+ uint32_t x19;
+ uint32_t x20;
+ fiat_secp256k1_mulx_u32(&x19, &x20, x8, (arg1[2]));
+ uint32_t x21;
+ uint32_t x22;
+ fiat_secp256k1_mulx_u32(&x21, &x22, x8, (arg1[1]));
+ uint32_t x23;
+ uint32_t x24;
+ fiat_secp256k1_mulx_u32(&x23, &x24, x8, (arg1[0]));
+ uint32_t x25;
+ fiat_secp256k1_uint1 x26;
+ fiat_secp256k1_addcarryx_u32(&x25, &x26, 0x0, x21, x24);
+ uint32_t x27;
+ fiat_secp256k1_uint1 x28;
+ fiat_secp256k1_addcarryx_u32(&x27, &x28, x26, x19, x22);
+ uint32_t x29;
+ fiat_secp256k1_uint1 x30;
+ fiat_secp256k1_addcarryx_u32(&x29, &x30, x28, x17, x20);
+ uint32_t x31;
+ fiat_secp256k1_uint1 x32;
+ fiat_secp256k1_addcarryx_u32(&x31, &x32, x30, x15, x18);
+ uint32_t x33;
+ fiat_secp256k1_uint1 x34;
+ fiat_secp256k1_addcarryx_u32(&x33, &x34, x32, x13, x16);
+ uint32_t x35;
+ fiat_secp256k1_uint1 x36;
+ fiat_secp256k1_addcarryx_u32(&x35, &x36, x34, x11, x14);
+ uint32_t x37;
+ fiat_secp256k1_uint1 x38;
+ fiat_secp256k1_addcarryx_u32(&x37, &x38, x36, x9, x12);
+ uint32_t x39;
+ fiat_secp256k1_uint1 x40;
+ fiat_secp256k1_addcarryx_u32(&x39, &x40, x38, 0x0, x10);
+ uint32_t x41;
+ uint32_t x42;
+ fiat_secp256k1_mulx_u32(&x41, &x42, x23, UINT32_C(0xd2253531));
+ uint32_t x43;
+ uint32_t x44;
+ fiat_secp256k1_mulx_u32(&x43, &x44, x41, UINT32_C(0xffffffff));
+ uint32_t x45;
+ uint32_t x46;
+ fiat_secp256k1_mulx_u32(&x45, &x46, x41, UINT32_C(0xffffffff));
+ uint32_t x47;
+ uint32_t x48;
+ fiat_secp256k1_mulx_u32(&x47, &x48, x41, UINT32_C(0xffffffff));
+ uint32_t x49;
+ uint32_t x50;
+ fiat_secp256k1_mulx_u32(&x49, &x50, x41, UINT32_C(0xffffffff));
+ uint32_t x51;
+ uint32_t x52;
+ fiat_secp256k1_mulx_u32(&x51, &x52, x41, UINT32_C(0xffffffff));
+ uint32_t x53;
+ uint32_t x54;
+ fiat_secp256k1_mulx_u32(&x53, &x54, x41, UINT32_C(0xffffffff));
+ uint32_t x55;
+ uint32_t x56;
+ fiat_secp256k1_mulx_u32(&x55, &x56, x41, UINT32_C(0xfffffffe));
+ uint32_t x57;
+ uint32_t x58;
+ fiat_secp256k1_mulx_u32(&x57, &x58, x41, UINT32_C(0xfffffc2f));
+ uint32_t x59;
+ fiat_secp256k1_uint1 x60;
+ fiat_secp256k1_addcarryx_u32(&x59, &x60, 0x0, x55, x58);
+ uint32_t x61;
+ fiat_secp256k1_uint1 x62;
+ fiat_secp256k1_addcarryx_u32(&x61, &x62, x60, x53, x56);
+ uint32_t x63;
+ fiat_secp256k1_uint1 x64;
+ fiat_secp256k1_addcarryx_u32(&x63, &x64, x62, x51, x54);
+ uint32_t x65;
+ fiat_secp256k1_uint1 x66;
+ fiat_secp256k1_addcarryx_u32(&x65, &x66, x64, x49, x52);
+ uint32_t x67;
+ fiat_secp256k1_uint1 x68;
+ fiat_secp256k1_addcarryx_u32(&x67, &x68, x66, x47, x50);
+ uint32_t x69;
+ fiat_secp256k1_uint1 x70;
+ fiat_secp256k1_addcarryx_u32(&x69, &x70, x68, x45, x48);
+ uint32_t x71;
+ fiat_secp256k1_uint1 x72;
+ fiat_secp256k1_addcarryx_u32(&x71, &x72, x70, x43, x46);
+ uint32_t x73;
+ fiat_secp256k1_uint1 x74;
+ fiat_secp256k1_addcarryx_u32(&x73, &x74, x72, 0x0, x44);
+ uint32_t x75;
+ fiat_secp256k1_uint1 x76;
+ fiat_secp256k1_addcarryx_u32(&x75, &x76, 0x0, x57, x23);
+ uint32_t x77;
+ fiat_secp256k1_uint1 x78;
+ fiat_secp256k1_addcarryx_u32(&x77, &x78, x76, x59, x25);
+ uint32_t x79;
+ fiat_secp256k1_uint1 x80;
+ fiat_secp256k1_addcarryx_u32(&x79, &x80, x78, x61, x27);
+ uint32_t x81;
+ fiat_secp256k1_uint1 x82;
+ fiat_secp256k1_addcarryx_u32(&x81, &x82, x80, x63, x29);
+ uint32_t x83;
+ fiat_secp256k1_uint1 x84;
+ fiat_secp256k1_addcarryx_u32(&x83, &x84, x82, x65, x31);
+ uint32_t x85;
+ fiat_secp256k1_uint1 x86;
+ fiat_secp256k1_addcarryx_u32(&x85, &x86, x84, x67, x33);
+ uint32_t x87;
+ fiat_secp256k1_uint1 x88;
+ fiat_secp256k1_addcarryx_u32(&x87, &x88, x86, x69, x35);
+ uint32_t x89;
+ fiat_secp256k1_uint1 x90;
+ fiat_secp256k1_addcarryx_u32(&x89, &x90, x88, x71, x37);
+ uint32_t x91;
+ fiat_secp256k1_uint1 x92;
+ fiat_secp256k1_addcarryx_u32(&x91, &x92, x90, x73, x39);
+ uint32_t x93;
+ fiat_secp256k1_uint1 x94;
+ fiat_secp256k1_addcarryx_u32(&x93, &x94, x92, 0x0, 0x0);
+ uint32_t x95;
+ uint32_t x96;
+ fiat_secp256k1_mulx_u32(&x95, &x96, x1, (arg1[7]));
+ uint32_t x97;
+ uint32_t x98;
+ fiat_secp256k1_mulx_u32(&x97, &x98, x1, (arg1[6]));
+ uint32_t x99;
+ uint32_t x100;
+ fiat_secp256k1_mulx_u32(&x99, &x100, x1, (arg1[5]));
+ uint32_t x101;
+ uint32_t x102;
+ fiat_secp256k1_mulx_u32(&x101, &x102, x1, (arg1[4]));
+ uint32_t x103;
+ uint32_t x104;
+ fiat_secp256k1_mulx_u32(&x103, &x104, x1, (arg1[3]));
+ uint32_t x105;
+ uint32_t x106;
+ fiat_secp256k1_mulx_u32(&x105, &x106, x1, (arg1[2]));
+ uint32_t x107;
+ uint32_t x108;
+ fiat_secp256k1_mulx_u32(&x107, &x108, x1, (arg1[1]));
+ uint32_t x109;
+ uint32_t x110;
+ fiat_secp256k1_mulx_u32(&x109, &x110, x1, (arg1[0]));
+ uint32_t x111;
+ fiat_secp256k1_uint1 x112;
+ fiat_secp256k1_addcarryx_u32(&x111, &x112, 0x0, x107, x110);
+ uint32_t x113;
+ fiat_secp256k1_uint1 x114;
+ fiat_secp256k1_addcarryx_u32(&x113, &x114, x112, x105, x108);
+ uint32_t x115;
+ fiat_secp256k1_uint1 x116;
+ fiat_secp256k1_addcarryx_u32(&x115, &x116, x114, x103, x106);
+ uint32_t x117;
+ fiat_secp256k1_uint1 x118;
+ fiat_secp256k1_addcarryx_u32(&x117, &x118, x116, x101, x104);
+ uint32_t x119;
+ fiat_secp256k1_uint1 x120;
+ fiat_secp256k1_addcarryx_u32(&x119, &x120, x118, x99, x102);
+ uint32_t x121;
+ fiat_secp256k1_uint1 x122;
+ fiat_secp256k1_addcarryx_u32(&x121, &x122, x120, x97, x100);
+ uint32_t x123;
+ fiat_secp256k1_uint1 x124;
+ fiat_secp256k1_addcarryx_u32(&x123, &x124, x122, x95, x98);
+ uint32_t x125;
+ fiat_secp256k1_uint1 x126;
+ fiat_secp256k1_addcarryx_u32(&x125, &x126, x124, 0x0, x96);
+ uint32_t x127;
+ fiat_secp256k1_uint1 x128;
+ fiat_secp256k1_addcarryx_u32(&x127, &x128, 0x0, x109, x77);
+ uint32_t x129;
+ fiat_secp256k1_uint1 x130;
+ fiat_secp256k1_addcarryx_u32(&x129, &x130, x128, x111, x79);
+ uint32_t x131;
+ fiat_secp256k1_uint1 x132;
+ fiat_secp256k1_addcarryx_u32(&x131, &x132, x130, x113, x81);
+ uint32_t x133;
+ fiat_secp256k1_uint1 x134;
+ fiat_secp256k1_addcarryx_u32(&x133, &x134, x132, x115, x83);
+ uint32_t x135;
+ fiat_secp256k1_uint1 x136;
+ fiat_secp256k1_addcarryx_u32(&x135, &x136, x134, x117, x85);
+ uint32_t x137;
+ fiat_secp256k1_uint1 x138;
+ fiat_secp256k1_addcarryx_u32(&x137, &x138, x136, x119, x87);
+ uint32_t x139;
+ fiat_secp256k1_uint1 x140;
+ fiat_secp256k1_addcarryx_u32(&x139, &x140, x138, x121, x89);
+ uint32_t x141;
+ fiat_secp256k1_uint1 x142;
+ fiat_secp256k1_addcarryx_u32(&x141, &x142, x140, x123, x91);
+ uint32_t x143;
+ fiat_secp256k1_uint1 x144;
+ fiat_secp256k1_addcarryx_u32(&x143, &x144, x142, x125, (fiat_secp256k1_uint1)x93);
+ uint32_t x145;
+ uint32_t x146;
+ fiat_secp256k1_mulx_u32(&x145, &x146, x127, UINT32_C(0xd2253531));
+ uint32_t x147;
+ uint32_t x148;
+ fiat_secp256k1_mulx_u32(&x147, &x148, x145, UINT32_C(0xffffffff));
+ uint32_t x149;
+ uint32_t x150;
+ fiat_secp256k1_mulx_u32(&x149, &x150, x145, UINT32_C(0xffffffff));
+ uint32_t x151;
+ uint32_t x152;
+ fiat_secp256k1_mulx_u32(&x151, &x152, x145, UINT32_C(0xffffffff));
+ uint32_t x153;
+ uint32_t x154;
+ fiat_secp256k1_mulx_u32(&x153, &x154, x145, UINT32_C(0xffffffff));
+ uint32_t x155;
+ uint32_t x156;
+ fiat_secp256k1_mulx_u32(&x155, &x156, x145, UINT32_C(0xffffffff));
+ uint32_t x157;
+ uint32_t x158;
+ fiat_secp256k1_mulx_u32(&x157, &x158, x145, UINT32_C(0xffffffff));
+ uint32_t x159;
+ uint32_t x160;
+ fiat_secp256k1_mulx_u32(&x159, &x160, x145, UINT32_C(0xfffffffe));
+ uint32_t x161;
+ uint32_t x162;
+ fiat_secp256k1_mulx_u32(&x161, &x162, x145, UINT32_C(0xfffffc2f));
+ uint32_t x163;
+ fiat_secp256k1_uint1 x164;
+ fiat_secp256k1_addcarryx_u32(&x163, &x164, 0x0, x159, x162);
+ uint32_t x165;
+ fiat_secp256k1_uint1 x166;
+ fiat_secp256k1_addcarryx_u32(&x165, &x166, x164, x157, x160);
+ uint32_t x167;
+ fiat_secp256k1_uint1 x168;
+ fiat_secp256k1_addcarryx_u32(&x167, &x168, x166, x155, x158);
+ uint32_t x169;
+ fiat_secp256k1_uint1 x170;
+ fiat_secp256k1_addcarryx_u32(&x169, &x170, x168, x153, x156);
+ uint32_t x171;
+ fiat_secp256k1_uint1 x172;
+ fiat_secp256k1_addcarryx_u32(&x171, &x172, x170, x151, x154);
+ uint32_t x173;
+ fiat_secp256k1_uint1 x174;
+ fiat_secp256k1_addcarryx_u32(&x173, &x174, x172, x149, x152);
+ uint32_t x175;
+ fiat_secp256k1_uint1 x176;
+ fiat_secp256k1_addcarryx_u32(&x175, &x176, x174, x147, x150);
+ uint32_t x177;
+ fiat_secp256k1_uint1 x178;
+ fiat_secp256k1_addcarryx_u32(&x177, &x178, x176, 0x0, x148);
+ uint32_t x179;
+ fiat_secp256k1_uint1 x180;
+ fiat_secp256k1_addcarryx_u32(&x179, &x180, 0x0, x161, x127);
+ uint32_t x181;
+ fiat_secp256k1_uint1 x182;
+ fiat_secp256k1_addcarryx_u32(&x181, &x182, x180, x163, x129);
+ uint32_t x183;
+ fiat_secp256k1_uint1 x184;
+ fiat_secp256k1_addcarryx_u32(&x183, &x184, x182, x165, x131);
+ uint32_t x185;
+ fiat_secp256k1_uint1 x186;
+ fiat_secp256k1_addcarryx_u32(&x185, &x186, x184, x167, x133);
+ uint32_t x187;
+ fiat_secp256k1_uint1 x188;
+ fiat_secp256k1_addcarryx_u32(&x187, &x188, x186, x169, x135);
+ uint32_t x189;
+ fiat_secp256k1_uint1 x190;
+ fiat_secp256k1_addcarryx_u32(&x189, &x190, x188, x171, x137);
+ uint32_t x191;
+ fiat_secp256k1_uint1 x192;
+ fiat_secp256k1_addcarryx_u32(&x191, &x192, x190, x173, x139);
+ uint32_t x193;
+ fiat_secp256k1_uint1 x194;
+ fiat_secp256k1_addcarryx_u32(&x193, &x194, x192, x175, x141);
+ uint32_t x195;
+ fiat_secp256k1_uint1 x196;
+ fiat_secp256k1_addcarryx_u32(&x195, &x196, x194, x177, x143);
+ uint32_t x197;
+ fiat_secp256k1_uint1 x198;
+ fiat_secp256k1_addcarryx_u32(&x197, &x198, x196, 0x0, x144);
+ uint32_t x199;
+ uint32_t x200;
+ fiat_secp256k1_mulx_u32(&x199, &x200, x2, (arg1[7]));
+ uint32_t x201;
+ uint32_t x202;
+ fiat_secp256k1_mulx_u32(&x201, &x202, x2, (arg1[6]));
+ uint32_t x203;
+ uint32_t x204;
+ fiat_secp256k1_mulx_u32(&x203, &x204, x2, (arg1[5]));
+ uint32_t x205;
+ uint32_t x206;
+ fiat_secp256k1_mulx_u32(&x205, &x206, x2, (arg1[4]));
+ uint32_t x207;
+ uint32_t x208;
+ fiat_secp256k1_mulx_u32(&x207, &x208, x2, (arg1[3]));
+ uint32_t x209;
+ uint32_t x210;
+ fiat_secp256k1_mulx_u32(&x209, &x210, x2, (arg1[2]));
+ uint32_t x211;
+ uint32_t x212;
+ fiat_secp256k1_mulx_u32(&x211, &x212, x2, (arg1[1]));
+ uint32_t x213;
+ uint32_t x214;
+ fiat_secp256k1_mulx_u32(&x213, &x214, x2, (arg1[0]));
+ uint32_t x215;
+ fiat_secp256k1_uint1 x216;
+ fiat_secp256k1_addcarryx_u32(&x215, &x216, 0x0, x211, x214);
+ uint32_t x217;
+ fiat_secp256k1_uint1 x218;
+ fiat_secp256k1_addcarryx_u32(&x217, &x218, x216, x209, x212);
+ uint32_t x219;
+ fiat_secp256k1_uint1 x220;
+ fiat_secp256k1_addcarryx_u32(&x219, &x220, x218, x207, x210);
+ uint32_t x221;
+ fiat_secp256k1_uint1 x222;
+ fiat_secp256k1_addcarryx_u32(&x221, &x222, x220, x205, x208);
+ uint32_t x223;
+ fiat_secp256k1_uint1 x224;
+ fiat_secp256k1_addcarryx_u32(&x223, &x224, x222, x203, x206);
+ uint32_t x225;
+ fiat_secp256k1_uint1 x226;
+ fiat_secp256k1_addcarryx_u32(&x225, &x226, x224, x201, x204);
+ uint32_t x227;
+ fiat_secp256k1_uint1 x228;
+ fiat_secp256k1_addcarryx_u32(&x227, &x228, x226, x199, x202);
+ uint32_t x229;
+ fiat_secp256k1_uint1 x230;
+ fiat_secp256k1_addcarryx_u32(&x229, &x230, x228, 0x0, x200);
+ uint32_t x231;
+ fiat_secp256k1_uint1 x232;
+ fiat_secp256k1_addcarryx_u32(&x231, &x232, 0x0, x213, x181);
+ uint32_t x233;
+ fiat_secp256k1_uint1 x234;
+ fiat_secp256k1_addcarryx_u32(&x233, &x234, x232, x215, x183);
+ uint32_t x235;
+ fiat_secp256k1_uint1 x236;
+ fiat_secp256k1_addcarryx_u32(&x235, &x236, x234, x217, x185);
+ uint32_t x237;
+ fiat_secp256k1_uint1 x238;
+ fiat_secp256k1_addcarryx_u32(&x237, &x238, x236, x219, x187);
+ uint32_t x239;
+ fiat_secp256k1_uint1 x240;
+ fiat_secp256k1_addcarryx_u32(&x239, &x240, x238, x221, x189);
+ uint32_t x241;
+ fiat_secp256k1_uint1 x242;
+ fiat_secp256k1_addcarryx_u32(&x241, &x242, x240, x223, x191);
+ uint32_t x243;
+ fiat_secp256k1_uint1 x244;
+ fiat_secp256k1_addcarryx_u32(&x243, &x244, x242, x225, x193);
+ uint32_t x245;
+ fiat_secp256k1_uint1 x246;
+ fiat_secp256k1_addcarryx_u32(&x245, &x246, x244, x227, x195);
+ uint32_t x247;
+ fiat_secp256k1_uint1 x248;
+ fiat_secp256k1_addcarryx_u32(&x247, &x248, x246, x229, x197);
+ uint32_t x249;
+ uint32_t x250;
+ fiat_secp256k1_mulx_u32(&x249, &x250, x231, UINT32_C(0xd2253531));
+ uint32_t x251;
+ uint32_t x252;
+ fiat_secp256k1_mulx_u32(&x251, &x252, x249, UINT32_C(0xffffffff));
+ uint32_t x253;
+ uint32_t x254;
+ fiat_secp256k1_mulx_u32(&x253, &x254, x249, UINT32_C(0xffffffff));
+ uint32_t x255;
+ uint32_t x256;
+ fiat_secp256k1_mulx_u32(&x255, &x256, x249, UINT32_C(0xffffffff));
+ uint32_t x257;
+ uint32_t x258;
+ fiat_secp256k1_mulx_u32(&x257, &x258, x249, UINT32_C(0xffffffff));
+ uint32_t x259;
+ uint32_t x260;
+ fiat_secp256k1_mulx_u32(&x259, &x260, x249, UINT32_C(0xffffffff));
+ uint32_t x261;
+ uint32_t x262;
+ fiat_secp256k1_mulx_u32(&x261, &x262, x249, UINT32_C(0xffffffff));
+ uint32_t x263;
+ uint32_t x264;
+ fiat_secp256k1_mulx_u32(&x263, &x264, x249, UINT32_C(0xfffffffe));
+ uint32_t x265;
+ uint32_t x266;
+ fiat_secp256k1_mulx_u32(&x265, &x266, x249, UINT32_C(0xfffffc2f));
+ uint32_t x267;
+ fiat_secp256k1_uint1 x268;
+ fiat_secp256k1_addcarryx_u32(&x267, &x268, 0x0, x263, x266);
+ uint32_t x269;
+ fiat_secp256k1_uint1 x270;
+ fiat_secp256k1_addcarryx_u32(&x269, &x270, x268, x261, x264);
+ uint32_t x271;
+ fiat_secp256k1_uint1 x272;
+ fiat_secp256k1_addcarryx_u32(&x271, &x272, x270, x259, x262);
+ uint32_t x273;
+ fiat_secp256k1_uint1 x274;
+ fiat_secp256k1_addcarryx_u32(&x273, &x274, x272, x257, x260);
+ uint32_t x275;
+ fiat_secp256k1_uint1 x276;
+ fiat_secp256k1_addcarryx_u32(&x275, &x276, x274, x255, x258);
+ uint32_t x277;
+ fiat_secp256k1_uint1 x278;
+ fiat_secp256k1_addcarryx_u32(&x277, &x278, x276, x253, x256);
+ uint32_t x279;
+ fiat_secp256k1_uint1 x280;
+ fiat_secp256k1_addcarryx_u32(&x279, &x280, x278, x251, x254);
+ uint32_t x281;
+ fiat_secp256k1_uint1 x282;
+ fiat_secp256k1_addcarryx_u32(&x281, &x282, x280, 0x0, x252);
+ uint32_t x283;
+ fiat_secp256k1_uint1 x284;
+ fiat_secp256k1_addcarryx_u32(&x283, &x284, 0x0, x265, x231);
+ uint32_t x285;
+ fiat_secp256k1_uint1 x286;
+ fiat_secp256k1_addcarryx_u32(&x285, &x286, x284, x267, x233);
+ uint32_t x287;
+ fiat_secp256k1_uint1 x288;
+ fiat_secp256k1_addcarryx_u32(&x287, &x288, x286, x269, x235);
+ uint32_t x289;
+ fiat_secp256k1_uint1 x290;
+ fiat_secp256k1_addcarryx_u32(&x289, &x290, x288, x271, x237);
+ uint32_t x291;
+ fiat_secp256k1_uint1 x292;
+ fiat_secp256k1_addcarryx_u32(&x291, &x292, x290, x273, x239);
+ uint32_t x293;
+ fiat_secp256k1_uint1 x294;
+ fiat_secp256k1_addcarryx_u32(&x293, &x294, x292, x275, x241);
+ uint32_t x295;
+ fiat_secp256k1_uint1 x296;
+ fiat_secp256k1_addcarryx_u32(&x295, &x296, x294, x277, x243);
+ uint32_t x297;
+ fiat_secp256k1_uint1 x298;
+ fiat_secp256k1_addcarryx_u32(&x297, &x298, x296, x279, x245);
+ uint32_t x299;
+ fiat_secp256k1_uint1 x300;
+ fiat_secp256k1_addcarryx_u32(&x299, &x300, x298, x281, x247);
+ uint32_t x301;
+ fiat_secp256k1_uint1 x302;
+ fiat_secp256k1_addcarryx_u32(&x301, &x302, x300, 0x0, x248);
+ uint32_t x303;
+ uint32_t x304;
+ fiat_secp256k1_mulx_u32(&x303, &x304, x3, (arg1[7]));
+ uint32_t x305;
+ uint32_t x306;
+ fiat_secp256k1_mulx_u32(&x305, &x306, x3, (arg1[6]));
+ uint32_t x307;
+ uint32_t x308;
+ fiat_secp256k1_mulx_u32(&x307, &x308, x3, (arg1[5]));
+ uint32_t x309;
+ uint32_t x310;
+ fiat_secp256k1_mulx_u32(&x309, &x310, x3, (arg1[4]));
+ uint32_t x311;
+ uint32_t x312;
+ fiat_secp256k1_mulx_u32(&x311, &x312, x3, (arg1[3]));
+ uint32_t x313;
+ uint32_t x314;
+ fiat_secp256k1_mulx_u32(&x313, &x314, x3, (arg1[2]));
+ uint32_t x315;
+ uint32_t x316;
+ fiat_secp256k1_mulx_u32(&x315, &x316, x3, (arg1[1]));
+ uint32_t x317;
+ uint32_t x318;
+ fiat_secp256k1_mulx_u32(&x317, &x318, x3, (arg1[0]));
+ uint32_t x319;
+ fiat_secp256k1_uint1 x320;
+ fiat_secp256k1_addcarryx_u32(&x319, &x320, 0x0, x315, x318);
+ uint32_t x321;
+ fiat_secp256k1_uint1 x322;
+ fiat_secp256k1_addcarryx_u32(&x321, &x322, x320, x313, x316);
+ uint32_t x323;
+ fiat_secp256k1_uint1 x324;
+ fiat_secp256k1_addcarryx_u32(&x323, &x324, x322, x311, x314);
+ uint32_t x325;
+ fiat_secp256k1_uint1 x326;
+ fiat_secp256k1_addcarryx_u32(&x325, &x326, x324, x309, x312);
+ uint32_t x327;
+ fiat_secp256k1_uint1 x328;
+ fiat_secp256k1_addcarryx_u32(&x327, &x328, x326, x307, x310);
+ uint32_t x329;
+ fiat_secp256k1_uint1 x330;
+ fiat_secp256k1_addcarryx_u32(&x329, &x330, x328, x305, x308);
+ uint32_t x331;
+ fiat_secp256k1_uint1 x332;
+ fiat_secp256k1_addcarryx_u32(&x331, &x332, x330, x303, x306);
+ uint32_t x333;
+ fiat_secp256k1_uint1 x334;
+ fiat_secp256k1_addcarryx_u32(&x333, &x334, x332, 0x0, x304);
+ uint32_t x335;
+ fiat_secp256k1_uint1 x336;
+ fiat_secp256k1_addcarryx_u32(&x335, &x336, 0x0, x317, x285);
+ uint32_t x337;
+ fiat_secp256k1_uint1 x338;
+ fiat_secp256k1_addcarryx_u32(&x337, &x338, x336, x319, x287);
+ uint32_t x339;
+ fiat_secp256k1_uint1 x340;
+ fiat_secp256k1_addcarryx_u32(&x339, &x340, x338, x321, x289);
+ uint32_t x341;
+ fiat_secp256k1_uint1 x342;
+ fiat_secp256k1_addcarryx_u32(&x341, &x342, x340, x323, x291);
+ uint32_t x343;
+ fiat_secp256k1_uint1 x344;
+ fiat_secp256k1_addcarryx_u32(&x343, &x344, x342, x325, x293);
+ uint32_t x345;
+ fiat_secp256k1_uint1 x346;
+ fiat_secp256k1_addcarryx_u32(&x345, &x346, x344, x327, x295);
+ uint32_t x347;
+ fiat_secp256k1_uint1 x348;
+ fiat_secp256k1_addcarryx_u32(&x347, &x348, x346, x329, x297);
+ uint32_t x349;
+ fiat_secp256k1_uint1 x350;
+ fiat_secp256k1_addcarryx_u32(&x349, &x350, x348, x331, x299);
+ uint32_t x351;
+ fiat_secp256k1_uint1 x352;
+ fiat_secp256k1_addcarryx_u32(&x351, &x352, x350, x333, x301);
+ uint32_t x353;
+ uint32_t x354;
+ fiat_secp256k1_mulx_u32(&x353, &x354, x335, UINT32_C(0xd2253531));
+ uint32_t x355;
+ uint32_t x356;
+ fiat_secp256k1_mulx_u32(&x355, &x356, x353, UINT32_C(0xffffffff));
+ uint32_t x357;
+ uint32_t x358;
+ fiat_secp256k1_mulx_u32(&x357, &x358, x353, UINT32_C(0xffffffff));
+ uint32_t x359;
+ uint32_t x360;
+ fiat_secp256k1_mulx_u32(&x359, &x360, x353, UINT32_C(0xffffffff));
+ uint32_t x361;
+ uint32_t x362;
+ fiat_secp256k1_mulx_u32(&x361, &x362, x353, UINT32_C(0xffffffff));
+ uint32_t x363;
+ uint32_t x364;
+ fiat_secp256k1_mulx_u32(&x363, &x364, x353, UINT32_C(0xffffffff));
+ uint32_t x365;
+ uint32_t x366;
+ fiat_secp256k1_mulx_u32(&x365, &x366, x353, UINT32_C(0xffffffff));
+ uint32_t x367;
+ uint32_t x368;
+ fiat_secp256k1_mulx_u32(&x367, &x368, x353, UINT32_C(0xfffffffe));
+ uint32_t x369;
+ uint32_t x370;
+ fiat_secp256k1_mulx_u32(&x369, &x370, x353, UINT32_C(0xfffffc2f));
+ uint32_t x371;
+ fiat_secp256k1_uint1 x372;
+ fiat_secp256k1_addcarryx_u32(&x371, &x372, 0x0, x367, x370);
+ uint32_t x373;
+ fiat_secp256k1_uint1 x374;
+ fiat_secp256k1_addcarryx_u32(&x373, &x374, x372, x365, x368);
+ uint32_t x375;
+ fiat_secp256k1_uint1 x376;
+ fiat_secp256k1_addcarryx_u32(&x375, &x376, x374, x363, x366);
+ uint32_t x377;
+ fiat_secp256k1_uint1 x378;
+ fiat_secp256k1_addcarryx_u32(&x377, &x378, x376, x361, x364);
+ uint32_t x379;
+ fiat_secp256k1_uint1 x380;
+ fiat_secp256k1_addcarryx_u32(&x379, &x380, x378, x359, x362);
+ uint32_t x381;
+ fiat_secp256k1_uint1 x382;
+ fiat_secp256k1_addcarryx_u32(&x381, &x382, x380, x357, x360);
+ uint32_t x383;
+ fiat_secp256k1_uint1 x384;
+ fiat_secp256k1_addcarryx_u32(&x383, &x384, x382, x355, x358);
+ uint32_t x385;
+ fiat_secp256k1_uint1 x386;
+ fiat_secp256k1_addcarryx_u32(&x385, &x386, x384, 0x0, x356);
+ uint32_t x387;
+ fiat_secp256k1_uint1 x388;
+ fiat_secp256k1_addcarryx_u32(&x387, &x388, 0x0, x369, x335);
+ uint32_t x389;
+ fiat_secp256k1_uint1 x390;
+ fiat_secp256k1_addcarryx_u32(&x389, &x390, x388, x371, x337);
+ uint32_t x391;
+ fiat_secp256k1_uint1 x392;
+ fiat_secp256k1_addcarryx_u32(&x391, &x392, x390, x373, x339);
+ uint32_t x393;
+ fiat_secp256k1_uint1 x394;
+ fiat_secp256k1_addcarryx_u32(&x393, &x394, x392, x375, x341);
+ uint32_t x395;
+ fiat_secp256k1_uint1 x396;
+ fiat_secp256k1_addcarryx_u32(&x395, &x396, x394, x377, x343);
+ uint32_t x397;
+ fiat_secp256k1_uint1 x398;
+ fiat_secp256k1_addcarryx_u32(&x397, &x398, x396, x379, x345);
+ uint32_t x399;
+ fiat_secp256k1_uint1 x400;
+ fiat_secp256k1_addcarryx_u32(&x399, &x400, x398, x381, x347);
+ uint32_t x401;
+ fiat_secp256k1_uint1 x402;
+ fiat_secp256k1_addcarryx_u32(&x401, &x402, x400, x383, x349);
+ uint32_t x403;
+ fiat_secp256k1_uint1 x404;
+ fiat_secp256k1_addcarryx_u32(&x403, &x404, x402, x385, x351);
+ uint32_t x405;
+ fiat_secp256k1_uint1 x406;
+ fiat_secp256k1_addcarryx_u32(&x405, &x406, x404, 0x0, x352);
+ uint32_t x407;
+ uint32_t x408;
+ fiat_secp256k1_mulx_u32(&x407, &x408, x4, (arg1[7]));
+ uint32_t x409;
+ uint32_t x410;
+ fiat_secp256k1_mulx_u32(&x409, &x410, x4, (arg1[6]));
+ uint32_t x411;
+ uint32_t x412;
+ fiat_secp256k1_mulx_u32(&x411, &x412, x4, (arg1[5]));
+ uint32_t x413;
+ uint32_t x414;
+ fiat_secp256k1_mulx_u32(&x413, &x414, x4, (arg1[4]));
+ uint32_t x415;
+ uint32_t x416;
+ fiat_secp256k1_mulx_u32(&x415, &x416, x4, (arg1[3]));
+ uint32_t x417;
+ uint32_t x418;
+ fiat_secp256k1_mulx_u32(&x417, &x418, x4, (arg1[2]));
+ uint32_t x419;
+ uint32_t x420;
+ fiat_secp256k1_mulx_u32(&x419, &x420, x4, (arg1[1]));
+ uint32_t x421;
+ uint32_t x422;
+ fiat_secp256k1_mulx_u32(&x421, &x422, x4, (arg1[0]));
+ uint32_t x423;
+ fiat_secp256k1_uint1 x424;
+ fiat_secp256k1_addcarryx_u32(&x423, &x424, 0x0, x419, x422);
+ uint32_t x425;
+ fiat_secp256k1_uint1 x426;
+ fiat_secp256k1_addcarryx_u32(&x425, &x426, x424, x417, x420);
+ uint32_t x427;
+ fiat_secp256k1_uint1 x428;
+ fiat_secp256k1_addcarryx_u32(&x427, &x428, x426, x415, x418);
+ uint32_t x429;
+ fiat_secp256k1_uint1 x430;
+ fiat_secp256k1_addcarryx_u32(&x429, &x430, x428, x413, x416);
+ uint32_t x431;
+ fiat_secp256k1_uint1 x432;
+ fiat_secp256k1_addcarryx_u32(&x431, &x432, x430, x411, x414);
+ uint32_t x433;
+ fiat_secp256k1_uint1 x434;
+ fiat_secp256k1_addcarryx_u32(&x433, &x434, x432, x409, x412);
+ uint32_t x435;
+ fiat_secp256k1_uint1 x436;
+ fiat_secp256k1_addcarryx_u32(&x435, &x436, x434, x407, x410);
+ uint32_t x437;
+ fiat_secp256k1_uint1 x438;
+ fiat_secp256k1_addcarryx_u32(&x437, &x438, x436, 0x0, x408);
+ uint32_t x439;
+ fiat_secp256k1_uint1 x440;
+ fiat_secp256k1_addcarryx_u32(&x439, &x440, 0x0, x421, x389);
+ uint32_t x441;
+ fiat_secp256k1_uint1 x442;
+ fiat_secp256k1_addcarryx_u32(&x441, &x442, x440, x423, x391);
+ uint32_t x443;
+ fiat_secp256k1_uint1 x444;
+ fiat_secp256k1_addcarryx_u32(&x443, &x444, x442, x425, x393);
+ uint32_t x445;
+ fiat_secp256k1_uint1 x446;
+ fiat_secp256k1_addcarryx_u32(&x445, &x446, x444, x427, x395);
+ uint32_t x447;
+ fiat_secp256k1_uint1 x448;
+ fiat_secp256k1_addcarryx_u32(&x447, &x448, x446, x429, x397);
+ uint32_t x449;
+ fiat_secp256k1_uint1 x450;
+ fiat_secp256k1_addcarryx_u32(&x449, &x450, x448, x431, x399);
+ uint32_t x451;
+ fiat_secp256k1_uint1 x452;
+ fiat_secp256k1_addcarryx_u32(&x451, &x452, x450, x433, x401);
+ uint32_t x453;
+ fiat_secp256k1_uint1 x454;
+ fiat_secp256k1_addcarryx_u32(&x453, &x454, x452, x435, x403);
+ uint32_t x455;
+ fiat_secp256k1_uint1 x456;
+ fiat_secp256k1_addcarryx_u32(&x455, &x456, x454, x437, x405);
+ uint32_t x457;
+ uint32_t x458;
+ fiat_secp256k1_mulx_u32(&x457, &x458, x439, UINT32_C(0xd2253531));
+ uint32_t x459;
+ uint32_t x460;
+ fiat_secp256k1_mulx_u32(&x459, &x460, x457, UINT32_C(0xffffffff));
+ uint32_t x461;
+ uint32_t x462;
+ fiat_secp256k1_mulx_u32(&x461, &x462, x457, UINT32_C(0xffffffff));
+ uint32_t x463;
+ uint32_t x464;
+ fiat_secp256k1_mulx_u32(&x463, &x464, x457, UINT32_C(0xffffffff));
+ uint32_t x465;
+ uint32_t x466;
+ fiat_secp256k1_mulx_u32(&x465, &x466, x457, UINT32_C(0xffffffff));
+ uint32_t x467;
+ uint32_t x468;
+ fiat_secp256k1_mulx_u32(&x467, &x468, x457, UINT32_C(0xffffffff));
+ uint32_t x469;
+ uint32_t x470;
+ fiat_secp256k1_mulx_u32(&x469, &x470, x457, UINT32_C(0xffffffff));
+ uint32_t x471;
+ uint32_t x472;
+ fiat_secp256k1_mulx_u32(&x471, &x472, x457, UINT32_C(0xfffffffe));
+ uint32_t x473;
+ uint32_t x474;
+ fiat_secp256k1_mulx_u32(&x473, &x474, x457, UINT32_C(0xfffffc2f));
+ uint32_t x475;
+ fiat_secp256k1_uint1 x476;
+ fiat_secp256k1_addcarryx_u32(&x475, &x476, 0x0, x471, x474);
+ uint32_t x477;
+ fiat_secp256k1_uint1 x478;
+ fiat_secp256k1_addcarryx_u32(&x477, &x478, x476, x469, x472);
+ uint32_t x479;
+ fiat_secp256k1_uint1 x480;
+ fiat_secp256k1_addcarryx_u32(&x479, &x480, x478, x467, x470);
+ uint32_t x481;
+ fiat_secp256k1_uint1 x482;
+ fiat_secp256k1_addcarryx_u32(&x481, &x482, x480, x465, x468);
+ uint32_t x483;
+ fiat_secp256k1_uint1 x484;
+ fiat_secp256k1_addcarryx_u32(&x483, &x484, x482, x463, x466);
+ uint32_t x485;
+ fiat_secp256k1_uint1 x486;
+ fiat_secp256k1_addcarryx_u32(&x485, &x486, x484, x461, x464);
+ uint32_t x487;
+ fiat_secp256k1_uint1 x488;
+ fiat_secp256k1_addcarryx_u32(&x487, &x488, x486, x459, x462);
+ uint32_t x489;
+ fiat_secp256k1_uint1 x490;
+ fiat_secp256k1_addcarryx_u32(&x489, &x490, x488, 0x0, x460);
+ uint32_t x491;
+ fiat_secp256k1_uint1 x492;
+ fiat_secp256k1_addcarryx_u32(&x491, &x492, 0x0, x473, x439);
+ uint32_t x493;
+ fiat_secp256k1_uint1 x494;
+ fiat_secp256k1_addcarryx_u32(&x493, &x494, x492, x475, x441);
+ uint32_t x495;
+ fiat_secp256k1_uint1 x496;
+ fiat_secp256k1_addcarryx_u32(&x495, &x496, x494, x477, x443);
+ uint32_t x497;
+ fiat_secp256k1_uint1 x498;
+ fiat_secp256k1_addcarryx_u32(&x497, &x498, x496, x479, x445);
+ uint32_t x499;
+ fiat_secp256k1_uint1 x500;
+ fiat_secp256k1_addcarryx_u32(&x499, &x500, x498, x481, x447);
+ uint32_t x501;
+ fiat_secp256k1_uint1 x502;
+ fiat_secp256k1_addcarryx_u32(&x501, &x502, x500, x483, x449);
+ uint32_t x503;
+ fiat_secp256k1_uint1 x504;
+ fiat_secp256k1_addcarryx_u32(&x503, &x504, x502, x485, x451);
+ uint32_t x505;
+ fiat_secp256k1_uint1 x506;
+ fiat_secp256k1_addcarryx_u32(&x505, &x506, x504, x487, x453);
+ uint32_t x507;
+ fiat_secp256k1_uint1 x508;
+ fiat_secp256k1_addcarryx_u32(&x507, &x508, x506, x489, x455);
+ uint32_t x509;
+ fiat_secp256k1_uint1 x510;
+ fiat_secp256k1_addcarryx_u32(&x509, &x510, x508, 0x0, x456);
+ uint32_t x511;
+ uint32_t x512;
+ fiat_secp256k1_mulx_u32(&x511, &x512, x5, (arg1[7]));
+ uint32_t x513;
+ uint32_t x514;
+ fiat_secp256k1_mulx_u32(&x513, &x514, x5, (arg1[6]));
+ uint32_t x515;
+ uint32_t x516;
+ fiat_secp256k1_mulx_u32(&x515, &x516, x5, (arg1[5]));
+ uint32_t x517;
+ uint32_t x518;
+ fiat_secp256k1_mulx_u32(&x517, &x518, x5, (arg1[4]));
+ uint32_t x519;
+ uint32_t x520;
+ fiat_secp256k1_mulx_u32(&x519, &x520, x5, (arg1[3]));
+ uint32_t x521;
+ uint32_t x522;
+ fiat_secp256k1_mulx_u32(&x521, &x522, x5, (arg1[2]));
+ uint32_t x523;
+ uint32_t x524;
+ fiat_secp256k1_mulx_u32(&x523, &x524, x5, (arg1[1]));
+ uint32_t x525;
+ uint32_t x526;
+ fiat_secp256k1_mulx_u32(&x525, &x526, x5, (arg1[0]));
+ uint32_t x527;
+ fiat_secp256k1_uint1 x528;
+ fiat_secp256k1_addcarryx_u32(&x527, &x528, 0x0, x523, x526);
+ uint32_t x529;
+ fiat_secp256k1_uint1 x530;
+ fiat_secp256k1_addcarryx_u32(&x529, &x530, x528, x521, x524);
+ uint32_t x531;
+ fiat_secp256k1_uint1 x532;
+ fiat_secp256k1_addcarryx_u32(&x531, &x532, x530, x519, x522);
+ uint32_t x533;
+ fiat_secp256k1_uint1 x534;
+ fiat_secp256k1_addcarryx_u32(&x533, &x534, x532, x517, x520);
+ uint32_t x535;
+ fiat_secp256k1_uint1 x536;
+ fiat_secp256k1_addcarryx_u32(&x535, &x536, x534, x515, x518);
+ uint32_t x537;
+ fiat_secp256k1_uint1 x538;
+ fiat_secp256k1_addcarryx_u32(&x537, &x538, x536, x513, x516);
+ uint32_t x539;
+ fiat_secp256k1_uint1 x540;
+ fiat_secp256k1_addcarryx_u32(&x539, &x540, x538, x511, x514);
+ uint32_t x541;
+ fiat_secp256k1_uint1 x542;
+ fiat_secp256k1_addcarryx_u32(&x541, &x542, x540, 0x0, x512);
+ uint32_t x543;
+ fiat_secp256k1_uint1 x544;
+ fiat_secp256k1_addcarryx_u32(&x543, &x544, 0x0, x525, x493);
+ uint32_t x545;
+ fiat_secp256k1_uint1 x546;
+ fiat_secp256k1_addcarryx_u32(&x545, &x546, x544, x527, x495);
+ uint32_t x547;
+ fiat_secp256k1_uint1 x548;
+ fiat_secp256k1_addcarryx_u32(&x547, &x548, x546, x529, x497);
+ uint32_t x549;
+ fiat_secp256k1_uint1 x550;
+ fiat_secp256k1_addcarryx_u32(&x549, &x550, x548, x531, x499);
+ uint32_t x551;
+ fiat_secp256k1_uint1 x552;
+ fiat_secp256k1_addcarryx_u32(&x551, &x552, x550, x533, x501);
+ uint32_t x553;
+ fiat_secp256k1_uint1 x554;
+ fiat_secp256k1_addcarryx_u32(&x553, &x554, x552, x535, x503);
+ uint32_t x555;
+ fiat_secp256k1_uint1 x556;
+ fiat_secp256k1_addcarryx_u32(&x555, &x556, x554, x537, x505);
+ uint32_t x557;
+ fiat_secp256k1_uint1 x558;
+ fiat_secp256k1_addcarryx_u32(&x557, &x558, x556, x539, x507);
+ uint32_t x559;
+ fiat_secp256k1_uint1 x560;
+ fiat_secp256k1_addcarryx_u32(&x559, &x560, x558, x541, x509);
+ uint32_t x561;
+ uint32_t x562;
+ fiat_secp256k1_mulx_u32(&x561, &x562, x543, UINT32_C(0xd2253531));
+ uint32_t x563;
+ uint32_t x564;
+ fiat_secp256k1_mulx_u32(&x563, &x564, x561, UINT32_C(0xffffffff));
+ uint32_t x565;
+ uint32_t x566;
+ fiat_secp256k1_mulx_u32(&x565, &x566, x561, UINT32_C(0xffffffff));
+ uint32_t x567;
+ uint32_t x568;
+ fiat_secp256k1_mulx_u32(&x567, &x568, x561, UINT32_C(0xffffffff));
+ uint32_t x569;
+ uint32_t x570;
+ fiat_secp256k1_mulx_u32(&x569, &x570, x561, UINT32_C(0xffffffff));
+ uint32_t x571;
+ uint32_t x572;
+ fiat_secp256k1_mulx_u32(&x571, &x572, x561, UINT32_C(0xffffffff));
+ uint32_t x573;
+ uint32_t x574;
+ fiat_secp256k1_mulx_u32(&x573, &x574, x561, UINT32_C(0xffffffff));
+ uint32_t x575;
+ uint32_t x576;
+ fiat_secp256k1_mulx_u32(&x575, &x576, x561, UINT32_C(0xfffffffe));
+ uint32_t x577;
+ uint32_t x578;
+ fiat_secp256k1_mulx_u32(&x577, &x578, x561, UINT32_C(0xfffffc2f));
+ uint32_t x579;
+ fiat_secp256k1_uint1 x580;
+ fiat_secp256k1_addcarryx_u32(&x579, &x580, 0x0, x575, x578);
+ uint32_t x581;
+ fiat_secp256k1_uint1 x582;
+ fiat_secp256k1_addcarryx_u32(&x581, &x582, x580, x573, x576);
+ uint32_t x583;
+ fiat_secp256k1_uint1 x584;
+ fiat_secp256k1_addcarryx_u32(&x583, &x584, x582, x571, x574);
+ uint32_t x585;
+ fiat_secp256k1_uint1 x586;
+ fiat_secp256k1_addcarryx_u32(&x585, &x586, x584, x569, x572);
+ uint32_t x587;
+ fiat_secp256k1_uint1 x588;
+ fiat_secp256k1_addcarryx_u32(&x587, &x588, x586, x567, x570);
+ uint32_t x589;
+ fiat_secp256k1_uint1 x590;
+ fiat_secp256k1_addcarryx_u32(&x589, &x590, x588, x565, x568);
+ uint32_t x591;
+ fiat_secp256k1_uint1 x592;
+ fiat_secp256k1_addcarryx_u32(&x591, &x592, x590, x563, x566);
+ uint32_t x593;
+ fiat_secp256k1_uint1 x594;
+ fiat_secp256k1_addcarryx_u32(&x593, &x594, x592, 0x0, x564);
+ uint32_t x595;
+ fiat_secp256k1_uint1 x596;
+ fiat_secp256k1_addcarryx_u32(&x595, &x596, 0x0, x577, x543);
+ uint32_t x597;
+ fiat_secp256k1_uint1 x598;
+ fiat_secp256k1_addcarryx_u32(&x597, &x598, x596, x579, x545);
+ uint32_t x599;
+ fiat_secp256k1_uint1 x600;
+ fiat_secp256k1_addcarryx_u32(&x599, &x600, x598, x581, x547);
+ uint32_t x601;
+ fiat_secp256k1_uint1 x602;
+ fiat_secp256k1_addcarryx_u32(&x601, &x602, x600, x583, x549);
+ uint32_t x603;
+ fiat_secp256k1_uint1 x604;
+ fiat_secp256k1_addcarryx_u32(&x603, &x604, x602, x585, x551);
+ uint32_t x605;
+ fiat_secp256k1_uint1 x606;
+ fiat_secp256k1_addcarryx_u32(&x605, &x606, x604, x587, x553);
+ uint32_t x607;
+ fiat_secp256k1_uint1 x608;
+ fiat_secp256k1_addcarryx_u32(&x607, &x608, x606, x589, x555);
+ uint32_t x609;
+ fiat_secp256k1_uint1 x610;
+ fiat_secp256k1_addcarryx_u32(&x609, &x610, x608, x591, x557);
+ uint32_t x611;
+ fiat_secp256k1_uint1 x612;
+ fiat_secp256k1_addcarryx_u32(&x611, &x612, x610, x593, x559);
+ uint32_t x613;
+ fiat_secp256k1_uint1 x614;
+ fiat_secp256k1_addcarryx_u32(&x613, &x614, x612, 0x0, x560);
+ uint32_t x615;
+ uint32_t x616;
+ fiat_secp256k1_mulx_u32(&x615, &x616, x6, (arg1[7]));
+ uint32_t x617;
+ uint32_t x618;
+ fiat_secp256k1_mulx_u32(&x617, &x618, x6, (arg1[6]));
+ uint32_t x619;
+ uint32_t x620;
+ fiat_secp256k1_mulx_u32(&x619, &x620, x6, (arg1[5]));
+ uint32_t x621;
+ uint32_t x622;
+ fiat_secp256k1_mulx_u32(&x621, &x622, x6, (arg1[4]));
+ uint32_t x623;
+ uint32_t x624;
+ fiat_secp256k1_mulx_u32(&x623, &x624, x6, (arg1[3]));
+ uint32_t x625;
+ uint32_t x626;
+ fiat_secp256k1_mulx_u32(&x625, &x626, x6, (arg1[2]));
+ uint32_t x627;
+ uint32_t x628;
+ fiat_secp256k1_mulx_u32(&x627, &x628, x6, (arg1[1]));
+ uint32_t x629;
+ uint32_t x630;
+ fiat_secp256k1_mulx_u32(&x629, &x630, x6, (arg1[0]));
+ uint32_t x631;
+ fiat_secp256k1_uint1 x632;
+ fiat_secp256k1_addcarryx_u32(&x631, &x632, 0x0, x627, x630);
+ uint32_t x633;
+ fiat_secp256k1_uint1 x634;
+ fiat_secp256k1_addcarryx_u32(&x633, &x634, x632, x625, x628);
+ uint32_t x635;
+ fiat_secp256k1_uint1 x636;
+ fiat_secp256k1_addcarryx_u32(&x635, &x636, x634, x623, x626);
+ uint32_t x637;
+ fiat_secp256k1_uint1 x638;
+ fiat_secp256k1_addcarryx_u32(&x637, &x638, x636, x621, x624);
+ uint32_t x639;
+ fiat_secp256k1_uint1 x640;
+ fiat_secp256k1_addcarryx_u32(&x639, &x640, x638, x619, x622);
+ uint32_t x641;
+ fiat_secp256k1_uint1 x642;
+ fiat_secp256k1_addcarryx_u32(&x641, &x642, x640, x617, x620);
+ uint32_t x643;
+ fiat_secp256k1_uint1 x644;
+ fiat_secp256k1_addcarryx_u32(&x643, &x644, x642, x615, x618);
+ uint32_t x645;
+ fiat_secp256k1_uint1 x646;
+ fiat_secp256k1_addcarryx_u32(&x645, &x646, x644, 0x0, x616);
+ uint32_t x647;
+ fiat_secp256k1_uint1 x648;
+ fiat_secp256k1_addcarryx_u32(&x647, &x648, 0x0, x629, x597);
+ uint32_t x649;
+ fiat_secp256k1_uint1 x650;
+ fiat_secp256k1_addcarryx_u32(&x649, &x650, x648, x631, x599);
+ uint32_t x651;
+ fiat_secp256k1_uint1 x652;
+ fiat_secp256k1_addcarryx_u32(&x651, &x652, x650, x633, x601);
+ uint32_t x653;
+ fiat_secp256k1_uint1 x654;
+ fiat_secp256k1_addcarryx_u32(&x653, &x654, x652, x635, x603);
+ uint32_t x655;
+ fiat_secp256k1_uint1 x656;
+ fiat_secp256k1_addcarryx_u32(&x655, &x656, x654, x637, x605);
+ uint32_t x657;
+ fiat_secp256k1_uint1 x658;
+ fiat_secp256k1_addcarryx_u32(&x657, &x658, x656, x639, x607);
+ uint32_t x659;
+ fiat_secp256k1_uint1 x660;
+ fiat_secp256k1_addcarryx_u32(&x659, &x660, x658, x641, x609);
+ uint32_t x661;
+ fiat_secp256k1_uint1 x662;
+ fiat_secp256k1_addcarryx_u32(&x661, &x662, x660, x643, x611);
+ uint32_t x663;
+ fiat_secp256k1_uint1 x664;
+ fiat_secp256k1_addcarryx_u32(&x663, &x664, x662, x645, x613);
+ uint32_t x665;
+ uint32_t x666;
+ fiat_secp256k1_mulx_u32(&x665, &x666, x647, UINT32_C(0xd2253531));
+ uint32_t x667;
+ uint32_t x668;
+ fiat_secp256k1_mulx_u32(&x667, &x668, x665, UINT32_C(0xffffffff));
+ uint32_t x669;
+ uint32_t x670;
+ fiat_secp256k1_mulx_u32(&x669, &x670, x665, UINT32_C(0xffffffff));
+ uint32_t x671;
+ uint32_t x672;
+ fiat_secp256k1_mulx_u32(&x671, &x672, x665, UINT32_C(0xffffffff));
+ uint32_t x673;
+ uint32_t x674;
+ fiat_secp256k1_mulx_u32(&x673, &x674, x665, UINT32_C(0xffffffff));
+ uint32_t x675;
+ uint32_t x676;
+ fiat_secp256k1_mulx_u32(&x675, &x676, x665, UINT32_C(0xffffffff));
+ uint32_t x677;
+ uint32_t x678;
+ fiat_secp256k1_mulx_u32(&x677, &x678, x665, UINT32_C(0xffffffff));
+ uint32_t x679;
+ uint32_t x680;
+ fiat_secp256k1_mulx_u32(&x679, &x680, x665, UINT32_C(0xfffffffe));
+ uint32_t x681;
+ uint32_t x682;
+ fiat_secp256k1_mulx_u32(&x681, &x682, x665, UINT32_C(0xfffffc2f));
+ uint32_t x683;
+ fiat_secp256k1_uint1 x684;
+ fiat_secp256k1_addcarryx_u32(&x683, &x684, 0x0, x679, x682);
+ uint32_t x685;
+ fiat_secp256k1_uint1 x686;
+ fiat_secp256k1_addcarryx_u32(&x685, &x686, x684, x677, x680);
+ uint32_t x687;
+ fiat_secp256k1_uint1 x688;
+ fiat_secp256k1_addcarryx_u32(&x687, &x688, x686, x675, x678);
+ uint32_t x689;
+ fiat_secp256k1_uint1 x690;
+ fiat_secp256k1_addcarryx_u32(&x689, &x690, x688, x673, x676);
+ uint32_t x691;
+ fiat_secp256k1_uint1 x692;
+ fiat_secp256k1_addcarryx_u32(&x691, &x692, x690, x671, x674);
+ uint32_t x693;
+ fiat_secp256k1_uint1 x694;
+ fiat_secp256k1_addcarryx_u32(&x693, &x694, x692, x669, x672);
+ uint32_t x695;
+ fiat_secp256k1_uint1 x696;
+ fiat_secp256k1_addcarryx_u32(&x695, &x696, x694, x667, x670);
+ uint32_t x697;
+ fiat_secp256k1_uint1 x698;
+ fiat_secp256k1_addcarryx_u32(&x697, &x698, x696, 0x0, x668);
+ uint32_t x699;
+ fiat_secp256k1_uint1 x700;
+ fiat_secp256k1_addcarryx_u32(&x699, &x700, 0x0, x681, x647);
+ uint32_t x701;
+ fiat_secp256k1_uint1 x702;
+ fiat_secp256k1_addcarryx_u32(&x701, &x702, x700, x683, x649);
+ uint32_t x703;
+ fiat_secp256k1_uint1 x704;
+ fiat_secp256k1_addcarryx_u32(&x703, &x704, x702, x685, x651);
+ uint32_t x705;
+ fiat_secp256k1_uint1 x706;
+ fiat_secp256k1_addcarryx_u32(&x705, &x706, x704, x687, x653);
+ uint32_t x707;
+ fiat_secp256k1_uint1 x708;
+ fiat_secp256k1_addcarryx_u32(&x707, &x708, x706, x689, x655);
+ uint32_t x709;
+ fiat_secp256k1_uint1 x710;
+ fiat_secp256k1_addcarryx_u32(&x709, &x710, x708, x691, x657);
+ uint32_t x711;
+ fiat_secp256k1_uint1 x712;
+ fiat_secp256k1_addcarryx_u32(&x711, &x712, x710, x693, x659);
+ uint32_t x713;
+ fiat_secp256k1_uint1 x714;
+ fiat_secp256k1_addcarryx_u32(&x713, &x714, x712, x695, x661);
+ uint32_t x715;
+ fiat_secp256k1_uint1 x716;
+ fiat_secp256k1_addcarryx_u32(&x715, &x716, x714, x697, x663);
+ uint32_t x717;
+ fiat_secp256k1_uint1 x718;
+ fiat_secp256k1_addcarryx_u32(&x717, &x718, x716, 0x0, x664);
+ uint32_t x719;
+ uint32_t x720;
+ fiat_secp256k1_mulx_u32(&x719, &x720, x7, (arg1[7]));
+ uint32_t x721;
+ uint32_t x722;
+ fiat_secp256k1_mulx_u32(&x721, &x722, x7, (arg1[6]));
+ uint32_t x723;
+ uint32_t x724;
+ fiat_secp256k1_mulx_u32(&x723, &x724, x7, (arg1[5]));
+ uint32_t x725;
+ uint32_t x726;
+ fiat_secp256k1_mulx_u32(&x725, &x726, x7, (arg1[4]));
+ uint32_t x727;
+ uint32_t x728;
+ fiat_secp256k1_mulx_u32(&x727, &x728, x7, (arg1[3]));
+ uint32_t x729;
+ uint32_t x730;
+ fiat_secp256k1_mulx_u32(&x729, &x730, x7, (arg1[2]));
+ uint32_t x731;
+ uint32_t x732;
+ fiat_secp256k1_mulx_u32(&x731, &x732, x7, (arg1[1]));
+ uint32_t x733;
+ uint32_t x734;
+ fiat_secp256k1_mulx_u32(&x733, &x734, x7, (arg1[0]));
+ uint32_t x735;
+ fiat_secp256k1_uint1 x736;
+ fiat_secp256k1_addcarryx_u32(&x735, &x736, 0x0, x731, x734);
+ uint32_t x737;
+ fiat_secp256k1_uint1 x738;
+ fiat_secp256k1_addcarryx_u32(&x737, &x738, x736, x729, x732);
+ uint32_t x739;
+ fiat_secp256k1_uint1 x740;
+ fiat_secp256k1_addcarryx_u32(&x739, &x740, x738, x727, x730);
+ uint32_t x741;
+ fiat_secp256k1_uint1 x742;
+ fiat_secp256k1_addcarryx_u32(&x741, &x742, x740, x725, x728);
+ uint32_t x743;
+ fiat_secp256k1_uint1 x744;
+ fiat_secp256k1_addcarryx_u32(&x743, &x744, x742, x723, x726);
+ uint32_t x745;
+ fiat_secp256k1_uint1 x746;
+ fiat_secp256k1_addcarryx_u32(&x745, &x746, x744, x721, x724);
+ uint32_t x747;
+ fiat_secp256k1_uint1 x748;
+ fiat_secp256k1_addcarryx_u32(&x747, &x748, x746, x719, x722);
+ uint32_t x749;
+ fiat_secp256k1_uint1 x750;
+ fiat_secp256k1_addcarryx_u32(&x749, &x750, x748, 0x0, x720);
+ uint32_t x751;
+ fiat_secp256k1_uint1 x752;
+ fiat_secp256k1_addcarryx_u32(&x751, &x752, 0x0, x733, x701);
+ uint32_t x753;
+ fiat_secp256k1_uint1 x754;
+ fiat_secp256k1_addcarryx_u32(&x753, &x754, x752, x735, x703);
+ uint32_t x755;
+ fiat_secp256k1_uint1 x756;
+ fiat_secp256k1_addcarryx_u32(&x755, &x756, x754, x737, x705);
+ uint32_t x757;
+ fiat_secp256k1_uint1 x758;
+ fiat_secp256k1_addcarryx_u32(&x757, &x758, x756, x739, x707);
+ uint32_t x759;
+ fiat_secp256k1_uint1 x760;
+ fiat_secp256k1_addcarryx_u32(&x759, &x760, x758, x741, x709);
+ uint32_t x761;
+ fiat_secp256k1_uint1 x762;
+ fiat_secp256k1_addcarryx_u32(&x761, &x762, x760, x743, x711);
+ uint32_t x763;
+ fiat_secp256k1_uint1 x764;
+ fiat_secp256k1_addcarryx_u32(&x763, &x764, x762, x745, x713);
+ uint32_t x765;
+ fiat_secp256k1_uint1 x766;
+ fiat_secp256k1_addcarryx_u32(&x765, &x766, x764, x747, x715);
+ uint32_t x767;
+ fiat_secp256k1_uint1 x768;
+ fiat_secp256k1_addcarryx_u32(&x767, &x768, x766, x749, x717);
+ uint32_t x769;
+ uint32_t x770;
+ fiat_secp256k1_mulx_u32(&x769, &x770, x751, UINT32_C(0xd2253531));
+ uint32_t x771;
+ uint32_t x772;
+ fiat_secp256k1_mulx_u32(&x771, &x772, x769, UINT32_C(0xffffffff));
+ uint32_t x773;
+ uint32_t x774;
+ fiat_secp256k1_mulx_u32(&x773, &x774, x769, UINT32_C(0xffffffff));
+ uint32_t x775;
+ uint32_t x776;
+ fiat_secp256k1_mulx_u32(&x775, &x776, x769, UINT32_C(0xffffffff));
+ uint32_t x777;
+ uint32_t x778;
+ fiat_secp256k1_mulx_u32(&x777, &x778, x769, UINT32_C(0xffffffff));
+ uint32_t x779;
+ uint32_t x780;
+ fiat_secp256k1_mulx_u32(&x779, &x780, x769, UINT32_C(0xffffffff));
+ uint32_t x781;
+ uint32_t x782;
+ fiat_secp256k1_mulx_u32(&x781, &x782, x769, UINT32_C(0xffffffff));
+ uint32_t x783;
+ uint32_t x784;
+ fiat_secp256k1_mulx_u32(&x783, &x784, x769, UINT32_C(0xfffffffe));
+ uint32_t x785;
+ uint32_t x786;
+ fiat_secp256k1_mulx_u32(&x785, &x786, x769, UINT32_C(0xfffffc2f));
+ uint32_t x787;
+ fiat_secp256k1_uint1 x788;
+ fiat_secp256k1_addcarryx_u32(&x787, &x788, 0x0, x783, x786);
+ uint32_t x789;
+ fiat_secp256k1_uint1 x790;
+ fiat_secp256k1_addcarryx_u32(&x789, &x790, x788, x781, x784);
+ uint32_t x791;
+ fiat_secp256k1_uint1 x792;
+ fiat_secp256k1_addcarryx_u32(&x791, &x792, x790, x779, x782);
+ uint32_t x793;
+ fiat_secp256k1_uint1 x794;
+ fiat_secp256k1_addcarryx_u32(&x793, &x794, x792, x777, x780);
+ uint32_t x795;
+ fiat_secp256k1_uint1 x796;
+ fiat_secp256k1_addcarryx_u32(&x795, &x796, x794, x775, x778);
+ uint32_t x797;
+ fiat_secp256k1_uint1 x798;
+ fiat_secp256k1_addcarryx_u32(&x797, &x798, x796, x773, x776);
+ uint32_t x799;
+ fiat_secp256k1_uint1 x800;
+ fiat_secp256k1_addcarryx_u32(&x799, &x800, x798, x771, x774);
+ uint32_t x801;
+ fiat_secp256k1_uint1 x802;
+ fiat_secp256k1_addcarryx_u32(&x801, &x802, x800, 0x0, x772);
+ uint32_t x803;
+ fiat_secp256k1_uint1 x804;
+ fiat_secp256k1_addcarryx_u32(&x803, &x804, 0x0, x785, x751);
+ uint32_t x805;
+ fiat_secp256k1_uint1 x806;
+ fiat_secp256k1_addcarryx_u32(&x805, &x806, x804, x787, x753);
+ uint32_t x807;
+ fiat_secp256k1_uint1 x808;
+ fiat_secp256k1_addcarryx_u32(&x807, &x808, x806, x789, x755);
+ uint32_t x809;
+ fiat_secp256k1_uint1 x810;
+ fiat_secp256k1_addcarryx_u32(&x809, &x810, x808, x791, x757);
+ uint32_t x811;
+ fiat_secp256k1_uint1 x812;
+ fiat_secp256k1_addcarryx_u32(&x811, &x812, x810, x793, x759);
+ uint32_t x813;
+ fiat_secp256k1_uint1 x814;
+ fiat_secp256k1_addcarryx_u32(&x813, &x814, x812, x795, x761);
+ uint32_t x815;
+ fiat_secp256k1_uint1 x816;
+ fiat_secp256k1_addcarryx_u32(&x815, &x816, x814, x797, x763);
+ uint32_t x817;
+ fiat_secp256k1_uint1 x818;
+ fiat_secp256k1_addcarryx_u32(&x817, &x818, x816, x799, x765);
+ uint32_t x819;
+ fiat_secp256k1_uint1 x820;
+ fiat_secp256k1_addcarryx_u32(&x819, &x820, x818, x801, x767);
+ uint32_t x821;
+ fiat_secp256k1_uint1 x822;
+ fiat_secp256k1_addcarryx_u32(&x821, &x822, x820, 0x0, x768);
+ uint32_t x823;
+ fiat_secp256k1_uint1 x824;
+ fiat_secp256k1_subborrowx_u32(&x823, &x824, 0x0, x805, UINT32_C(0xfffffc2f));
+ uint32_t x825;
+ fiat_secp256k1_uint1 x826;
+ fiat_secp256k1_subborrowx_u32(&x825, &x826, x824, x807, UINT32_C(0xfffffffe));
+ uint32_t x827;
+ fiat_secp256k1_uint1 x828;
+ fiat_secp256k1_subborrowx_u32(&x827, &x828, x826, x809, UINT32_C(0xffffffff));
+ uint32_t x829;
+ fiat_secp256k1_uint1 x830;
+ fiat_secp256k1_subborrowx_u32(&x829, &x830, x828, x811, UINT32_C(0xffffffff));
+ uint32_t x831;
+ fiat_secp256k1_uint1 x832;
+ fiat_secp256k1_subborrowx_u32(&x831, &x832, x830, x813, UINT32_C(0xffffffff));
+ uint32_t x833;
+ fiat_secp256k1_uint1 x834;
+ fiat_secp256k1_subborrowx_u32(&x833, &x834, x832, x815, UINT32_C(0xffffffff));
+ uint32_t x835;
+ fiat_secp256k1_uint1 x836;
+ fiat_secp256k1_subborrowx_u32(&x835, &x836, x834, x817, UINT32_C(0xffffffff));
+ uint32_t x837;
+ fiat_secp256k1_uint1 x838;
+ fiat_secp256k1_subborrowx_u32(&x837, &x838, x836, x819, UINT32_C(0xffffffff));
+ uint32_t x839;
+ fiat_secp256k1_uint1 x840;
+ fiat_secp256k1_subborrowx_u32(&x839, &x840, x838, x821, 0x0);
+ uint32_t x841;
+ fiat_secp256k1_cmovznz_u32(&x841, x840, x823, x805);
+ uint32_t x842;
+ fiat_secp256k1_cmovznz_u32(&x842, x840, x825, x807);
+ uint32_t x843;
+ fiat_secp256k1_cmovznz_u32(&x843, x840, x827, x809);
+ uint32_t x844;
+ fiat_secp256k1_cmovznz_u32(&x844, x840, x829, x811);
+ uint32_t x845;
+ fiat_secp256k1_cmovznz_u32(&x845, x840, x831, x813);
+ uint32_t x846;
+ fiat_secp256k1_cmovznz_u32(&x846, x840, x833, x815);
+ uint32_t x847;
+ fiat_secp256k1_cmovznz_u32(&x847, x840, x835, x817);
+ uint32_t x848;
+ fiat_secp256k1_cmovznz_u32(&x848, x840, x837, x819);
+ out1[0] = x841;
+ out1[1] = x842;
+ out1[2] = x843;
+ out1[3] = x844;
+ out1[4] = x845;
+ out1[5] = x846;
+ out1[6] = x847;
+ out1[7] = x848;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_secp256k1_add(uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
+ uint32_t x1;
+ fiat_secp256k1_uint1 x2;
+ fiat_secp256k1_addcarryx_u32(&x1, &x2, 0x0, (arg2[0]), (arg1[0]));
+ uint32_t x3;
+ fiat_secp256k1_uint1 x4;
+ fiat_secp256k1_addcarryx_u32(&x3, &x4, x2, (arg2[1]), (arg1[1]));
+ uint32_t x5;
+ fiat_secp256k1_uint1 x6;
+ fiat_secp256k1_addcarryx_u32(&x5, &x6, x4, (arg2[2]), (arg1[2]));
+ uint32_t x7;
+ fiat_secp256k1_uint1 x8;
+ fiat_secp256k1_addcarryx_u32(&x7, &x8, x6, (arg2[3]), (arg1[3]));
+ uint32_t x9;
+ fiat_secp256k1_uint1 x10;
+ fiat_secp256k1_addcarryx_u32(&x9, &x10, x8, (arg2[4]), (arg1[4]));
+ uint32_t x11;
+ fiat_secp256k1_uint1 x12;
+ fiat_secp256k1_addcarryx_u32(&x11, &x12, x10, (arg2[5]), (arg1[5]));
+ uint32_t x13;
+ fiat_secp256k1_uint1 x14;
+ fiat_secp256k1_addcarryx_u32(&x13, &x14, x12, (arg2[6]), (arg1[6]));
+ uint32_t x15;
+ fiat_secp256k1_uint1 x16;
+ fiat_secp256k1_addcarryx_u32(&x15, &x16, x14, (arg2[7]), (arg1[7]));
+ uint32_t x17;
+ fiat_secp256k1_uint1 x18;
+ fiat_secp256k1_subborrowx_u32(&x17, &x18, 0x0, x1, UINT32_C(0xfffffc2f));
+ uint32_t x19;
+ fiat_secp256k1_uint1 x20;
+ fiat_secp256k1_subborrowx_u32(&x19, &x20, x18, x3, UINT32_C(0xfffffffe));
+ uint32_t x21;
+ fiat_secp256k1_uint1 x22;
+ fiat_secp256k1_subborrowx_u32(&x21, &x22, x20, x5, UINT32_C(0xffffffff));
+ uint32_t x23;
+ fiat_secp256k1_uint1 x24;
+ fiat_secp256k1_subborrowx_u32(&x23, &x24, x22, x7, UINT32_C(0xffffffff));
+ uint32_t x25;
+ fiat_secp256k1_uint1 x26;
+ fiat_secp256k1_subborrowx_u32(&x25, &x26, x24, x9, UINT32_C(0xffffffff));
+ uint32_t x27;
+ fiat_secp256k1_uint1 x28;
+ fiat_secp256k1_subborrowx_u32(&x27, &x28, x26, x11, UINT32_C(0xffffffff));
+ uint32_t x29;
+ fiat_secp256k1_uint1 x30;
+ fiat_secp256k1_subborrowx_u32(&x29, &x30, x28, x13, UINT32_C(0xffffffff));
+ uint32_t x31;
+ fiat_secp256k1_uint1 x32;
+ fiat_secp256k1_subborrowx_u32(&x31, &x32, x30, x15, UINT32_C(0xffffffff));
+ uint32_t x33;
+ fiat_secp256k1_uint1 x34;
+ fiat_secp256k1_subborrowx_u32(&x33, &x34, x32, x16, 0x0);
+ uint32_t x35;
+ fiat_secp256k1_cmovznz_u32(&x35, x34, x17, x1);
+ uint32_t x36;
+ fiat_secp256k1_cmovznz_u32(&x36, x34, x19, x3);
+ uint32_t x37;
+ fiat_secp256k1_cmovznz_u32(&x37, x34, x21, x5);
+ uint32_t x38;
+ fiat_secp256k1_cmovznz_u32(&x38, x34, x23, x7);
+ uint32_t x39;
+ fiat_secp256k1_cmovznz_u32(&x39, x34, x25, x9);
+ uint32_t x40;
+ fiat_secp256k1_cmovznz_u32(&x40, x34, x27, x11);
+ uint32_t x41;
+ fiat_secp256k1_cmovznz_u32(&x41, x34, x29, x13);
+ uint32_t x42;
+ fiat_secp256k1_cmovznz_u32(&x42, x34, x31, x15);
+ out1[0] = x35;
+ out1[1] = x36;
+ out1[2] = x37;
+ out1[3] = x38;
+ out1[4] = x39;
+ out1[5] = x40;
+ out1[6] = x41;
+ out1[7] = x42;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_secp256k1_sub(uint32_t out1[8], const uint32_t arg1[8], const uint32_t arg2[8]) {
+ uint32_t x1;
+ fiat_secp256k1_uint1 x2;
+ fiat_secp256k1_subborrowx_u32(&x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+ uint32_t x3;
+ fiat_secp256k1_uint1 x4;
+ fiat_secp256k1_subborrowx_u32(&x3, &x4, x2, (arg1[1]), (arg2[1]));
+ uint32_t x5;
+ fiat_secp256k1_uint1 x6;
+ fiat_secp256k1_subborrowx_u32(&x5, &x6, x4, (arg1[2]), (arg2[2]));
+ uint32_t x7;
+ fiat_secp256k1_uint1 x8;
+ fiat_secp256k1_subborrowx_u32(&x7, &x8, x6, (arg1[3]), (arg2[3]));
+ uint32_t x9;
+ fiat_secp256k1_uint1 x10;
+ fiat_secp256k1_subborrowx_u32(&x9, &x10, x8, (arg1[4]), (arg2[4]));
+ uint32_t x11;
+ fiat_secp256k1_uint1 x12;
+ fiat_secp256k1_subborrowx_u32(&x11, &x12, x10, (arg1[5]), (arg2[5]));
+ uint32_t x13;
+ fiat_secp256k1_uint1 x14;
+ fiat_secp256k1_subborrowx_u32(&x13, &x14, x12, (arg1[6]), (arg2[6]));
+ uint32_t x15;
+ fiat_secp256k1_uint1 x16;
+ fiat_secp256k1_subborrowx_u32(&x15, &x16, x14, (arg1[7]), (arg2[7]));
+ uint32_t x17;
+ fiat_secp256k1_cmovznz_u32(&x17, x16, 0x0, UINT32_C(0xffffffff));
+ uint32_t x18;
+ fiat_secp256k1_uint1 x19;
+ fiat_secp256k1_addcarryx_u32(&x18, &x19, 0x0, (x17 & UINT32_C(0xfffffc2f)), x1);
+ uint32_t x20;
+ fiat_secp256k1_uint1 x21;
+ fiat_secp256k1_addcarryx_u32(&x20, &x21, x19, (x17 & UINT32_C(0xfffffffe)), x3);
+ uint32_t x22;
+ fiat_secp256k1_uint1 x23;
+ fiat_secp256k1_addcarryx_u32(&x22, &x23, x21, (x17 & UINT32_C(0xffffffff)), x5);
+ uint32_t x24;
+ fiat_secp256k1_uint1 x25;
+ fiat_secp256k1_addcarryx_u32(&x24, &x25, x23, (x17 & UINT32_C(0xffffffff)), x7);
+ uint32_t x26;
+ fiat_secp256k1_uint1 x27;
+ fiat_secp256k1_addcarryx_u32(&x26, &x27, x25, (x17 & UINT32_C(0xffffffff)), x9);
+ uint32_t x28;
+ fiat_secp256k1_uint1 x29;
+ fiat_secp256k1_addcarryx_u32(&x28, &x29, x27, (x17 & UINT32_C(0xffffffff)), x11);
+ uint32_t x30;
+ fiat_secp256k1_uint1 x31;
+ fiat_secp256k1_addcarryx_u32(&x30, &x31, x29, (x17 & UINT32_C(0xffffffff)), x13);
+ uint32_t x32;
+ fiat_secp256k1_uint1 x33;
+ fiat_secp256k1_addcarryx_u32(&x32, &x33, x31, (x17 & UINT32_C(0xffffffff)), x15);
+ out1[0] = x18;
+ out1[1] = x20;
+ out1[2] = x22;
+ out1[3] = x24;
+ out1[4] = x26;
+ out1[5] = x28;
+ out1[6] = x30;
+ out1[7] = x32;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_secp256k1_opp(uint32_t out1[8], const uint32_t arg1[8]) {
+ uint32_t x1;
+ fiat_secp256k1_uint1 x2;
+ fiat_secp256k1_subborrowx_u32(&x1, &x2, 0x0, 0x0, (arg1[0]));
+ uint32_t x3;
+ fiat_secp256k1_uint1 x4;
+ fiat_secp256k1_subborrowx_u32(&x3, &x4, x2, 0x0, (arg1[1]));
+ uint32_t x5;
+ fiat_secp256k1_uint1 x6;
+ fiat_secp256k1_subborrowx_u32(&x5, &x6, x4, 0x0, (arg1[2]));
+ uint32_t x7;
+ fiat_secp256k1_uint1 x8;
+ fiat_secp256k1_subborrowx_u32(&x7, &x8, x6, 0x0, (arg1[3]));
+ uint32_t x9;
+ fiat_secp256k1_uint1 x10;
+ fiat_secp256k1_subborrowx_u32(&x9, &x10, x8, 0x0, (arg1[4]));
+ uint32_t x11;
+ fiat_secp256k1_uint1 x12;
+ fiat_secp256k1_subborrowx_u32(&x11, &x12, x10, 0x0, (arg1[5]));
+ uint32_t x13;
+ fiat_secp256k1_uint1 x14;
+ fiat_secp256k1_subborrowx_u32(&x13, &x14, x12, 0x0, (arg1[6]));
+ uint32_t x15;
+ fiat_secp256k1_uint1 x16;
+ fiat_secp256k1_subborrowx_u32(&x15, &x16, x14, 0x0, (arg1[7]));
+ uint32_t x17;
+ fiat_secp256k1_cmovznz_u32(&x17, x16, 0x0, UINT32_C(0xffffffff));
+ uint32_t x18;
+ fiat_secp256k1_uint1 x19;
+ fiat_secp256k1_addcarryx_u32(&x18, &x19, 0x0, (x17 & UINT32_C(0xfffffc2f)), x1);
+ uint32_t x20;
+ fiat_secp256k1_uint1 x21;
+ fiat_secp256k1_addcarryx_u32(&x20, &x21, x19, (x17 & UINT32_C(0xfffffffe)), x3);
+ uint32_t x22;
+ fiat_secp256k1_uint1 x23;
+ fiat_secp256k1_addcarryx_u32(&x22, &x23, x21, (x17 & UINT32_C(0xffffffff)), x5);
+ uint32_t x24;
+ fiat_secp256k1_uint1 x25;
+ fiat_secp256k1_addcarryx_u32(&x24, &x25, x23, (x17 & UINT32_C(0xffffffff)), x7);
+ uint32_t x26;
+ fiat_secp256k1_uint1 x27;
+ fiat_secp256k1_addcarryx_u32(&x26, &x27, x25, (x17 & UINT32_C(0xffffffff)), x9);
+ uint32_t x28;
+ fiat_secp256k1_uint1 x29;
+ fiat_secp256k1_addcarryx_u32(&x28, &x29, x27, (x17 & UINT32_C(0xffffffff)), x11);
+ uint32_t x30;
+ fiat_secp256k1_uint1 x31;
+ fiat_secp256k1_addcarryx_u32(&x30, &x31, x29, (x17 & UINT32_C(0xffffffff)), x13);
+ uint32_t x32;
+ fiat_secp256k1_uint1 x33;
+ fiat_secp256k1_addcarryx_u32(&x32, &x33, x31, (x17 & UINT32_C(0xffffffff)), x15);
+ out1[0] = x18;
+ out1[1] = x20;
+ out1[2] = x22;
+ out1[3] = x24;
+ out1[4] = x26;
+ out1[5] = x28;
+ out1[6] = x30;
+ out1[7] = x32;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_secp256k1_from_montgomery(uint32_t out1[8], const uint32_t arg1[8]) {
+ uint32_t x1 = (arg1[0]);
+ uint32_t x2;
+ uint32_t x3;
+ fiat_secp256k1_mulx_u32(&x2, &x3, x1, UINT32_C(0xd2253531));
+ uint32_t x4;
+ uint32_t x5;
+ fiat_secp256k1_mulx_u32(&x4, &x5, x2, UINT32_C(0xffffffff));
+ uint32_t x6;
+ uint32_t x7;
+ fiat_secp256k1_mulx_u32(&x6, &x7, x2, UINT32_C(0xffffffff));
+ uint32_t x8;
+ uint32_t x9;
+ fiat_secp256k1_mulx_u32(&x8, &x9, x2, UINT32_C(0xffffffff));
+ uint32_t x10;
+ uint32_t x11;
+ fiat_secp256k1_mulx_u32(&x10, &x11, x2, UINT32_C(0xffffffff));
+ uint32_t x12;
+ uint32_t x13;
+ fiat_secp256k1_mulx_u32(&x12, &x13, x2, UINT32_C(0xffffffff));
+ uint32_t x14;
+ uint32_t x15;
+ fiat_secp256k1_mulx_u32(&x14, &x15, x2, UINT32_C(0xffffffff));
+ uint32_t x16;
+ uint32_t x17;
+ fiat_secp256k1_mulx_u32(&x16, &x17, x2, UINT32_C(0xfffffffe));
+ uint32_t x18;
+ uint32_t x19;
+ fiat_secp256k1_mulx_u32(&x18, &x19, x2, UINT32_C(0xfffffc2f));
+ uint32_t x20;
+ fiat_secp256k1_uint1 x21;
+ fiat_secp256k1_addcarryx_u32(&x20, &x21, 0x0, x16, x19);
+ uint32_t x22;
+ fiat_secp256k1_uint1 x23;
+ fiat_secp256k1_addcarryx_u32(&x22, &x23, x21, x14, x17);
+ uint32_t x24;
+ fiat_secp256k1_uint1 x25;
+ fiat_secp256k1_addcarryx_u32(&x24, &x25, x23, x12, x15);
+ uint32_t x26;
+ fiat_secp256k1_uint1 x27;
+ fiat_secp256k1_addcarryx_u32(&x26, &x27, x25, x10, x13);
+ uint32_t x28;
+ fiat_secp256k1_uint1 x29;
+ fiat_secp256k1_addcarryx_u32(&x28, &x29, x27, x8, x11);
+ uint32_t x30;
+ fiat_secp256k1_uint1 x31;
+ fiat_secp256k1_addcarryx_u32(&x30, &x31, x29, x6, x9);
+ uint32_t x32;
+ fiat_secp256k1_uint1 x33;
+ fiat_secp256k1_addcarryx_u32(&x32, &x33, x31, x4, x7);
+ uint32_t x34;
+ fiat_secp256k1_uint1 x35;
+ fiat_secp256k1_addcarryx_u32(&x34, &x35, 0x0, x18, x1);
+ uint32_t x36;
+ fiat_secp256k1_uint1 x37;
+ fiat_secp256k1_addcarryx_u32(&x36, &x37, x35, x20, 0x0);
+ uint32_t x38;
+ fiat_secp256k1_uint1 x39;
+ fiat_secp256k1_addcarryx_u32(&x38, &x39, x37, x22, 0x0);
+ uint32_t x40;
+ fiat_secp256k1_uint1 x41;
+ fiat_secp256k1_addcarryx_u32(&x40, &x41, x39, x24, 0x0);
+ uint32_t x42;
+ fiat_secp256k1_uint1 x43;
+ fiat_secp256k1_addcarryx_u32(&x42, &x43, x41, x26, 0x0);
+ uint32_t x44;
+ fiat_secp256k1_uint1 x45;
+ fiat_secp256k1_addcarryx_u32(&x44, &x45, x43, x28, 0x0);
+ uint32_t x46;
+ fiat_secp256k1_uint1 x47;
+ fiat_secp256k1_addcarryx_u32(&x46, &x47, x45, x30, 0x0);
+ uint32_t x48;
+ fiat_secp256k1_uint1 x49;
+ fiat_secp256k1_addcarryx_u32(&x48, &x49, x47, x32, 0x0);
+ uint32_t x50;
+ fiat_secp256k1_uint1 x51;
+ fiat_secp256k1_addcarryx_u32(&x50, &x51, x33, 0x0, x5);
+ uint32_t x52;
+ fiat_secp256k1_uint1 x53;
+ fiat_secp256k1_addcarryx_u32(&x52, &x53, x49, x50, 0x0);
+ uint32_t x54;
+ fiat_secp256k1_uint1 x55;
+ fiat_secp256k1_addcarryx_u32(&x54, &x55, 0x0, (arg1[1]), x36);
+ uint32_t x56;
+ fiat_secp256k1_uint1 x57;
+ fiat_secp256k1_addcarryx_u32(&x56, &x57, x55, 0x0, x38);
+ uint32_t x58;
+ fiat_secp256k1_uint1 x59;
+ fiat_secp256k1_addcarryx_u32(&x58, &x59, x57, 0x0, x40);
+ uint32_t x60;
+ fiat_secp256k1_uint1 x61;
+ fiat_secp256k1_addcarryx_u32(&x60, &x61, x59, 0x0, x42);
+ uint32_t x62;
+ fiat_secp256k1_uint1 x63;
+ fiat_secp256k1_addcarryx_u32(&x62, &x63, x61, 0x0, x44);
+ uint32_t x64;
+ fiat_secp256k1_uint1 x65;
+ fiat_secp256k1_addcarryx_u32(&x64, &x65, x63, 0x0, x46);
+ uint32_t x66;
+ fiat_secp256k1_uint1 x67;
+ fiat_secp256k1_addcarryx_u32(&x66, &x67, x65, 0x0, x48);
+ uint32_t x68;
+ fiat_secp256k1_uint1 x69;
+ fiat_secp256k1_addcarryx_u32(&x68, &x69, x67, 0x0, x52);
+ uint32_t x70;
+ fiat_secp256k1_uint1 x71;
+ fiat_secp256k1_addcarryx_u32(&x70, &x71, x53, 0x0, 0x0);
+ uint32_t x72;
+ fiat_secp256k1_uint1 x73;
+ fiat_secp256k1_addcarryx_u32(&x72, &x73, x69, 0x0, (fiat_secp256k1_uint1)x70);
+ uint32_t x74;
+ uint32_t x75;
+ fiat_secp256k1_mulx_u32(&x74, &x75, x54, UINT32_C(0xd2253531));
+ uint32_t x76;
+ uint32_t x77;
+ fiat_secp256k1_mulx_u32(&x76, &x77, x74, UINT32_C(0xffffffff));
+ uint32_t x78;
+ uint32_t x79;
+ fiat_secp256k1_mulx_u32(&x78, &x79, x74, UINT32_C(0xffffffff));
+ uint32_t x80;
+ uint32_t x81;
+ fiat_secp256k1_mulx_u32(&x80, &x81, x74, UINT32_C(0xffffffff));
+ uint32_t x82;
+ uint32_t x83;
+ fiat_secp256k1_mulx_u32(&x82, &x83, x74, UINT32_C(0xffffffff));
+ uint32_t x84;
+ uint32_t x85;
+ fiat_secp256k1_mulx_u32(&x84, &x85, x74, UINT32_C(0xffffffff));
+ uint32_t x86;
+ uint32_t x87;
+ fiat_secp256k1_mulx_u32(&x86, &x87, x74, UINT32_C(0xffffffff));
+ uint32_t x88;
+ uint32_t x89;
+ fiat_secp256k1_mulx_u32(&x88, &x89, x74, UINT32_C(0xfffffffe));
+ uint32_t x90;
+ uint32_t x91;
+ fiat_secp256k1_mulx_u32(&x90, &x91, x74, UINT32_C(0xfffffc2f));
+ uint32_t x92;
+ fiat_secp256k1_uint1 x93;
+ fiat_secp256k1_addcarryx_u32(&x92, &x93, 0x0, x88, x91);
+ uint32_t x94;
+ fiat_secp256k1_uint1 x95;
+ fiat_secp256k1_addcarryx_u32(&x94, &x95, x93, x86, x89);
+ uint32_t x96;
+ fiat_secp256k1_uint1 x97;
+ fiat_secp256k1_addcarryx_u32(&x96, &x97, x95, x84, x87);
+ uint32_t x98;
+ fiat_secp256k1_uint1 x99;
+ fiat_secp256k1_addcarryx_u32(&x98, &x99, x97, x82, x85);
+ uint32_t x100;
+ fiat_secp256k1_uint1 x101;
+ fiat_secp256k1_addcarryx_u32(&x100, &x101, x99, x80, x83);
+ uint32_t x102;
+ fiat_secp256k1_uint1 x103;
+ fiat_secp256k1_addcarryx_u32(&x102, &x103, x101, x78, x81);
+ uint32_t x104;
+ fiat_secp256k1_uint1 x105;
+ fiat_secp256k1_addcarryx_u32(&x104, &x105, x103, x76, x79);
+ uint32_t x106;
+ fiat_secp256k1_uint1 x107;
+ fiat_secp256k1_addcarryx_u32(&x106, &x107, 0x0, x90, x54);
+ uint32_t x108;
+ fiat_secp256k1_uint1 x109;
+ fiat_secp256k1_addcarryx_u32(&x108, &x109, x107, x92, x56);
+ uint32_t x110;
+ fiat_secp256k1_uint1 x111;
+ fiat_secp256k1_addcarryx_u32(&x110, &x111, x109, x94, x58);
+ uint32_t x112;
+ fiat_secp256k1_uint1 x113;
+ fiat_secp256k1_addcarryx_u32(&x112, &x113, x111, x96, x60);
+ uint32_t x114;
+ fiat_secp256k1_uint1 x115;
+ fiat_secp256k1_addcarryx_u32(&x114, &x115, x113, x98, x62);
+ uint32_t x116;
+ fiat_secp256k1_uint1 x117;
+ fiat_secp256k1_addcarryx_u32(&x116, &x117, x115, x100, x64);
+ uint32_t x118;
+ fiat_secp256k1_uint1 x119;
+ fiat_secp256k1_addcarryx_u32(&x118, &x119, x117, x102, x66);
+ uint32_t x120;
+ fiat_secp256k1_uint1 x121;
+ fiat_secp256k1_addcarryx_u32(&x120, &x121, x119, x104, x68);
+ uint32_t x122;
+ fiat_secp256k1_uint1 x123;
+ fiat_secp256k1_addcarryx_u32(&x122, &x123, x105, 0x0, x77);
+ uint32_t x124;
+ fiat_secp256k1_uint1 x125;
+ fiat_secp256k1_addcarryx_u32(&x124, &x125, x121, x122, x72);
+ uint32_t x126;
+ fiat_secp256k1_uint1 x127;
+ fiat_secp256k1_addcarryx_u32(&x126, &x127, 0x0, (arg1[2]), x108);
+ uint32_t x128;
+ fiat_secp256k1_uint1 x129;
+ fiat_secp256k1_addcarryx_u32(&x128, &x129, x127, 0x0, x110);
+ uint32_t x130;
+ fiat_secp256k1_uint1 x131;
+ fiat_secp256k1_addcarryx_u32(&x130, &x131, x129, 0x0, x112);
+ uint32_t x132;
+ fiat_secp256k1_uint1 x133;
+ fiat_secp256k1_addcarryx_u32(&x132, &x133, x131, 0x0, x114);
+ uint32_t x134;
+ fiat_secp256k1_uint1 x135;
+ fiat_secp256k1_addcarryx_u32(&x134, &x135, x133, 0x0, x116);
+ uint32_t x136;
+ fiat_secp256k1_uint1 x137;
+ fiat_secp256k1_addcarryx_u32(&x136, &x137, x135, 0x0, x118);
+ uint32_t x138;
+ fiat_secp256k1_uint1 x139;
+ fiat_secp256k1_addcarryx_u32(&x138, &x139, x137, 0x0, x120);
+ uint32_t x140;
+ fiat_secp256k1_uint1 x141;
+ fiat_secp256k1_addcarryx_u32(&x140, &x141, x139, 0x0, x124);
+ uint32_t x142;
+ fiat_secp256k1_uint1 x143;
+ fiat_secp256k1_addcarryx_u32(&x142, &x143, x125, 0x0, x73);
+ uint32_t x144;
+ fiat_secp256k1_uint1 x145;
+ fiat_secp256k1_addcarryx_u32(&x144, &x145, x141, 0x0, (fiat_secp256k1_uint1)x142);
+ uint32_t x146;
+ uint32_t x147;
+ fiat_secp256k1_mulx_u32(&x146, &x147, x126, UINT32_C(0xd2253531));
+ uint32_t x148;
+ uint32_t x149;
+ fiat_secp256k1_mulx_u32(&x148, &x149, x146, UINT32_C(0xffffffff));
+ uint32_t x150;
+ uint32_t x151;
+ fiat_secp256k1_mulx_u32(&x150, &x151, x146, UINT32_C(0xffffffff));
+ uint32_t x152;
+ uint32_t x153;
+ fiat_secp256k1_mulx_u32(&x152, &x153, x146, UINT32_C(0xffffffff));
+ uint32_t x154;
+ uint32_t x155;
+ fiat_secp256k1_mulx_u32(&x154, &x155, x146, UINT32_C(0xffffffff));
+ uint32_t x156;
+ uint32_t x157;
+ fiat_secp256k1_mulx_u32(&x156, &x157, x146, UINT32_C(0xffffffff));
+ uint32_t x158;
+ uint32_t x159;
+ fiat_secp256k1_mulx_u32(&x158, &x159, x146, UINT32_C(0xffffffff));
+ uint32_t x160;
+ uint32_t x161;
+ fiat_secp256k1_mulx_u32(&x160, &x161, x146, UINT32_C(0xfffffffe));
+ uint32_t x162;
+ uint32_t x163;
+ fiat_secp256k1_mulx_u32(&x162, &x163, x146, UINT32_C(0xfffffc2f));
+ uint32_t x164;
+ fiat_secp256k1_uint1 x165;
+ fiat_secp256k1_addcarryx_u32(&x164, &x165, 0x0, x160, x163);
+ uint32_t x166;
+ fiat_secp256k1_uint1 x167;
+ fiat_secp256k1_addcarryx_u32(&x166, &x167, x165, x158, x161);
+ uint32_t x168;
+ fiat_secp256k1_uint1 x169;
+ fiat_secp256k1_addcarryx_u32(&x168, &x169, x167, x156, x159);
+ uint32_t x170;
+ fiat_secp256k1_uint1 x171;
+ fiat_secp256k1_addcarryx_u32(&x170, &x171, x169, x154, x157);
+ uint32_t x172;
+ fiat_secp256k1_uint1 x173;
+ fiat_secp256k1_addcarryx_u32(&x172, &x173, x171, x152, x155);
+ uint32_t x174;
+ fiat_secp256k1_uint1 x175;
+ fiat_secp256k1_addcarryx_u32(&x174, &x175, x173, x150, x153);
+ uint32_t x176;
+ fiat_secp256k1_uint1 x177;
+ fiat_secp256k1_addcarryx_u32(&x176, &x177, x175, x148, x151);
+ uint32_t x178;
+ fiat_secp256k1_uint1 x179;
+ fiat_secp256k1_addcarryx_u32(&x178, &x179, 0x0, x162, x126);
+ uint32_t x180;
+ fiat_secp256k1_uint1 x181;
+ fiat_secp256k1_addcarryx_u32(&x180, &x181, x179, x164, x128);
+ uint32_t x182;
+ fiat_secp256k1_uint1 x183;
+ fiat_secp256k1_addcarryx_u32(&x182, &x183, x181, x166, x130);
+ uint32_t x184;
+ fiat_secp256k1_uint1 x185;
+ fiat_secp256k1_addcarryx_u32(&x184, &x185, x183, x168, x132);
+ uint32_t x186;
+ fiat_secp256k1_uint1 x187;
+ fiat_secp256k1_addcarryx_u32(&x186, &x187, x185, x170, x134);
+ uint32_t x188;
+ fiat_secp256k1_uint1 x189;
+ fiat_secp256k1_addcarryx_u32(&x188, &x189, x187, x172, x136);
+ uint32_t x190;
+ fiat_secp256k1_uint1 x191;
+ fiat_secp256k1_addcarryx_u32(&x190, &x191, x189, x174, x138);
+ uint32_t x192;
+ fiat_secp256k1_uint1 x193;
+ fiat_secp256k1_addcarryx_u32(&x192, &x193, x191, x176, x140);
+ uint32_t x194;
+ fiat_secp256k1_uint1 x195;
+ fiat_secp256k1_addcarryx_u32(&x194, &x195, x177, 0x0, x149);
+ uint32_t x196;
+ fiat_secp256k1_uint1 x197;
+ fiat_secp256k1_addcarryx_u32(&x196, &x197, x193, x194, x144);
+ uint32_t x198;
+ fiat_secp256k1_uint1 x199;
+ fiat_secp256k1_addcarryx_u32(&x198, &x199, 0x0, (arg1[3]), x180);
+ uint32_t x200;
+ fiat_secp256k1_uint1 x201;
+ fiat_secp256k1_addcarryx_u32(&x200, &x201, x199, 0x0, x182);
+ uint32_t x202;
+ fiat_secp256k1_uint1 x203;
+ fiat_secp256k1_addcarryx_u32(&x202, &x203, x201, 0x0, x184);
+ uint32_t x204;
+ fiat_secp256k1_uint1 x205;
+ fiat_secp256k1_addcarryx_u32(&x204, &x205, x203, 0x0, x186);
+ uint32_t x206;
+ fiat_secp256k1_uint1 x207;
+ fiat_secp256k1_addcarryx_u32(&x206, &x207, x205, 0x0, x188);
+ uint32_t x208;
+ fiat_secp256k1_uint1 x209;
+ fiat_secp256k1_addcarryx_u32(&x208, &x209, x207, 0x0, x190);
+ uint32_t x210;
+ fiat_secp256k1_uint1 x211;
+ fiat_secp256k1_addcarryx_u32(&x210, &x211, x209, 0x0, x192);
+ uint32_t x212;
+ fiat_secp256k1_uint1 x213;
+ fiat_secp256k1_addcarryx_u32(&x212, &x213, x211, 0x0, x196);
+ uint32_t x214;
+ fiat_secp256k1_uint1 x215;
+ fiat_secp256k1_addcarryx_u32(&x214, &x215, x197, 0x0, x145);
+ uint32_t x216;
+ fiat_secp256k1_uint1 x217;
+ fiat_secp256k1_addcarryx_u32(&x216, &x217, x213, 0x0, (fiat_secp256k1_uint1)x214);
+ uint32_t x218;
+ uint32_t x219;
+ fiat_secp256k1_mulx_u32(&x218, &x219, x198, UINT32_C(0xd2253531));
+ uint32_t x220;
+ uint32_t x221;
+ fiat_secp256k1_mulx_u32(&x220, &x221, x218, UINT32_C(0xffffffff));
+ uint32_t x222;
+ uint32_t x223;
+ fiat_secp256k1_mulx_u32(&x222, &x223, x218, UINT32_C(0xffffffff));
+ uint32_t x224;
+ uint32_t x225;
+ fiat_secp256k1_mulx_u32(&x224, &x225, x218, UINT32_C(0xffffffff));
+ uint32_t x226;
+ uint32_t x227;
+ fiat_secp256k1_mulx_u32(&x226, &x227, x218, UINT32_C(0xffffffff));
+ uint32_t x228;
+ uint32_t x229;
+ fiat_secp256k1_mulx_u32(&x228, &x229, x218, UINT32_C(0xffffffff));
+ uint32_t x230;
+ uint32_t x231;
+ fiat_secp256k1_mulx_u32(&x230, &x231, x218, UINT32_C(0xffffffff));
+ uint32_t x232;
+ uint32_t x233;
+ fiat_secp256k1_mulx_u32(&x232, &x233, x218, UINT32_C(0xfffffffe));
+ uint32_t x234;
+ uint32_t x235;
+ fiat_secp256k1_mulx_u32(&x234, &x235, x218, UINT32_C(0xfffffc2f));
+ uint32_t x236;
+ fiat_secp256k1_uint1 x237;
+ fiat_secp256k1_addcarryx_u32(&x236, &x237, 0x0, x232, x235);
+ uint32_t x238;
+ fiat_secp256k1_uint1 x239;
+ fiat_secp256k1_addcarryx_u32(&x238, &x239, x237, x230, x233);
+ uint32_t x240;
+ fiat_secp256k1_uint1 x241;
+ fiat_secp256k1_addcarryx_u32(&x240, &x241, x239, x228, x231);
+ uint32_t x242;
+ fiat_secp256k1_uint1 x243;
+ fiat_secp256k1_addcarryx_u32(&x242, &x243, x241, x226, x229);
+ uint32_t x244;
+ fiat_secp256k1_uint1 x245;
+ fiat_secp256k1_addcarryx_u32(&x244, &x245, x243, x224, x227);
+ uint32_t x246;
+ fiat_secp256k1_uint1 x247;
+ fiat_secp256k1_addcarryx_u32(&x246, &x247, x245, x222, x225);
+ uint32_t x248;
+ fiat_secp256k1_uint1 x249;
+ fiat_secp256k1_addcarryx_u32(&x248, &x249, x247, x220, x223);
+ uint32_t x250;
+ fiat_secp256k1_uint1 x251;
+ fiat_secp256k1_addcarryx_u32(&x250, &x251, 0x0, x234, x198);
+ uint32_t x252;
+ fiat_secp256k1_uint1 x253;
+ fiat_secp256k1_addcarryx_u32(&x252, &x253, x251, x236, x200);
+ uint32_t x254;
+ fiat_secp256k1_uint1 x255;
+ fiat_secp256k1_addcarryx_u32(&x254, &x255, x253, x238, x202);
+ uint32_t x256;
+ fiat_secp256k1_uint1 x257;
+ fiat_secp256k1_addcarryx_u32(&x256, &x257, x255, x240, x204);
+ uint32_t x258;
+ fiat_secp256k1_uint1 x259;
+ fiat_secp256k1_addcarryx_u32(&x258, &x259, x257, x242, x206);
+ uint32_t x260;
+ fiat_secp256k1_uint1 x261;
+ fiat_secp256k1_addcarryx_u32(&x260, &x261, x259, x244, x208);
+ uint32_t x262;
+ fiat_secp256k1_uint1 x263;
+ fiat_secp256k1_addcarryx_u32(&x262, &x263, x261, x246, x210);
+ uint32_t x264;
+ fiat_secp256k1_uint1 x265;
+ fiat_secp256k1_addcarryx_u32(&x264, &x265, x263, x248, x212);
+ uint32_t x266;
+ fiat_secp256k1_uint1 x267;
+ fiat_secp256k1_addcarryx_u32(&x266, &x267, x249, 0x0, x221);
+ uint32_t x268;
+ fiat_secp256k1_uint1 x269;
+ fiat_secp256k1_addcarryx_u32(&x268, &x269, x265, x266, x216);
+ uint32_t x270;
+ fiat_secp256k1_uint1 x271;
+ fiat_secp256k1_addcarryx_u32(&x270, &x271, 0x0, (arg1[4]), x252);
+ uint32_t x272;
+ fiat_secp256k1_uint1 x273;
+ fiat_secp256k1_addcarryx_u32(&x272, &x273, x271, 0x0, x254);
+ uint32_t x274;
+ fiat_secp256k1_uint1 x275;
+ fiat_secp256k1_addcarryx_u32(&x274, &x275, x273, 0x0, x256);
+ uint32_t x276;
+ fiat_secp256k1_uint1 x277;
+ fiat_secp256k1_addcarryx_u32(&x276, &x277, x275, 0x0, x258);
+ uint32_t x278;
+ fiat_secp256k1_uint1 x279;
+ fiat_secp256k1_addcarryx_u32(&x278, &x279, x277, 0x0, x260);
+ uint32_t x280;
+ fiat_secp256k1_uint1 x281;
+ fiat_secp256k1_addcarryx_u32(&x280, &x281, x279, 0x0, x262);
+ uint32_t x282;
+ fiat_secp256k1_uint1 x283;
+ fiat_secp256k1_addcarryx_u32(&x282, &x283, x281, 0x0, x264);
+ uint32_t x284;
+ fiat_secp256k1_uint1 x285;
+ fiat_secp256k1_addcarryx_u32(&x284, &x285, x283, 0x0, x268);
+ uint32_t x286;
+ fiat_secp256k1_uint1 x287;
+ fiat_secp256k1_addcarryx_u32(&x286, &x287, x269, 0x0, x217);
+ uint32_t x288;
+ fiat_secp256k1_uint1 x289;
+ fiat_secp256k1_addcarryx_u32(&x288, &x289, x285, 0x0, (fiat_secp256k1_uint1)x286);
+ uint32_t x290;
+ uint32_t x291;
+ fiat_secp256k1_mulx_u32(&x290, &x291, x270, UINT32_C(0xd2253531));
+ uint32_t x292;
+ uint32_t x293;
+ fiat_secp256k1_mulx_u32(&x292, &x293, x290, UINT32_C(0xffffffff));
+ uint32_t x294;
+ uint32_t x295;
+ fiat_secp256k1_mulx_u32(&x294, &x295, x290, UINT32_C(0xffffffff));
+ uint32_t x296;
+ uint32_t x297;
+ fiat_secp256k1_mulx_u32(&x296, &x297, x290, UINT32_C(0xffffffff));
+ uint32_t x298;
+ uint32_t x299;
+ fiat_secp256k1_mulx_u32(&x298, &x299, x290, UINT32_C(0xffffffff));
+ uint32_t x300;
+ uint32_t x301;
+ fiat_secp256k1_mulx_u32(&x300, &x301, x290, UINT32_C(0xffffffff));
+ uint32_t x302;
+ uint32_t x303;
+ fiat_secp256k1_mulx_u32(&x302, &x303, x290, UINT32_C(0xffffffff));
+ uint32_t x304;
+ uint32_t x305;
+ fiat_secp256k1_mulx_u32(&x304, &x305, x290, UINT32_C(0xfffffffe));
+ uint32_t x306;
+ uint32_t x307;
+ fiat_secp256k1_mulx_u32(&x306, &x307, x290, UINT32_C(0xfffffc2f));
+ uint32_t x308;
+ fiat_secp256k1_uint1 x309;
+ fiat_secp256k1_addcarryx_u32(&x308, &x309, 0x0, x304, x307);
+ uint32_t x310;
+ fiat_secp256k1_uint1 x311;
+ fiat_secp256k1_addcarryx_u32(&x310, &x311, x309, x302, x305);
+ uint32_t x312;
+ fiat_secp256k1_uint1 x313;
+ fiat_secp256k1_addcarryx_u32(&x312, &x313, x311, x300, x303);
+ uint32_t x314;
+ fiat_secp256k1_uint1 x315;
+ fiat_secp256k1_addcarryx_u32(&x314, &x315, x313, x298, x301);
+ uint32_t x316;
+ fiat_secp256k1_uint1 x317;
+ fiat_secp256k1_addcarryx_u32(&x316, &x317, x315, x296, x299);
+ uint32_t x318;
+ fiat_secp256k1_uint1 x319;
+ fiat_secp256k1_addcarryx_u32(&x318, &x319, x317, x294, x297);
+ uint32_t x320;
+ fiat_secp256k1_uint1 x321;
+ fiat_secp256k1_addcarryx_u32(&x320, &x321, x319, x292, x295);
+ uint32_t x322;
+ fiat_secp256k1_uint1 x323;
+ fiat_secp256k1_addcarryx_u32(&x322, &x323, 0x0, x306, x270);
+ uint32_t x324;
+ fiat_secp256k1_uint1 x325;
+ fiat_secp256k1_addcarryx_u32(&x324, &x325, x323, x308, x272);
+ uint32_t x326;
+ fiat_secp256k1_uint1 x327;
+ fiat_secp256k1_addcarryx_u32(&x326, &x327, x325, x310, x274);
+ uint32_t x328;
+ fiat_secp256k1_uint1 x329;
+ fiat_secp256k1_addcarryx_u32(&x328, &x329, x327, x312, x276);
+ uint32_t x330;
+ fiat_secp256k1_uint1 x331;
+ fiat_secp256k1_addcarryx_u32(&x330, &x331, x329, x314, x278);
+ uint32_t x332;
+ fiat_secp256k1_uint1 x333;
+ fiat_secp256k1_addcarryx_u32(&x332, &x333, x331, x316, x280);
+ uint32_t x334;
+ fiat_secp256k1_uint1 x335;
+ fiat_secp256k1_addcarryx_u32(&x334, &x335, x333, x318, x282);
+ uint32_t x336;
+ fiat_secp256k1_uint1 x337;
+ fiat_secp256k1_addcarryx_u32(&x336, &x337, x335, x320, x284);
+ uint32_t x338;
+ fiat_secp256k1_uint1 x339;
+ fiat_secp256k1_addcarryx_u32(&x338, &x339, x321, 0x0, x293);
+ uint32_t x340;
+ fiat_secp256k1_uint1 x341;
+ fiat_secp256k1_addcarryx_u32(&x340, &x341, x337, x338, x288);
+ uint32_t x342;
+ fiat_secp256k1_uint1 x343;
+ fiat_secp256k1_addcarryx_u32(&x342, &x343, 0x0, (arg1[5]), x324);
+ uint32_t x344;
+ fiat_secp256k1_uint1 x345;
+ fiat_secp256k1_addcarryx_u32(&x344, &x345, x343, 0x0, x326);
+ uint32_t x346;
+ fiat_secp256k1_uint1 x347;
+ fiat_secp256k1_addcarryx_u32(&x346, &x347, x345, 0x0, x328);
+ uint32_t x348;
+ fiat_secp256k1_uint1 x349;
+ fiat_secp256k1_addcarryx_u32(&x348, &x349, x347, 0x0, x330);
+ uint32_t x350;
+ fiat_secp256k1_uint1 x351;
+ fiat_secp256k1_addcarryx_u32(&x350, &x351, x349, 0x0, x332);
+ uint32_t x352;
+ fiat_secp256k1_uint1 x353;
+ fiat_secp256k1_addcarryx_u32(&x352, &x353, x351, 0x0, x334);
+ uint32_t x354;
+ fiat_secp256k1_uint1 x355;
+ fiat_secp256k1_addcarryx_u32(&x354, &x355, x353, 0x0, x336);
+ uint32_t x356;
+ fiat_secp256k1_uint1 x357;
+ fiat_secp256k1_addcarryx_u32(&x356, &x357, x355, 0x0, x340);
+ uint32_t x358;
+ fiat_secp256k1_uint1 x359;
+ fiat_secp256k1_addcarryx_u32(&x358, &x359, x341, 0x0, x289);
+ uint32_t x360;
+ fiat_secp256k1_uint1 x361;
+ fiat_secp256k1_addcarryx_u32(&x360, &x361, x357, 0x0, (fiat_secp256k1_uint1)x358);
+ uint32_t x362;
+ uint32_t x363;
+ fiat_secp256k1_mulx_u32(&x362, &x363, x342, UINT32_C(0xd2253531));
+ uint32_t x364;
+ uint32_t x365;
+ fiat_secp256k1_mulx_u32(&x364, &x365, x362, UINT32_C(0xffffffff));
+ uint32_t x366;
+ uint32_t x367;
+ fiat_secp256k1_mulx_u32(&x366, &x367, x362, UINT32_C(0xffffffff));
+ uint32_t x368;
+ uint32_t x369;
+ fiat_secp256k1_mulx_u32(&x368, &x369, x362, UINT32_C(0xffffffff));
+ uint32_t x370;
+ uint32_t x371;
+ fiat_secp256k1_mulx_u32(&x370, &x371, x362, UINT32_C(0xffffffff));
+ uint32_t x372;
+ uint32_t x373;
+ fiat_secp256k1_mulx_u32(&x372, &x373, x362, UINT32_C(0xffffffff));
+ uint32_t x374;
+ uint32_t x375;
+ fiat_secp256k1_mulx_u32(&x374, &x375, x362, UINT32_C(0xffffffff));
+ uint32_t x376;
+ uint32_t x377;
+ fiat_secp256k1_mulx_u32(&x376, &x377, x362, UINT32_C(0xfffffffe));
+ uint32_t x378;
+ uint32_t x379;
+ fiat_secp256k1_mulx_u32(&x378, &x379, x362, UINT32_C(0xfffffc2f));
+ uint32_t x380;
+ fiat_secp256k1_uint1 x381;
+ fiat_secp256k1_addcarryx_u32(&x380, &x381, 0x0, x376, x379);
+ uint32_t x382;
+ fiat_secp256k1_uint1 x383;
+ fiat_secp256k1_addcarryx_u32(&x382, &x383, x381, x374, x377);
+ uint32_t x384;
+ fiat_secp256k1_uint1 x385;
+ fiat_secp256k1_addcarryx_u32(&x384, &x385, x383, x372, x375);
+ uint32_t x386;
+ fiat_secp256k1_uint1 x387;
+ fiat_secp256k1_addcarryx_u32(&x386, &x387, x385, x370, x373);
+ uint32_t x388;
+ fiat_secp256k1_uint1 x389;
+ fiat_secp256k1_addcarryx_u32(&x388, &x389, x387, x368, x371);
+ uint32_t x390;
+ fiat_secp256k1_uint1 x391;
+ fiat_secp256k1_addcarryx_u32(&x390, &x391, x389, x366, x369);
+ uint32_t x392;
+ fiat_secp256k1_uint1 x393;
+ fiat_secp256k1_addcarryx_u32(&x392, &x393, x391, x364, x367);
+ uint32_t x394;
+ fiat_secp256k1_uint1 x395;
+ fiat_secp256k1_addcarryx_u32(&x394, &x395, 0x0, x378, x342);
+ uint32_t x396;
+ fiat_secp256k1_uint1 x397;
+ fiat_secp256k1_addcarryx_u32(&x396, &x397, x395, x380, x344);
+ uint32_t x398;
+ fiat_secp256k1_uint1 x399;
+ fiat_secp256k1_addcarryx_u32(&x398, &x399, x397, x382, x346);
+ uint32_t x400;
+ fiat_secp256k1_uint1 x401;
+ fiat_secp256k1_addcarryx_u32(&x400, &x401, x399, x384, x348);
+ uint32_t x402;
+ fiat_secp256k1_uint1 x403;
+ fiat_secp256k1_addcarryx_u32(&x402, &x403, x401, x386, x350);
+ uint32_t x404;
+ fiat_secp256k1_uint1 x405;
+ fiat_secp256k1_addcarryx_u32(&x404, &x405, x403, x388, x352);
+ uint32_t x406;
+ fiat_secp256k1_uint1 x407;
+ fiat_secp256k1_addcarryx_u32(&x406, &x407, x405, x390, x354);
+ uint32_t x408;
+ fiat_secp256k1_uint1 x409;
+ fiat_secp256k1_addcarryx_u32(&x408, &x409, x407, x392, x356);
+ uint32_t x410;
+ fiat_secp256k1_uint1 x411;
+ fiat_secp256k1_addcarryx_u32(&x410, &x411, x393, 0x0, x365);
+ uint32_t x412;
+ fiat_secp256k1_uint1 x413;
+ fiat_secp256k1_addcarryx_u32(&x412, &x413, x409, x410, x360);
+ uint32_t x414;
+ fiat_secp256k1_uint1 x415;
+ fiat_secp256k1_addcarryx_u32(&x414, &x415, 0x0, (arg1[6]), x396);
+ uint32_t x416;
+ fiat_secp256k1_uint1 x417;
+ fiat_secp256k1_addcarryx_u32(&x416, &x417, x415, 0x0, x398);
+ uint32_t x418;
+ fiat_secp256k1_uint1 x419;
+ fiat_secp256k1_addcarryx_u32(&x418, &x419, x417, 0x0, x400);
+ uint32_t x420;
+ fiat_secp256k1_uint1 x421;
+ fiat_secp256k1_addcarryx_u32(&x420, &x421, x419, 0x0, x402);
+ uint32_t x422;
+ fiat_secp256k1_uint1 x423;
+ fiat_secp256k1_addcarryx_u32(&x422, &x423, x421, 0x0, x404);
+ uint32_t x424;
+ fiat_secp256k1_uint1 x425;
+ fiat_secp256k1_addcarryx_u32(&x424, &x425, x423, 0x0, x406);
+ uint32_t x426;
+ fiat_secp256k1_uint1 x427;
+ fiat_secp256k1_addcarryx_u32(&x426, &x427, x425, 0x0, x408);
+ uint32_t x428;
+ fiat_secp256k1_uint1 x429;
+ fiat_secp256k1_addcarryx_u32(&x428, &x429, x427, 0x0, x412);
+ uint32_t x430;
+ fiat_secp256k1_uint1 x431;
+ fiat_secp256k1_addcarryx_u32(&x430, &x431, x413, 0x0, x361);
+ uint32_t x432;
+ fiat_secp256k1_uint1 x433;
+ fiat_secp256k1_addcarryx_u32(&x432, &x433, x429, 0x0, (fiat_secp256k1_uint1)x430);
+ uint32_t x434;
+ uint32_t x435;
+ fiat_secp256k1_mulx_u32(&x434, &x435, x414, UINT32_C(0xd2253531));
+ uint32_t x436;
+ uint32_t x437;
+ fiat_secp256k1_mulx_u32(&x436, &x437, x434, UINT32_C(0xffffffff));
+ uint32_t x438;
+ uint32_t x439;
+ fiat_secp256k1_mulx_u32(&x438, &x439, x434, UINT32_C(0xffffffff));
+ uint32_t x440;
+ uint32_t x441;
+ fiat_secp256k1_mulx_u32(&x440, &x441, x434, UINT32_C(0xffffffff));
+ uint32_t x442;
+ uint32_t x443;
+ fiat_secp256k1_mulx_u32(&x442, &x443, x434, UINT32_C(0xffffffff));
+ uint32_t x444;
+ uint32_t x445;
+ fiat_secp256k1_mulx_u32(&x444, &x445, x434, UINT32_C(0xffffffff));
+ uint32_t x446;
+ uint32_t x447;
+ fiat_secp256k1_mulx_u32(&x446, &x447, x434, UINT32_C(0xffffffff));
+ uint32_t x448;
+ uint32_t x449;
+ fiat_secp256k1_mulx_u32(&x448, &x449, x434, UINT32_C(0xfffffffe));
+ uint32_t x450;
+ uint32_t x451;
+ fiat_secp256k1_mulx_u32(&x450, &x451, x434, UINT32_C(0xfffffc2f));
+ uint32_t x452;
+ fiat_secp256k1_uint1 x453;
+ fiat_secp256k1_addcarryx_u32(&x452, &x453, 0x0, x448, x451);
+ uint32_t x454;
+ fiat_secp256k1_uint1 x455;
+ fiat_secp256k1_addcarryx_u32(&x454, &x455, x453, x446, x449);
+ uint32_t x456;
+ fiat_secp256k1_uint1 x457;
+ fiat_secp256k1_addcarryx_u32(&x456, &x457, x455, x444, x447);
+ uint32_t x458;
+ fiat_secp256k1_uint1 x459;
+ fiat_secp256k1_addcarryx_u32(&x458, &x459, x457, x442, x445);
+ uint32_t x460;
+ fiat_secp256k1_uint1 x461;
+ fiat_secp256k1_addcarryx_u32(&x460, &x461, x459, x440, x443);
+ uint32_t x462;
+ fiat_secp256k1_uint1 x463;
+ fiat_secp256k1_addcarryx_u32(&x462, &x463, x461, x438, x441);
+ uint32_t x464;
+ fiat_secp256k1_uint1 x465;
+ fiat_secp256k1_addcarryx_u32(&x464, &x465, x463, x436, x439);
+ uint32_t x466;
+ fiat_secp256k1_uint1 x467;
+ fiat_secp256k1_addcarryx_u32(&x466, &x467, 0x0, x450, x414);
+ uint32_t x468;
+ fiat_secp256k1_uint1 x469;
+ fiat_secp256k1_addcarryx_u32(&x468, &x469, x467, x452, x416);
+ uint32_t x470;
+ fiat_secp256k1_uint1 x471;
+ fiat_secp256k1_addcarryx_u32(&x470, &x471, x469, x454, x418);
+ uint32_t x472;
+ fiat_secp256k1_uint1 x473;
+ fiat_secp256k1_addcarryx_u32(&x472, &x473, x471, x456, x420);
+ uint32_t x474;
+ fiat_secp256k1_uint1 x475;
+ fiat_secp256k1_addcarryx_u32(&x474, &x475, x473, x458, x422);
+ uint32_t x476;
+ fiat_secp256k1_uint1 x477;
+ fiat_secp256k1_addcarryx_u32(&x476, &x477, x475, x460, x424);
+ uint32_t x478;
+ fiat_secp256k1_uint1 x479;
+ fiat_secp256k1_addcarryx_u32(&x478, &x479, x477, x462, x426);
+ uint32_t x480;
+ fiat_secp256k1_uint1 x481;
+ fiat_secp256k1_addcarryx_u32(&x480, &x481, x479, x464, x428);
+ uint32_t x482;
+ fiat_secp256k1_uint1 x483;
+ fiat_secp256k1_addcarryx_u32(&x482, &x483, x465, 0x0, x437);
+ uint32_t x484;
+ fiat_secp256k1_uint1 x485;
+ fiat_secp256k1_addcarryx_u32(&x484, &x485, x481, x482, x432);
+ uint32_t x486;
+ fiat_secp256k1_uint1 x487;
+ fiat_secp256k1_addcarryx_u32(&x486, &x487, 0x0, (arg1[7]), x468);
+ uint32_t x488;
+ fiat_secp256k1_uint1 x489;
+ fiat_secp256k1_addcarryx_u32(&x488, &x489, x487, 0x0, x470);
+ uint32_t x490;
+ fiat_secp256k1_uint1 x491;
+ fiat_secp256k1_addcarryx_u32(&x490, &x491, x489, 0x0, x472);
+ uint32_t x492;
+ fiat_secp256k1_uint1 x493;
+ fiat_secp256k1_addcarryx_u32(&x492, &x493, x491, 0x0, x474);
+ uint32_t x494;
+ fiat_secp256k1_uint1 x495;
+ fiat_secp256k1_addcarryx_u32(&x494, &x495, x493, 0x0, x476);
+ uint32_t x496;
+ fiat_secp256k1_uint1 x497;
+ fiat_secp256k1_addcarryx_u32(&x496, &x497, x495, 0x0, x478);
+ uint32_t x498;
+ fiat_secp256k1_uint1 x499;
+ fiat_secp256k1_addcarryx_u32(&x498, &x499, x497, 0x0, x480);
+ uint32_t x500;
+ fiat_secp256k1_uint1 x501;
+ fiat_secp256k1_addcarryx_u32(&x500, &x501, x499, 0x0, x484);
+ uint32_t x502;
+ fiat_secp256k1_uint1 x503;
+ fiat_secp256k1_addcarryx_u32(&x502, &x503, x485, 0x0, x433);
+ uint32_t x504;
+ fiat_secp256k1_uint1 x505;
+ fiat_secp256k1_addcarryx_u32(&x504, &x505, x501, 0x0, (fiat_secp256k1_uint1)x502);
+ uint32_t x506;
+ uint32_t x507;
+ fiat_secp256k1_mulx_u32(&x506, &x507, x486, UINT32_C(0xd2253531));
+ uint32_t x508;
+ uint32_t x509;
+ fiat_secp256k1_mulx_u32(&x508, &x509, x506, UINT32_C(0xffffffff));
+ uint32_t x510;
+ uint32_t x511;
+ fiat_secp256k1_mulx_u32(&x510, &x511, x506, UINT32_C(0xffffffff));
+ uint32_t x512;
+ uint32_t x513;
+ fiat_secp256k1_mulx_u32(&x512, &x513, x506, UINT32_C(0xffffffff));
+ uint32_t x514;
+ uint32_t x515;
+ fiat_secp256k1_mulx_u32(&x514, &x515, x506, UINT32_C(0xffffffff));
+ uint32_t x516;
+ uint32_t x517;
+ fiat_secp256k1_mulx_u32(&x516, &x517, x506, UINT32_C(0xffffffff));
+ uint32_t x518;
+ uint32_t x519;
+ fiat_secp256k1_mulx_u32(&x518, &x519, x506, UINT32_C(0xffffffff));
+ uint32_t x520;
+ uint32_t x521;
+ fiat_secp256k1_mulx_u32(&x520, &x521, x506, UINT32_C(0xfffffffe));
+ uint32_t x522;
+ uint32_t x523;
+ fiat_secp256k1_mulx_u32(&x522, &x523, x506, UINT32_C(0xfffffc2f));
+ uint32_t x524;
+ fiat_secp256k1_uint1 x525;
+ fiat_secp256k1_addcarryx_u32(&x524, &x525, 0x0, x520, x523);
+ uint32_t x526;
+ fiat_secp256k1_uint1 x527;
+ fiat_secp256k1_addcarryx_u32(&x526, &x527, x525, x518, x521);
+ uint32_t x528;
+ fiat_secp256k1_uint1 x529;
+ fiat_secp256k1_addcarryx_u32(&x528, &x529, x527, x516, x519);
+ uint32_t x530;
+ fiat_secp256k1_uint1 x531;
+ fiat_secp256k1_addcarryx_u32(&x530, &x531, x529, x514, x517);
+ uint32_t x532;
+ fiat_secp256k1_uint1 x533;
+ fiat_secp256k1_addcarryx_u32(&x532, &x533, x531, x512, x515);
+ uint32_t x534;
+ fiat_secp256k1_uint1 x535;
+ fiat_secp256k1_addcarryx_u32(&x534, &x535, x533, x510, x513);
+ uint32_t x536;
+ fiat_secp256k1_uint1 x537;
+ fiat_secp256k1_addcarryx_u32(&x536, &x537, x535, x508, x511);
+ uint32_t x538;
+ fiat_secp256k1_uint1 x539;
+ fiat_secp256k1_addcarryx_u32(&x538, &x539, 0x0, x522, x486);
+ uint32_t x540;
+ fiat_secp256k1_uint1 x541;
+ fiat_secp256k1_addcarryx_u32(&x540, &x541, x539, x524, x488);
+ uint32_t x542;
+ fiat_secp256k1_uint1 x543;
+ fiat_secp256k1_addcarryx_u32(&x542, &x543, x541, x526, x490);
+ uint32_t x544;
+ fiat_secp256k1_uint1 x545;
+ fiat_secp256k1_addcarryx_u32(&x544, &x545, x543, x528, x492);
+ uint32_t x546;
+ fiat_secp256k1_uint1 x547;
+ fiat_secp256k1_addcarryx_u32(&x546, &x547, x545, x530, x494);
+ uint32_t x548;
+ fiat_secp256k1_uint1 x549;
+ fiat_secp256k1_addcarryx_u32(&x548, &x549, x547, x532, x496);
+ uint32_t x550;
+ fiat_secp256k1_uint1 x551;
+ fiat_secp256k1_addcarryx_u32(&x550, &x551, x549, x534, x498);
+ uint32_t x552;
+ fiat_secp256k1_uint1 x553;
+ fiat_secp256k1_addcarryx_u32(&x552, &x553, x551, x536, x500);
+ uint32_t x554;
+ fiat_secp256k1_uint1 x555;
+ fiat_secp256k1_addcarryx_u32(&x554, &x555, x537, 0x0, x509);
+ uint32_t x556;
+ fiat_secp256k1_uint1 x557;
+ fiat_secp256k1_addcarryx_u32(&x556, &x557, x553, x554, x504);
+ uint32_t x558;
+ fiat_secp256k1_uint1 x559;
+ fiat_secp256k1_subborrowx_u32(&x558, &x559, 0x0, x540, UINT32_C(0xfffffc2f));
+ uint32_t x560;
+ fiat_secp256k1_uint1 x561;
+ fiat_secp256k1_subborrowx_u32(&x560, &x561, x559, x542, UINT32_C(0xfffffffe));
+ uint32_t x562;
+ fiat_secp256k1_uint1 x563;
+ fiat_secp256k1_subborrowx_u32(&x562, &x563, x561, x544, UINT32_C(0xffffffff));
+ uint32_t x564;
+ fiat_secp256k1_uint1 x565;
+ fiat_secp256k1_subborrowx_u32(&x564, &x565, x563, x546, UINT32_C(0xffffffff));
+ uint32_t x566;
+ fiat_secp256k1_uint1 x567;
+ fiat_secp256k1_subborrowx_u32(&x566, &x567, x565, x548, UINT32_C(0xffffffff));
+ uint32_t x568;
+ fiat_secp256k1_uint1 x569;
+ fiat_secp256k1_subborrowx_u32(&x568, &x569, x567, x550, UINT32_C(0xffffffff));
+ uint32_t x570;
+ fiat_secp256k1_uint1 x571;
+ fiat_secp256k1_subborrowx_u32(&x570, &x571, x569, x552, UINT32_C(0xffffffff));
+ uint32_t x572;
+ fiat_secp256k1_uint1 x573;
+ fiat_secp256k1_subborrowx_u32(&x572, &x573, x571, x556, UINT32_C(0xffffffff));
+ uint32_t x574;
+ fiat_secp256k1_uint1 x575;
+ fiat_secp256k1_addcarryx_u32(&x574, &x575, x557, 0x0, x505);
+ uint32_t x576;
+ fiat_secp256k1_uint1 x577;
+ fiat_secp256k1_subborrowx_u32(&x576, &x577, x573, (fiat_secp256k1_uint1)x574, 0x0);
+ uint32_t x578;
+ fiat_secp256k1_cmovznz_u32(&x578, x577, x558, x540);
+ uint32_t x579;
+ fiat_secp256k1_cmovznz_u32(&x579, x577, x560, x542);
+ uint32_t x580;
+ fiat_secp256k1_cmovznz_u32(&x580, x577, x562, x544);
+ uint32_t x581;
+ fiat_secp256k1_cmovznz_u32(&x581, x577, x564, x546);
+ uint32_t x582;
+ fiat_secp256k1_cmovznz_u32(&x582, x577, x566, x548);
+ uint32_t x583;
+ fiat_secp256k1_cmovznz_u32(&x583, x577, x568, x550);
+ uint32_t x584;
+ fiat_secp256k1_cmovznz_u32(&x584, x577, x570, x552);
+ uint32_t x585;
+ fiat_secp256k1_cmovznz_u32(&x585, x577, x572, x556);
+ out1[0] = x578;
+ out1[1] = x579;
+ out1[2] = x580;
+ out1[3] = x581;
+ out1[4] = x582;
+ out1[5] = x583;
+ out1[6] = x584;
+ out1[7] = x585;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffff]
+ */
+static void fiat_secp256k1_nonzero(uint32_t* out1, const uint32_t arg1[8]) {
+ uint32_t x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | ((arg1[4]) | ((arg1[5]) | ((arg1[6]) | ((arg1[7]) | (uint32_t)0x0))))))));
+ *out1 = x1;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * arg3: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_secp256k1_selectznz(uint32_t out1[8], fiat_secp256k1_uint1 arg1, const uint32_t arg2[8], const uint32_t arg3[8]) {
+ uint32_t x1;
+ fiat_secp256k1_cmovznz_u32(&x1, arg1, (arg2[0]), (arg3[0]));
+ uint32_t x2;
+ fiat_secp256k1_cmovznz_u32(&x2, arg1, (arg2[1]), (arg3[1]));
+ uint32_t x3;
+ fiat_secp256k1_cmovznz_u32(&x3, arg1, (arg2[2]), (arg3[2]));
+ uint32_t x4;
+ fiat_secp256k1_cmovznz_u32(&x4, arg1, (arg2[3]), (arg3[3]));
+ uint32_t x5;
+ fiat_secp256k1_cmovznz_u32(&x5, arg1, (arg2[4]), (arg3[4]));
+ uint32_t x6;
+ fiat_secp256k1_cmovznz_u32(&x6, arg1, (arg2[5]), (arg3[5]));
+ uint32_t x7;
+ fiat_secp256k1_cmovznz_u32(&x7, arg1, (arg2[6]), (arg3[6]));
+ uint32_t x8;
+ fiat_secp256k1_cmovznz_u32(&x8, arg1, (arg2[7]), (arg3[7]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+ out1[4] = x5;
+ out1[5] = x6;
+ out1[6] = x7;
+ out1[7] = x8;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
+ */
+static void fiat_secp256k1_to_bytes(uint8_t out1[32], const uint32_t arg1[8]) {
+ uint32_t x1 = (arg1[7]);
+ uint32_t x2 = (arg1[6]);
+ uint32_t x3 = (arg1[5]);
+ uint32_t x4 = (arg1[4]);
+ uint32_t x5 = (arg1[3]);
+ uint32_t x6 = (arg1[2]);
+ uint32_t x7 = (arg1[1]);
+ uint32_t x8 = (arg1[0]);
+ uint32_t x9 = (x8 >> 8);
+ uint8_t x10 = (uint8_t)(x8 & UINT8_C(0xff));
+ uint32_t x11 = (x9 >> 8);
+ uint8_t x12 = (uint8_t)(x9 & UINT8_C(0xff));
+ uint8_t x13 = (uint8_t)(x11 >> 8);
+ uint8_t x14 = (uint8_t)(x11 & UINT8_C(0xff));
+ fiat_secp256k1_uint1 x15 = (fiat_secp256k1_uint1)(x13 >> 8);
+ uint8_t x16 = (uint8_t)(x13 & UINT8_C(0xff));
+ uint32_t x17 = (x15 + x7);
+ uint32_t x18 = (x17 >> 8);
+ uint8_t x19 = (uint8_t)(x17 & UINT8_C(0xff));
+ uint32_t x20 = (x18 >> 8);
+ uint8_t x21 = (uint8_t)(x18 & UINT8_C(0xff));
+ uint8_t x22 = (uint8_t)(x20 >> 8);
+ uint8_t x23 = (uint8_t)(x20 & UINT8_C(0xff));
+ fiat_secp256k1_uint1 x24 = (fiat_secp256k1_uint1)(x22 >> 8);
+ uint8_t x25 = (uint8_t)(x22 & UINT8_C(0xff));
+ uint32_t x26 = (x24 + x6);
+ uint32_t x27 = (x26 >> 8);
+ uint8_t x28 = (uint8_t)(x26 & UINT8_C(0xff));
+ uint32_t x29 = (x27 >> 8);
+ uint8_t x30 = (uint8_t)(x27 & UINT8_C(0xff));
+ uint8_t x31 = (uint8_t)(x29 >> 8);
+ uint8_t x32 = (uint8_t)(x29 & UINT8_C(0xff));
+ fiat_secp256k1_uint1 x33 = (fiat_secp256k1_uint1)(x31 >> 8);
+ uint8_t x34 = (uint8_t)(x31 & UINT8_C(0xff));
+ uint32_t x35 = (x33 + x5);
+ uint32_t x36 = (x35 >> 8);
+ uint8_t x37 = (uint8_t)(x35 & UINT8_C(0xff));
+ uint32_t x38 = (x36 >> 8);
+ uint8_t x39 = (uint8_t)(x36 & UINT8_C(0xff));
+ uint8_t x40 = (uint8_t)(x38 >> 8);
+ uint8_t x41 = (uint8_t)(x38 & UINT8_C(0xff));
+ fiat_secp256k1_uint1 x42 = (fiat_secp256k1_uint1)(x40 >> 8);
+ uint8_t x43 = (uint8_t)(x40 & UINT8_C(0xff));
+ uint32_t x44 = (x42 + x4);
+ uint32_t x45 = (x44 >> 8);
+ uint8_t x46 = (uint8_t)(x44 & UINT8_C(0xff));
+ uint32_t x47 = (x45 >> 8);
+ uint8_t x48 = (uint8_t)(x45 & UINT8_C(0xff));
+ uint8_t x49 = (uint8_t)(x47 >> 8);
+ uint8_t x50 = (uint8_t)(x47 & UINT8_C(0xff));
+ fiat_secp256k1_uint1 x51 = (fiat_secp256k1_uint1)(x49 >> 8);
+ uint8_t x52 = (uint8_t)(x49 & UINT8_C(0xff));
+ uint32_t x53 = (x51 + x3);
+ uint32_t x54 = (x53 >> 8);
+ uint8_t x55 = (uint8_t)(x53 & UINT8_C(0xff));
+ uint32_t x56 = (x54 >> 8);
+ uint8_t x57 = (uint8_t)(x54 & UINT8_C(0xff));
+ uint8_t x58 = (uint8_t)(x56 >> 8);
+ uint8_t x59 = (uint8_t)(x56 & UINT8_C(0xff));
+ fiat_secp256k1_uint1 x60 = (fiat_secp256k1_uint1)(x58 >> 8);
+ uint8_t x61 = (uint8_t)(x58 & UINT8_C(0xff));
+ uint32_t x62 = (x60 + x2);
+ uint32_t x63 = (x62 >> 8);
+ uint8_t x64 = (uint8_t)(x62 & UINT8_C(0xff));
+ uint32_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));
+ fiat_secp256k1_uint1 x69 = (fiat_secp256k1_uint1)(x67 >> 8);
+ uint8_t x70 = (uint8_t)(x67 & UINT8_C(0xff));
+ uint32_t x71 = (x69 + x1);
+ uint32_t x72 = (x71 >> 8);
+ uint8_t x73 = (uint8_t)(x71 & UINT8_C(0xff));
+ uint32_t x74 = (x72 >> 8);
+ uint8_t x75 = (uint8_t)(x72 & UINT8_C(0xff));
+ uint8_t x76 = (uint8_t)(x74 >> 8);
+ uint8_t x77 = (uint8_t)(x74 & UINT8_C(0xff));
+ out1[0] = x10;
+ out1[1] = x12;
+ out1[2] = x14;
+ out1[3] = x16;
+ out1[4] = x19;
+ out1[5] = x21;
+ out1[6] = x23;
+ out1[7] = x25;
+ out1[8] = x28;
+ out1[9] = x30;
+ out1[10] = x32;
+ out1[11] = x34;
+ out1[12] = x37;
+ out1[13] = x39;
+ out1[14] = x41;
+ out1[15] = x43;
+ out1[16] = x46;
+ out1[17] = x48;
+ out1[18] = x50;
+ out1[19] = x52;
+ out1[20] = x55;
+ out1[21] = x57;
+ out1[22] = x59;
+ out1[23] = x61;
+ out1[24] = x64;
+ out1[25] = x66;
+ out1[26] = x68;
+ out1[27] = x70;
+ out1[28] = x73;
+ out1[29] = x75;
+ out1[30] = x77;
+ out1[31] = x76;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff], [0x0 ~> 0xffffffff]]
+ */
+static void fiat_secp256k1_from_bytes(uint32_t out1[8], const uint8_t arg1[32]) {
+ uint32_t x1 = ((uint32_t)(arg1[31]) << 24);
+ uint32_t x2 = ((uint32_t)(arg1[30]) << 16);
+ uint32_t x3 = ((uint32_t)(arg1[29]) << 8);
+ uint8_t x4 = (arg1[28]);
+ uint32_t x5 = ((uint32_t)(arg1[27]) << 24);
+ uint32_t x6 = ((uint32_t)(arg1[26]) << 16);
+ uint32_t x7 = ((uint32_t)(arg1[25]) << 8);
+ uint8_t x8 = (arg1[24]);
+ uint32_t x9 = ((uint32_t)(arg1[23]) << 24);
+ uint32_t x10 = ((uint32_t)(arg1[22]) << 16);
+ uint32_t x11 = ((uint32_t)(arg1[21]) << 8);
+ uint8_t x12 = (arg1[20]);
+ uint32_t x13 = ((uint32_t)(arg1[19]) << 24);
+ uint32_t x14 = ((uint32_t)(arg1[18]) << 16);
+ uint32_t x15 = ((uint32_t)(arg1[17]) << 8);
+ uint8_t x16 = (arg1[16]);
+ uint32_t x17 = ((uint32_t)(arg1[15]) << 24);
+ uint32_t x18 = ((uint32_t)(arg1[14]) << 16);
+ uint32_t x19 = ((uint32_t)(arg1[13]) << 8);
+ uint8_t x20 = (arg1[12]);
+ uint32_t x21 = ((uint32_t)(arg1[11]) << 24);
+ uint32_t x22 = ((uint32_t)(arg1[10]) << 16);
+ uint32_t x23 = ((uint32_t)(arg1[9]) << 8);
+ uint8_t x24 = (arg1[8]);
+ uint32_t x25 = ((uint32_t)(arg1[7]) << 24);
+ uint32_t x26 = ((uint32_t)(arg1[6]) << 16);
+ uint32_t x27 = ((uint32_t)(arg1[5]) << 8);
+ uint8_t x28 = (arg1[4]);
+ uint32_t x29 = ((uint32_t)(arg1[3]) << 24);
+ uint32_t x30 = ((uint32_t)(arg1[2]) << 16);
+ uint32_t x31 = ((uint32_t)(arg1[1]) << 8);
+ uint8_t x32 = (arg1[0]);
+ uint32_t x33 = (x32 + (x31 + (x30 + x29)));
+ fiat_secp256k1_uint1 x34 = (fiat_secp256k1_uint1)((uint64_t)x33 >> 32);
+ uint32_t x35 = (x33 & UINT32_C(0xffffffff));
+ uint32_t x36 = (x4 + (x3 + (x2 + x1)));
+ uint32_t x37 = (x8 + (x7 + (x6 + x5)));
+ uint32_t x38 = (x12 + (x11 + (x10 + x9)));
+ uint32_t x39 = (x16 + (x15 + (x14 + x13)));
+ uint32_t x40 = (x20 + (x19 + (x18 + x17)));
+ uint32_t x41 = (x24 + (x23 + (x22 + x21)));
+ uint32_t x42 = (x28 + (x27 + (x26 + x25)));
+ uint32_t x43 = (x34 + x42);
+ fiat_secp256k1_uint1 x44 = (fiat_secp256k1_uint1)((uint64_t)x43 >> 32);
+ uint32_t x45 = (x43 & UINT32_C(0xffffffff));
+ uint32_t x46 = (x44 + x41);
+ fiat_secp256k1_uint1 x47 = (fiat_secp256k1_uint1)((uint64_t)x46 >> 32);
+ uint32_t x48 = (x46 & UINT32_C(0xffffffff));
+ uint32_t x49 = (x47 + x40);
+ fiat_secp256k1_uint1 x50 = (fiat_secp256k1_uint1)((uint64_t)x49 >> 32);
+ uint32_t x51 = (x49 & UINT32_C(0xffffffff));
+ uint32_t x52 = (x50 + x39);
+ fiat_secp256k1_uint1 x53 = (fiat_secp256k1_uint1)((uint64_t)x52 >> 32);
+ uint32_t x54 = (x52 & UINT32_C(0xffffffff));
+ uint32_t x55 = (x53 + x38);
+ fiat_secp256k1_uint1 x56 = (fiat_secp256k1_uint1)((uint64_t)x55 >> 32);
+ uint32_t x57 = (x55 & UINT32_C(0xffffffff));
+ uint32_t x58 = (x56 + x37);
+ fiat_secp256k1_uint1 x59 = (fiat_secp256k1_uint1)((uint64_t)x58 >> 32);
+ uint32_t x60 = (x58 & UINT32_C(0xffffffff));
+ uint32_t x61 = (x59 + x36);
+ out1[0] = x35;
+ out1[1] = x45;
+ out1[2] = x48;
+ out1[3] = x51;
+ out1[4] = x54;
+ out1[5] = x57;
+ out1[6] = x60;
+ out1[7] = x61;
+}
+
diff --git a/secp256k1_64.c b/secp256k1_64.c
new file mode 100644
index 000000000..729a8a2c2
--- /dev/null
+++ b/secp256k1_64.c
@@ -0,0 +1,1401 @@
+/* Autogenerated */
+/* curve description: secp256k1 */
+/* requested operations: (all) */
+/* s = 0x10000000000000000000000000000000000000000000000000000000000000000 (from "2^256") */
+/* c = [(4294967296, 1), (1, 977)] (from "2^32,1;1,977") */
+/* machine_wordsize = 64 (from "64") */
+/* */
+/* NOTE: In addition to the bounds specified above each function, all */
+/* functions synthesized for this Montgomery arithmetic require the */
+/* input to be strictly less than the prime modulus (s-c), and also */
+/* require the input to be in the unique saturated representation. */
+/* All functions also ensure that these two properties are true of */
+/* return values. */
+
+#include <stdint.h>
+typedef unsigned char fiat_secp256k1_uint1;
+typedef signed char fiat_secp256k1_int1;
+typedef signed __int128 fiat_secp256k1_int128;
+typedef unsigned __int128 fiat_secp256k1_uint128;
+
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffffffffffff]
+ * arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_secp256k1_addcarryx_u64(uint64_t* out1, fiat_secp256k1_uint1* out2, fiat_secp256k1_uint1 arg1, uint64_t arg2, uint64_t arg3) {
+ fiat_secp256k1_uint128 x1 = ((arg1 + (fiat_secp256k1_uint128)arg2) + arg3);
+ uint64_t x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+ fiat_secp256k1_uint1 x3 = (fiat_secp256k1_uint1)(x1 >> 64);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffffffffffff]
+ * arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ * out2: [0x0 ~> 0x1]
+ */
+static void fiat_secp256k1_subborrowx_u64(uint64_t* out1, fiat_secp256k1_uint1* out2, fiat_secp256k1_uint1 arg1, uint64_t arg2, uint64_t arg3) {
+ fiat_secp256k1_int128 x1 = ((arg2 - (fiat_secp256k1_int128)arg1) - arg3);
+ fiat_secp256k1_int1 x2 = (fiat_secp256k1_int1)((fiat_secp256k1_uint128)x1 >> 64);
+ uint64_t x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+ *out1 = x3;
+ *out2 = (fiat_secp256k1_uint1)(0x0 - x2);
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0xffffffffffffffff]
+ * arg2: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ * out2: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_secp256k1_mulx_u64(uint64_t* out1, uint64_t* out2, uint64_t arg1, uint64_t arg2) {
+ fiat_secp256k1_uint128 x1 = ((fiat_secp256k1_uint128)arg1 * arg2);
+ uint64_t x2 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
+ uint64_t x3 = (uint64_t)(x1 >> 64);
+ *out1 = x2;
+ *out2 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [0x0 ~> 0xffffffffffffffff]
+ * arg3: [0x0 ~> 0xffffffffffffffff]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_secp256k1_cmovznz_u64(uint64_t* out1, fiat_secp256k1_uint1 arg1, uint64_t arg2, uint64_t arg3) {
+ fiat_secp256k1_uint1 x1 = (!(!arg1));
+ uint64_t x2 = ((fiat_secp256k1_int1)(0x0 - x1) & UINT64_C(0xffffffffffffffff));
+ uint64_t x3 = ((x2 & arg3) | (uint64_t)((fiat_secp256k1_uint128)(~x2) & arg2));
+ *out1 = x3;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_secp256k1_mul(uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
+ uint64_t x1 = (arg1[1]);
+ uint64_t x2 = (arg1[2]);
+ uint64_t x3 = (arg1[3]);
+ uint64_t x4 = (arg1[0]);
+ uint64_t x5;
+ uint64_t x6;
+ fiat_secp256k1_mulx_u64(&x5, &x6, x4, (arg2[3]));
+ uint64_t x7;
+ uint64_t x8;
+ fiat_secp256k1_mulx_u64(&x7, &x8, x4, (arg2[2]));
+ uint64_t x9;
+ uint64_t x10;
+ fiat_secp256k1_mulx_u64(&x9, &x10, x4, (arg2[1]));
+ uint64_t x11;
+ uint64_t x12;
+ fiat_secp256k1_mulx_u64(&x11, &x12, x4, (arg2[0]));
+ uint64_t x13;
+ fiat_secp256k1_uint1 x14;
+ fiat_secp256k1_addcarryx_u64(&x13, &x14, 0x0, x9, x12);
+ uint64_t x15;
+ fiat_secp256k1_uint1 x16;
+ fiat_secp256k1_addcarryx_u64(&x15, &x16, x14, x7, x10);
+ uint64_t x17;
+ fiat_secp256k1_uint1 x18;
+ fiat_secp256k1_addcarryx_u64(&x17, &x18, x16, x5, x8);
+ uint64_t x19;
+ fiat_secp256k1_uint1 x20;
+ fiat_secp256k1_addcarryx_u64(&x19, &x20, x18, 0x0, x6);
+ uint64_t x21;
+ uint64_t x22;
+ fiat_secp256k1_mulx_u64(&x21, &x22, x11, UINT64_C(0xd838091dd2253531));
+ uint64_t x23;
+ uint64_t x24;
+ fiat_secp256k1_mulx_u64(&x23, &x24, x21, UINT64_C(0xffffffffffffffff));
+ uint64_t x25;
+ uint64_t x26;
+ fiat_secp256k1_mulx_u64(&x25, &x26, x21, UINT64_C(0xffffffffffffffff));
+ uint64_t x27;
+ uint64_t x28;
+ fiat_secp256k1_mulx_u64(&x27, &x28, x21, UINT64_C(0xffffffffffffffff));
+ uint64_t x29;
+ uint64_t x30;
+ fiat_secp256k1_mulx_u64(&x29, &x30, x21, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x31;
+ fiat_secp256k1_uint1 x32;
+ fiat_secp256k1_addcarryx_u64(&x31, &x32, 0x0, x27, x30);
+ uint64_t x33;
+ fiat_secp256k1_uint1 x34;
+ fiat_secp256k1_addcarryx_u64(&x33, &x34, x32, x25, x28);
+ uint64_t x35;
+ fiat_secp256k1_uint1 x36;
+ fiat_secp256k1_addcarryx_u64(&x35, &x36, x34, x23, x26);
+ uint64_t x37;
+ fiat_secp256k1_uint1 x38;
+ fiat_secp256k1_addcarryx_u64(&x37, &x38, x36, 0x0, x24);
+ uint64_t x39;
+ fiat_secp256k1_uint1 x40;
+ fiat_secp256k1_addcarryx_u64(&x39, &x40, 0x0, x29, x11);
+ uint64_t x41;
+ fiat_secp256k1_uint1 x42;
+ fiat_secp256k1_addcarryx_u64(&x41, &x42, x40, x31, x13);
+ uint64_t x43;
+ fiat_secp256k1_uint1 x44;
+ fiat_secp256k1_addcarryx_u64(&x43, &x44, x42, x33, x15);
+ uint64_t x45;
+ fiat_secp256k1_uint1 x46;
+ fiat_secp256k1_addcarryx_u64(&x45, &x46, x44, x35, x17);
+ uint64_t x47;
+ fiat_secp256k1_uint1 x48;
+ fiat_secp256k1_addcarryx_u64(&x47, &x48, x46, x37, x19);
+ uint64_t x49;
+ fiat_secp256k1_uint1 x50;
+ fiat_secp256k1_addcarryx_u64(&x49, &x50, x48, 0x0, 0x0);
+ uint64_t x51;
+ uint64_t x52;
+ fiat_secp256k1_mulx_u64(&x51, &x52, x1, (arg2[3]));
+ uint64_t x53;
+ uint64_t x54;
+ fiat_secp256k1_mulx_u64(&x53, &x54, x1, (arg2[2]));
+ uint64_t x55;
+ uint64_t x56;
+ fiat_secp256k1_mulx_u64(&x55, &x56, x1, (arg2[1]));
+ uint64_t x57;
+ uint64_t x58;
+ fiat_secp256k1_mulx_u64(&x57, &x58, x1, (arg2[0]));
+ uint64_t x59;
+ fiat_secp256k1_uint1 x60;
+ fiat_secp256k1_addcarryx_u64(&x59, &x60, 0x0, x55, x58);
+ uint64_t x61;
+ fiat_secp256k1_uint1 x62;
+ fiat_secp256k1_addcarryx_u64(&x61, &x62, x60, x53, x56);
+ uint64_t x63;
+ fiat_secp256k1_uint1 x64;
+ fiat_secp256k1_addcarryx_u64(&x63, &x64, x62, x51, x54);
+ uint64_t x65;
+ fiat_secp256k1_uint1 x66;
+ fiat_secp256k1_addcarryx_u64(&x65, &x66, x64, 0x0, x52);
+ uint64_t x67;
+ fiat_secp256k1_uint1 x68;
+ fiat_secp256k1_addcarryx_u64(&x67, &x68, 0x0, x57, x41);
+ uint64_t x69;
+ fiat_secp256k1_uint1 x70;
+ fiat_secp256k1_addcarryx_u64(&x69, &x70, x68, x59, x43);
+ uint64_t x71;
+ fiat_secp256k1_uint1 x72;
+ fiat_secp256k1_addcarryx_u64(&x71, &x72, x70, x61, x45);
+ uint64_t x73;
+ fiat_secp256k1_uint1 x74;
+ fiat_secp256k1_addcarryx_u64(&x73, &x74, x72, x63, x47);
+ uint64_t x75;
+ fiat_secp256k1_uint1 x76;
+ fiat_secp256k1_addcarryx_u64(&x75, &x76, x74, x65, (fiat_secp256k1_uint1)x49);
+ uint64_t x77;
+ uint64_t x78;
+ fiat_secp256k1_mulx_u64(&x77, &x78, x67, UINT64_C(0xd838091dd2253531));
+ uint64_t x79;
+ uint64_t x80;
+ fiat_secp256k1_mulx_u64(&x79, &x80, x77, UINT64_C(0xffffffffffffffff));
+ uint64_t x81;
+ uint64_t x82;
+ fiat_secp256k1_mulx_u64(&x81, &x82, x77, UINT64_C(0xffffffffffffffff));
+ uint64_t x83;
+ uint64_t x84;
+ fiat_secp256k1_mulx_u64(&x83, &x84, x77, UINT64_C(0xffffffffffffffff));
+ uint64_t x85;
+ uint64_t x86;
+ fiat_secp256k1_mulx_u64(&x85, &x86, x77, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x87;
+ fiat_secp256k1_uint1 x88;
+ fiat_secp256k1_addcarryx_u64(&x87, &x88, 0x0, x83, x86);
+ uint64_t x89;
+ fiat_secp256k1_uint1 x90;
+ fiat_secp256k1_addcarryx_u64(&x89, &x90, x88, x81, x84);
+ uint64_t x91;
+ fiat_secp256k1_uint1 x92;
+ fiat_secp256k1_addcarryx_u64(&x91, &x92, x90, x79, x82);
+ uint64_t x93;
+ fiat_secp256k1_uint1 x94;
+ fiat_secp256k1_addcarryx_u64(&x93, &x94, x92, 0x0, x80);
+ uint64_t x95;
+ fiat_secp256k1_uint1 x96;
+ fiat_secp256k1_addcarryx_u64(&x95, &x96, 0x0, x85, x67);
+ uint64_t x97;
+ fiat_secp256k1_uint1 x98;
+ fiat_secp256k1_addcarryx_u64(&x97, &x98, x96, x87, x69);
+ uint64_t x99;
+ fiat_secp256k1_uint1 x100;
+ fiat_secp256k1_addcarryx_u64(&x99, &x100, x98, x89, x71);
+ uint64_t x101;
+ fiat_secp256k1_uint1 x102;
+ fiat_secp256k1_addcarryx_u64(&x101, &x102, x100, x91, x73);
+ uint64_t x103;
+ fiat_secp256k1_uint1 x104;
+ fiat_secp256k1_addcarryx_u64(&x103, &x104, x102, x93, x75);
+ uint64_t x105;
+ fiat_secp256k1_uint1 x106;
+ fiat_secp256k1_addcarryx_u64(&x105, &x106, x104, 0x0, x76);
+ uint64_t x107;
+ uint64_t x108;
+ fiat_secp256k1_mulx_u64(&x107, &x108, x2, (arg2[3]));
+ uint64_t x109;
+ uint64_t x110;
+ fiat_secp256k1_mulx_u64(&x109, &x110, x2, (arg2[2]));
+ uint64_t x111;
+ uint64_t x112;
+ fiat_secp256k1_mulx_u64(&x111, &x112, x2, (arg2[1]));
+ uint64_t x113;
+ uint64_t x114;
+ fiat_secp256k1_mulx_u64(&x113, &x114, x2, (arg2[0]));
+ uint64_t x115;
+ fiat_secp256k1_uint1 x116;
+ fiat_secp256k1_addcarryx_u64(&x115, &x116, 0x0, x111, x114);
+ uint64_t x117;
+ fiat_secp256k1_uint1 x118;
+ fiat_secp256k1_addcarryx_u64(&x117, &x118, x116, x109, x112);
+ uint64_t x119;
+ fiat_secp256k1_uint1 x120;
+ fiat_secp256k1_addcarryx_u64(&x119, &x120, x118, x107, x110);
+ uint64_t x121;
+ fiat_secp256k1_uint1 x122;
+ fiat_secp256k1_addcarryx_u64(&x121, &x122, x120, 0x0, x108);
+ uint64_t x123;
+ fiat_secp256k1_uint1 x124;
+ fiat_secp256k1_addcarryx_u64(&x123, &x124, 0x0, x113, x97);
+ uint64_t x125;
+ fiat_secp256k1_uint1 x126;
+ fiat_secp256k1_addcarryx_u64(&x125, &x126, x124, x115, x99);
+ uint64_t x127;
+ fiat_secp256k1_uint1 x128;
+ fiat_secp256k1_addcarryx_u64(&x127, &x128, x126, x117, x101);
+ uint64_t x129;
+ fiat_secp256k1_uint1 x130;
+ fiat_secp256k1_addcarryx_u64(&x129, &x130, x128, x119, x103);
+ uint64_t x131;
+ fiat_secp256k1_uint1 x132;
+ fiat_secp256k1_addcarryx_u64(&x131, &x132, x130, x121, x105);
+ uint64_t x133;
+ uint64_t x134;
+ fiat_secp256k1_mulx_u64(&x133, &x134, x123, UINT64_C(0xd838091dd2253531));
+ uint64_t x135;
+ uint64_t x136;
+ fiat_secp256k1_mulx_u64(&x135, &x136, x133, UINT64_C(0xffffffffffffffff));
+ uint64_t x137;
+ uint64_t x138;
+ fiat_secp256k1_mulx_u64(&x137, &x138, x133, UINT64_C(0xffffffffffffffff));
+ uint64_t x139;
+ uint64_t x140;
+ fiat_secp256k1_mulx_u64(&x139, &x140, x133, UINT64_C(0xffffffffffffffff));
+ uint64_t x141;
+ uint64_t x142;
+ fiat_secp256k1_mulx_u64(&x141, &x142, x133, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x143;
+ fiat_secp256k1_uint1 x144;
+ fiat_secp256k1_addcarryx_u64(&x143, &x144, 0x0, x139, x142);
+ uint64_t x145;
+ fiat_secp256k1_uint1 x146;
+ fiat_secp256k1_addcarryx_u64(&x145, &x146, x144, x137, x140);
+ uint64_t x147;
+ fiat_secp256k1_uint1 x148;
+ fiat_secp256k1_addcarryx_u64(&x147, &x148, x146, x135, x138);
+ uint64_t x149;
+ fiat_secp256k1_uint1 x150;
+ fiat_secp256k1_addcarryx_u64(&x149, &x150, x148, 0x0, x136);
+ uint64_t x151;
+ fiat_secp256k1_uint1 x152;
+ fiat_secp256k1_addcarryx_u64(&x151, &x152, 0x0, x141, x123);
+ uint64_t x153;
+ fiat_secp256k1_uint1 x154;
+ fiat_secp256k1_addcarryx_u64(&x153, &x154, x152, x143, x125);
+ uint64_t x155;
+ fiat_secp256k1_uint1 x156;
+ fiat_secp256k1_addcarryx_u64(&x155, &x156, x154, x145, x127);
+ uint64_t x157;
+ fiat_secp256k1_uint1 x158;
+ fiat_secp256k1_addcarryx_u64(&x157, &x158, x156, x147, x129);
+ uint64_t x159;
+ fiat_secp256k1_uint1 x160;
+ fiat_secp256k1_addcarryx_u64(&x159, &x160, x158, x149, x131);
+ uint64_t x161;
+ fiat_secp256k1_uint1 x162;
+ fiat_secp256k1_addcarryx_u64(&x161, &x162, x160, 0x0, x132);
+ uint64_t x163;
+ uint64_t x164;
+ fiat_secp256k1_mulx_u64(&x163, &x164, x3, (arg2[3]));
+ uint64_t x165;
+ uint64_t x166;
+ fiat_secp256k1_mulx_u64(&x165, &x166, x3, (arg2[2]));
+ uint64_t x167;
+ uint64_t x168;
+ fiat_secp256k1_mulx_u64(&x167, &x168, x3, (arg2[1]));
+ uint64_t x169;
+ uint64_t x170;
+ fiat_secp256k1_mulx_u64(&x169, &x170, x3, (arg2[0]));
+ uint64_t x171;
+ fiat_secp256k1_uint1 x172;
+ fiat_secp256k1_addcarryx_u64(&x171, &x172, 0x0, x167, x170);
+ uint64_t x173;
+ fiat_secp256k1_uint1 x174;
+ fiat_secp256k1_addcarryx_u64(&x173, &x174, x172, x165, x168);
+ uint64_t x175;
+ fiat_secp256k1_uint1 x176;
+ fiat_secp256k1_addcarryx_u64(&x175, &x176, x174, x163, x166);
+ uint64_t x177;
+ fiat_secp256k1_uint1 x178;
+ fiat_secp256k1_addcarryx_u64(&x177, &x178, x176, 0x0, x164);
+ uint64_t x179;
+ fiat_secp256k1_uint1 x180;
+ fiat_secp256k1_addcarryx_u64(&x179, &x180, 0x0, x169, x153);
+ uint64_t x181;
+ fiat_secp256k1_uint1 x182;
+ fiat_secp256k1_addcarryx_u64(&x181, &x182, x180, x171, x155);
+ uint64_t x183;
+ fiat_secp256k1_uint1 x184;
+ fiat_secp256k1_addcarryx_u64(&x183, &x184, x182, x173, x157);
+ uint64_t x185;
+ fiat_secp256k1_uint1 x186;
+ fiat_secp256k1_addcarryx_u64(&x185, &x186, x184, x175, x159);
+ uint64_t x187;
+ fiat_secp256k1_uint1 x188;
+ fiat_secp256k1_addcarryx_u64(&x187, &x188, x186, x177, x161);
+ uint64_t x189;
+ uint64_t x190;
+ fiat_secp256k1_mulx_u64(&x189, &x190, x179, UINT64_C(0xd838091dd2253531));
+ uint64_t x191;
+ uint64_t x192;
+ fiat_secp256k1_mulx_u64(&x191, &x192, x189, UINT64_C(0xffffffffffffffff));
+ uint64_t x193;
+ uint64_t x194;
+ fiat_secp256k1_mulx_u64(&x193, &x194, x189, UINT64_C(0xffffffffffffffff));
+ uint64_t x195;
+ uint64_t x196;
+ fiat_secp256k1_mulx_u64(&x195, &x196, x189, UINT64_C(0xffffffffffffffff));
+ uint64_t x197;
+ uint64_t x198;
+ fiat_secp256k1_mulx_u64(&x197, &x198, x189, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x199;
+ fiat_secp256k1_uint1 x200;
+ fiat_secp256k1_addcarryx_u64(&x199, &x200, 0x0, x195, x198);
+ uint64_t x201;
+ fiat_secp256k1_uint1 x202;
+ fiat_secp256k1_addcarryx_u64(&x201, &x202, x200, x193, x196);
+ uint64_t x203;
+ fiat_secp256k1_uint1 x204;
+ fiat_secp256k1_addcarryx_u64(&x203, &x204, x202, x191, x194);
+ uint64_t x205;
+ fiat_secp256k1_uint1 x206;
+ fiat_secp256k1_addcarryx_u64(&x205, &x206, x204, 0x0, x192);
+ uint64_t x207;
+ fiat_secp256k1_uint1 x208;
+ fiat_secp256k1_addcarryx_u64(&x207, &x208, 0x0, x197, x179);
+ uint64_t x209;
+ fiat_secp256k1_uint1 x210;
+ fiat_secp256k1_addcarryx_u64(&x209, &x210, x208, x199, x181);
+ uint64_t x211;
+ fiat_secp256k1_uint1 x212;
+ fiat_secp256k1_addcarryx_u64(&x211, &x212, x210, x201, x183);
+ uint64_t x213;
+ fiat_secp256k1_uint1 x214;
+ fiat_secp256k1_addcarryx_u64(&x213, &x214, x212, x203, x185);
+ uint64_t x215;
+ fiat_secp256k1_uint1 x216;
+ fiat_secp256k1_addcarryx_u64(&x215, &x216, x214, x205, x187);
+ uint64_t x217;
+ fiat_secp256k1_uint1 x218;
+ fiat_secp256k1_addcarryx_u64(&x217, &x218, x216, 0x0, x188);
+ uint64_t x219;
+ fiat_secp256k1_uint1 x220;
+ fiat_secp256k1_subborrowx_u64(&x219, &x220, 0x0, x209, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x221;
+ fiat_secp256k1_uint1 x222;
+ fiat_secp256k1_subborrowx_u64(&x221, &x222, x220, x211, UINT64_C(0xffffffffffffffff));
+ uint64_t x223;
+ fiat_secp256k1_uint1 x224;
+ fiat_secp256k1_subborrowx_u64(&x223, &x224, x222, x213, UINT64_C(0xffffffffffffffff));
+ uint64_t x225;
+ fiat_secp256k1_uint1 x226;
+ fiat_secp256k1_subborrowx_u64(&x225, &x226, x224, x215, UINT64_C(0xffffffffffffffff));
+ uint64_t x227;
+ fiat_secp256k1_uint1 x228;
+ fiat_secp256k1_subborrowx_u64(&x227, &x228, x226, x217, 0x0);
+ uint64_t x229;
+ fiat_secp256k1_cmovznz_u64(&x229, x228, x219, x209);
+ uint64_t x230;
+ fiat_secp256k1_cmovznz_u64(&x230, x228, x221, x211);
+ uint64_t x231;
+ fiat_secp256k1_cmovznz_u64(&x231, x228, x223, x213);
+ uint64_t x232;
+ fiat_secp256k1_cmovznz_u64(&x232, x228, x225, x215);
+ out1[0] = x229;
+ out1[1] = x230;
+ out1[2] = x231;
+ out1[3] = x232;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_secp256k1_square(uint64_t out1[4], const uint64_t arg1[4]) {
+ uint64_t x1 = (arg1[1]);
+ uint64_t x2 = (arg1[2]);
+ uint64_t x3 = (arg1[3]);
+ uint64_t x4 = (arg1[0]);
+ uint64_t x5;
+ uint64_t x6;
+ fiat_secp256k1_mulx_u64(&x5, &x6, x4, (arg1[3]));
+ uint64_t x7;
+ uint64_t x8;
+ fiat_secp256k1_mulx_u64(&x7, &x8, x4, (arg1[2]));
+ uint64_t x9;
+ uint64_t x10;
+ fiat_secp256k1_mulx_u64(&x9, &x10, x4, (arg1[1]));
+ uint64_t x11;
+ uint64_t x12;
+ fiat_secp256k1_mulx_u64(&x11, &x12, x4, (arg1[0]));
+ uint64_t x13;
+ fiat_secp256k1_uint1 x14;
+ fiat_secp256k1_addcarryx_u64(&x13, &x14, 0x0, x9, x12);
+ uint64_t x15;
+ fiat_secp256k1_uint1 x16;
+ fiat_secp256k1_addcarryx_u64(&x15, &x16, x14, x7, x10);
+ uint64_t x17;
+ fiat_secp256k1_uint1 x18;
+ fiat_secp256k1_addcarryx_u64(&x17, &x18, x16, x5, x8);
+ uint64_t x19;
+ fiat_secp256k1_uint1 x20;
+ fiat_secp256k1_addcarryx_u64(&x19, &x20, x18, 0x0, x6);
+ uint64_t x21;
+ uint64_t x22;
+ fiat_secp256k1_mulx_u64(&x21, &x22, x11, UINT64_C(0xd838091dd2253531));
+ uint64_t x23;
+ uint64_t x24;
+ fiat_secp256k1_mulx_u64(&x23, &x24, x21, UINT64_C(0xffffffffffffffff));
+ uint64_t x25;
+ uint64_t x26;
+ fiat_secp256k1_mulx_u64(&x25, &x26, x21, UINT64_C(0xffffffffffffffff));
+ uint64_t x27;
+ uint64_t x28;
+ fiat_secp256k1_mulx_u64(&x27, &x28, x21, UINT64_C(0xffffffffffffffff));
+ uint64_t x29;
+ uint64_t x30;
+ fiat_secp256k1_mulx_u64(&x29, &x30, x21, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x31;
+ fiat_secp256k1_uint1 x32;
+ fiat_secp256k1_addcarryx_u64(&x31, &x32, 0x0, x27, x30);
+ uint64_t x33;
+ fiat_secp256k1_uint1 x34;
+ fiat_secp256k1_addcarryx_u64(&x33, &x34, x32, x25, x28);
+ uint64_t x35;
+ fiat_secp256k1_uint1 x36;
+ fiat_secp256k1_addcarryx_u64(&x35, &x36, x34, x23, x26);
+ uint64_t x37;
+ fiat_secp256k1_uint1 x38;
+ fiat_secp256k1_addcarryx_u64(&x37, &x38, x36, 0x0, x24);
+ uint64_t x39;
+ fiat_secp256k1_uint1 x40;
+ fiat_secp256k1_addcarryx_u64(&x39, &x40, 0x0, x29, x11);
+ uint64_t x41;
+ fiat_secp256k1_uint1 x42;
+ fiat_secp256k1_addcarryx_u64(&x41, &x42, x40, x31, x13);
+ uint64_t x43;
+ fiat_secp256k1_uint1 x44;
+ fiat_secp256k1_addcarryx_u64(&x43, &x44, x42, x33, x15);
+ uint64_t x45;
+ fiat_secp256k1_uint1 x46;
+ fiat_secp256k1_addcarryx_u64(&x45, &x46, x44, x35, x17);
+ uint64_t x47;
+ fiat_secp256k1_uint1 x48;
+ fiat_secp256k1_addcarryx_u64(&x47, &x48, x46, x37, x19);
+ uint64_t x49;
+ fiat_secp256k1_uint1 x50;
+ fiat_secp256k1_addcarryx_u64(&x49, &x50, x48, 0x0, 0x0);
+ uint64_t x51;
+ uint64_t x52;
+ fiat_secp256k1_mulx_u64(&x51, &x52, x1, (arg1[3]));
+ uint64_t x53;
+ uint64_t x54;
+ fiat_secp256k1_mulx_u64(&x53, &x54, x1, (arg1[2]));
+ uint64_t x55;
+ uint64_t x56;
+ fiat_secp256k1_mulx_u64(&x55, &x56, x1, (arg1[1]));
+ uint64_t x57;
+ uint64_t x58;
+ fiat_secp256k1_mulx_u64(&x57, &x58, x1, (arg1[0]));
+ uint64_t x59;
+ fiat_secp256k1_uint1 x60;
+ fiat_secp256k1_addcarryx_u64(&x59, &x60, 0x0, x55, x58);
+ uint64_t x61;
+ fiat_secp256k1_uint1 x62;
+ fiat_secp256k1_addcarryx_u64(&x61, &x62, x60, x53, x56);
+ uint64_t x63;
+ fiat_secp256k1_uint1 x64;
+ fiat_secp256k1_addcarryx_u64(&x63, &x64, x62, x51, x54);
+ uint64_t x65;
+ fiat_secp256k1_uint1 x66;
+ fiat_secp256k1_addcarryx_u64(&x65, &x66, x64, 0x0, x52);
+ uint64_t x67;
+ fiat_secp256k1_uint1 x68;
+ fiat_secp256k1_addcarryx_u64(&x67, &x68, 0x0, x57, x41);
+ uint64_t x69;
+ fiat_secp256k1_uint1 x70;
+ fiat_secp256k1_addcarryx_u64(&x69, &x70, x68, x59, x43);
+ uint64_t x71;
+ fiat_secp256k1_uint1 x72;
+ fiat_secp256k1_addcarryx_u64(&x71, &x72, x70, x61, x45);
+ uint64_t x73;
+ fiat_secp256k1_uint1 x74;
+ fiat_secp256k1_addcarryx_u64(&x73, &x74, x72, x63, x47);
+ uint64_t x75;
+ fiat_secp256k1_uint1 x76;
+ fiat_secp256k1_addcarryx_u64(&x75, &x76, x74, x65, (fiat_secp256k1_uint1)x49);
+ uint64_t x77;
+ uint64_t x78;
+ fiat_secp256k1_mulx_u64(&x77, &x78, x67, UINT64_C(0xd838091dd2253531));
+ uint64_t x79;
+ uint64_t x80;
+ fiat_secp256k1_mulx_u64(&x79, &x80, x77, UINT64_C(0xffffffffffffffff));
+ uint64_t x81;
+ uint64_t x82;
+ fiat_secp256k1_mulx_u64(&x81, &x82, x77, UINT64_C(0xffffffffffffffff));
+ uint64_t x83;
+ uint64_t x84;
+ fiat_secp256k1_mulx_u64(&x83, &x84, x77, UINT64_C(0xffffffffffffffff));
+ uint64_t x85;
+ uint64_t x86;
+ fiat_secp256k1_mulx_u64(&x85, &x86, x77, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x87;
+ fiat_secp256k1_uint1 x88;
+ fiat_secp256k1_addcarryx_u64(&x87, &x88, 0x0, x83, x86);
+ uint64_t x89;
+ fiat_secp256k1_uint1 x90;
+ fiat_secp256k1_addcarryx_u64(&x89, &x90, x88, x81, x84);
+ uint64_t x91;
+ fiat_secp256k1_uint1 x92;
+ fiat_secp256k1_addcarryx_u64(&x91, &x92, x90, x79, x82);
+ uint64_t x93;
+ fiat_secp256k1_uint1 x94;
+ fiat_secp256k1_addcarryx_u64(&x93, &x94, x92, 0x0, x80);
+ uint64_t x95;
+ fiat_secp256k1_uint1 x96;
+ fiat_secp256k1_addcarryx_u64(&x95, &x96, 0x0, x85, x67);
+ uint64_t x97;
+ fiat_secp256k1_uint1 x98;
+ fiat_secp256k1_addcarryx_u64(&x97, &x98, x96, x87, x69);
+ uint64_t x99;
+ fiat_secp256k1_uint1 x100;
+ fiat_secp256k1_addcarryx_u64(&x99, &x100, x98, x89, x71);
+ uint64_t x101;
+ fiat_secp256k1_uint1 x102;
+ fiat_secp256k1_addcarryx_u64(&x101, &x102, x100, x91, x73);
+ uint64_t x103;
+ fiat_secp256k1_uint1 x104;
+ fiat_secp256k1_addcarryx_u64(&x103, &x104, x102, x93, x75);
+ uint64_t x105;
+ fiat_secp256k1_uint1 x106;
+ fiat_secp256k1_addcarryx_u64(&x105, &x106, x104, 0x0, x76);
+ uint64_t x107;
+ uint64_t x108;
+ fiat_secp256k1_mulx_u64(&x107, &x108, x2, (arg1[3]));
+ uint64_t x109;
+ uint64_t x110;
+ fiat_secp256k1_mulx_u64(&x109, &x110, x2, (arg1[2]));
+ uint64_t x111;
+ uint64_t x112;
+ fiat_secp256k1_mulx_u64(&x111, &x112, x2, (arg1[1]));
+ uint64_t x113;
+ uint64_t x114;
+ fiat_secp256k1_mulx_u64(&x113, &x114, x2, (arg1[0]));
+ uint64_t x115;
+ fiat_secp256k1_uint1 x116;
+ fiat_secp256k1_addcarryx_u64(&x115, &x116, 0x0, x111, x114);
+ uint64_t x117;
+ fiat_secp256k1_uint1 x118;
+ fiat_secp256k1_addcarryx_u64(&x117, &x118, x116, x109, x112);
+ uint64_t x119;
+ fiat_secp256k1_uint1 x120;
+ fiat_secp256k1_addcarryx_u64(&x119, &x120, x118, x107, x110);
+ uint64_t x121;
+ fiat_secp256k1_uint1 x122;
+ fiat_secp256k1_addcarryx_u64(&x121, &x122, x120, 0x0, x108);
+ uint64_t x123;
+ fiat_secp256k1_uint1 x124;
+ fiat_secp256k1_addcarryx_u64(&x123, &x124, 0x0, x113, x97);
+ uint64_t x125;
+ fiat_secp256k1_uint1 x126;
+ fiat_secp256k1_addcarryx_u64(&x125, &x126, x124, x115, x99);
+ uint64_t x127;
+ fiat_secp256k1_uint1 x128;
+ fiat_secp256k1_addcarryx_u64(&x127, &x128, x126, x117, x101);
+ uint64_t x129;
+ fiat_secp256k1_uint1 x130;
+ fiat_secp256k1_addcarryx_u64(&x129, &x130, x128, x119, x103);
+ uint64_t x131;
+ fiat_secp256k1_uint1 x132;
+ fiat_secp256k1_addcarryx_u64(&x131, &x132, x130, x121, x105);
+ uint64_t x133;
+ uint64_t x134;
+ fiat_secp256k1_mulx_u64(&x133, &x134, x123, UINT64_C(0xd838091dd2253531));
+ uint64_t x135;
+ uint64_t x136;
+ fiat_secp256k1_mulx_u64(&x135, &x136, x133, UINT64_C(0xffffffffffffffff));
+ uint64_t x137;
+ uint64_t x138;
+ fiat_secp256k1_mulx_u64(&x137, &x138, x133, UINT64_C(0xffffffffffffffff));
+ uint64_t x139;
+ uint64_t x140;
+ fiat_secp256k1_mulx_u64(&x139, &x140, x133, UINT64_C(0xffffffffffffffff));
+ uint64_t x141;
+ uint64_t x142;
+ fiat_secp256k1_mulx_u64(&x141, &x142, x133, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x143;
+ fiat_secp256k1_uint1 x144;
+ fiat_secp256k1_addcarryx_u64(&x143, &x144, 0x0, x139, x142);
+ uint64_t x145;
+ fiat_secp256k1_uint1 x146;
+ fiat_secp256k1_addcarryx_u64(&x145, &x146, x144, x137, x140);
+ uint64_t x147;
+ fiat_secp256k1_uint1 x148;
+ fiat_secp256k1_addcarryx_u64(&x147, &x148, x146, x135, x138);
+ uint64_t x149;
+ fiat_secp256k1_uint1 x150;
+ fiat_secp256k1_addcarryx_u64(&x149, &x150, x148, 0x0, x136);
+ uint64_t x151;
+ fiat_secp256k1_uint1 x152;
+ fiat_secp256k1_addcarryx_u64(&x151, &x152, 0x0, x141, x123);
+ uint64_t x153;
+ fiat_secp256k1_uint1 x154;
+ fiat_secp256k1_addcarryx_u64(&x153, &x154, x152, x143, x125);
+ uint64_t x155;
+ fiat_secp256k1_uint1 x156;
+ fiat_secp256k1_addcarryx_u64(&x155, &x156, x154, x145, x127);
+ uint64_t x157;
+ fiat_secp256k1_uint1 x158;
+ fiat_secp256k1_addcarryx_u64(&x157, &x158, x156, x147, x129);
+ uint64_t x159;
+ fiat_secp256k1_uint1 x160;
+ fiat_secp256k1_addcarryx_u64(&x159, &x160, x158, x149, x131);
+ uint64_t x161;
+ fiat_secp256k1_uint1 x162;
+ fiat_secp256k1_addcarryx_u64(&x161, &x162, x160, 0x0, x132);
+ uint64_t x163;
+ uint64_t x164;
+ fiat_secp256k1_mulx_u64(&x163, &x164, x3, (arg1[3]));
+ uint64_t x165;
+ uint64_t x166;
+ fiat_secp256k1_mulx_u64(&x165, &x166, x3, (arg1[2]));
+ uint64_t x167;
+ uint64_t x168;
+ fiat_secp256k1_mulx_u64(&x167, &x168, x3, (arg1[1]));
+ uint64_t x169;
+ uint64_t x170;
+ fiat_secp256k1_mulx_u64(&x169, &x170, x3, (arg1[0]));
+ uint64_t x171;
+ fiat_secp256k1_uint1 x172;
+ fiat_secp256k1_addcarryx_u64(&x171, &x172, 0x0, x167, x170);
+ uint64_t x173;
+ fiat_secp256k1_uint1 x174;
+ fiat_secp256k1_addcarryx_u64(&x173, &x174, x172, x165, x168);
+ uint64_t x175;
+ fiat_secp256k1_uint1 x176;
+ fiat_secp256k1_addcarryx_u64(&x175, &x176, x174, x163, x166);
+ uint64_t x177;
+ fiat_secp256k1_uint1 x178;
+ fiat_secp256k1_addcarryx_u64(&x177, &x178, x176, 0x0, x164);
+ uint64_t x179;
+ fiat_secp256k1_uint1 x180;
+ fiat_secp256k1_addcarryx_u64(&x179, &x180, 0x0, x169, x153);
+ uint64_t x181;
+ fiat_secp256k1_uint1 x182;
+ fiat_secp256k1_addcarryx_u64(&x181, &x182, x180, x171, x155);
+ uint64_t x183;
+ fiat_secp256k1_uint1 x184;
+ fiat_secp256k1_addcarryx_u64(&x183, &x184, x182, x173, x157);
+ uint64_t x185;
+ fiat_secp256k1_uint1 x186;
+ fiat_secp256k1_addcarryx_u64(&x185, &x186, x184, x175, x159);
+ uint64_t x187;
+ fiat_secp256k1_uint1 x188;
+ fiat_secp256k1_addcarryx_u64(&x187, &x188, x186, x177, x161);
+ uint64_t x189;
+ uint64_t x190;
+ fiat_secp256k1_mulx_u64(&x189, &x190, x179, UINT64_C(0xd838091dd2253531));
+ uint64_t x191;
+ uint64_t x192;
+ fiat_secp256k1_mulx_u64(&x191, &x192, x189, UINT64_C(0xffffffffffffffff));
+ uint64_t x193;
+ uint64_t x194;
+ fiat_secp256k1_mulx_u64(&x193, &x194, x189, UINT64_C(0xffffffffffffffff));
+ uint64_t x195;
+ uint64_t x196;
+ fiat_secp256k1_mulx_u64(&x195, &x196, x189, UINT64_C(0xffffffffffffffff));
+ uint64_t x197;
+ uint64_t x198;
+ fiat_secp256k1_mulx_u64(&x197, &x198, x189, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x199;
+ fiat_secp256k1_uint1 x200;
+ fiat_secp256k1_addcarryx_u64(&x199, &x200, 0x0, x195, x198);
+ uint64_t x201;
+ fiat_secp256k1_uint1 x202;
+ fiat_secp256k1_addcarryx_u64(&x201, &x202, x200, x193, x196);
+ uint64_t x203;
+ fiat_secp256k1_uint1 x204;
+ fiat_secp256k1_addcarryx_u64(&x203, &x204, x202, x191, x194);
+ uint64_t x205;
+ fiat_secp256k1_uint1 x206;
+ fiat_secp256k1_addcarryx_u64(&x205, &x206, x204, 0x0, x192);
+ uint64_t x207;
+ fiat_secp256k1_uint1 x208;
+ fiat_secp256k1_addcarryx_u64(&x207, &x208, 0x0, x197, x179);
+ uint64_t x209;
+ fiat_secp256k1_uint1 x210;
+ fiat_secp256k1_addcarryx_u64(&x209, &x210, x208, x199, x181);
+ uint64_t x211;
+ fiat_secp256k1_uint1 x212;
+ fiat_secp256k1_addcarryx_u64(&x211, &x212, x210, x201, x183);
+ uint64_t x213;
+ fiat_secp256k1_uint1 x214;
+ fiat_secp256k1_addcarryx_u64(&x213, &x214, x212, x203, x185);
+ uint64_t x215;
+ fiat_secp256k1_uint1 x216;
+ fiat_secp256k1_addcarryx_u64(&x215, &x216, x214, x205, x187);
+ uint64_t x217;
+ fiat_secp256k1_uint1 x218;
+ fiat_secp256k1_addcarryx_u64(&x217, &x218, x216, 0x0, x188);
+ uint64_t x219;
+ fiat_secp256k1_uint1 x220;
+ fiat_secp256k1_subborrowx_u64(&x219, &x220, 0x0, x209, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x221;
+ fiat_secp256k1_uint1 x222;
+ fiat_secp256k1_subborrowx_u64(&x221, &x222, x220, x211, UINT64_C(0xffffffffffffffff));
+ uint64_t x223;
+ fiat_secp256k1_uint1 x224;
+ fiat_secp256k1_subborrowx_u64(&x223, &x224, x222, x213, UINT64_C(0xffffffffffffffff));
+ uint64_t x225;
+ fiat_secp256k1_uint1 x226;
+ fiat_secp256k1_subborrowx_u64(&x225, &x226, x224, x215, UINT64_C(0xffffffffffffffff));
+ uint64_t x227;
+ fiat_secp256k1_uint1 x228;
+ fiat_secp256k1_subborrowx_u64(&x227, &x228, x226, x217, 0x0);
+ uint64_t x229;
+ fiat_secp256k1_cmovznz_u64(&x229, x228, x219, x209);
+ uint64_t x230;
+ fiat_secp256k1_cmovznz_u64(&x230, x228, x221, x211);
+ uint64_t x231;
+ fiat_secp256k1_cmovznz_u64(&x231, x228, x223, x213);
+ uint64_t x232;
+ fiat_secp256k1_cmovznz_u64(&x232, x228, x225, x215);
+ out1[0] = x229;
+ out1[1] = x230;
+ out1[2] = x231;
+ out1[3] = x232;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_secp256k1_add(uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
+ uint64_t x1;
+ fiat_secp256k1_uint1 x2;
+ fiat_secp256k1_addcarryx_u64(&x1, &x2, 0x0, (arg2[0]), (arg1[0]));
+ uint64_t x3;
+ fiat_secp256k1_uint1 x4;
+ fiat_secp256k1_addcarryx_u64(&x3, &x4, x2, (arg2[1]), (arg1[1]));
+ uint64_t x5;
+ fiat_secp256k1_uint1 x6;
+ fiat_secp256k1_addcarryx_u64(&x5, &x6, x4, (arg2[2]), (arg1[2]));
+ uint64_t x7;
+ fiat_secp256k1_uint1 x8;
+ fiat_secp256k1_addcarryx_u64(&x7, &x8, x6, (arg2[3]), (arg1[3]));
+ uint64_t x9;
+ fiat_secp256k1_uint1 x10;
+ fiat_secp256k1_subborrowx_u64(&x9, &x10, 0x0, x1, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x11;
+ fiat_secp256k1_uint1 x12;
+ fiat_secp256k1_subborrowx_u64(&x11, &x12, x10, x3, UINT64_C(0xffffffffffffffff));
+ uint64_t x13;
+ fiat_secp256k1_uint1 x14;
+ fiat_secp256k1_subborrowx_u64(&x13, &x14, x12, x5, UINT64_C(0xffffffffffffffff));
+ uint64_t x15;
+ fiat_secp256k1_uint1 x16;
+ fiat_secp256k1_subborrowx_u64(&x15, &x16, x14, x7, UINT64_C(0xffffffffffffffff));
+ uint64_t x17;
+ fiat_secp256k1_uint1 x18;
+ fiat_secp256k1_subborrowx_u64(&x17, &x18, x16, x8, 0x0);
+ uint64_t x19;
+ fiat_secp256k1_cmovznz_u64(&x19, x18, x9, x1);
+ uint64_t x20;
+ fiat_secp256k1_cmovznz_u64(&x20, x18, x11, x3);
+ uint64_t x21;
+ fiat_secp256k1_cmovznz_u64(&x21, x18, x13, x5);
+ uint64_t x22;
+ fiat_secp256k1_cmovznz_u64(&x22, x18, x15, x7);
+ out1[0] = x19;
+ out1[1] = x20;
+ out1[2] = x21;
+ out1[3] = x22;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_secp256k1_sub(uint64_t out1[4], const uint64_t arg1[4], const uint64_t arg2[4]) {
+ uint64_t x1;
+ fiat_secp256k1_uint1 x2;
+ fiat_secp256k1_subborrowx_u64(&x1, &x2, 0x0, (arg1[0]), (arg2[0]));
+ uint64_t x3;
+ fiat_secp256k1_uint1 x4;
+ fiat_secp256k1_subborrowx_u64(&x3, &x4, x2, (arg1[1]), (arg2[1]));
+ uint64_t x5;
+ fiat_secp256k1_uint1 x6;
+ fiat_secp256k1_subborrowx_u64(&x5, &x6, x4, (arg1[2]), (arg2[2]));
+ uint64_t x7;
+ fiat_secp256k1_uint1 x8;
+ fiat_secp256k1_subborrowx_u64(&x7, &x8, x6, (arg1[3]), (arg2[3]));
+ uint64_t x9;
+ fiat_secp256k1_cmovznz_u64(&x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
+ uint64_t x10;
+ fiat_secp256k1_uint1 x11;
+ fiat_secp256k1_addcarryx_u64(&x10, &x11, 0x0, (x9 & UINT64_C(0xfffffffefffffc2f)), x1);
+ uint64_t x12;
+ fiat_secp256k1_uint1 x13;
+ fiat_secp256k1_addcarryx_u64(&x12, &x13, x11, (x9 & UINT64_C(0xffffffffffffffff)), x3);
+ uint64_t x14;
+ fiat_secp256k1_uint1 x15;
+ fiat_secp256k1_addcarryx_u64(&x14, &x15, x13, (x9 & UINT64_C(0xffffffffffffffff)), x5);
+ uint64_t x16;
+ fiat_secp256k1_uint1 x17;
+ fiat_secp256k1_addcarryx_u64(&x16, &x17, x15, (x9 & UINT64_C(0xffffffffffffffff)), x7);
+ out1[0] = x10;
+ out1[1] = x12;
+ out1[2] = x14;
+ out1[3] = x16;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_secp256k1_opp(uint64_t out1[4], const uint64_t arg1[4]) {
+ uint64_t x1;
+ fiat_secp256k1_uint1 x2;
+ fiat_secp256k1_subborrowx_u64(&x1, &x2, 0x0, 0x0, (arg1[0]));
+ uint64_t x3;
+ fiat_secp256k1_uint1 x4;
+ fiat_secp256k1_subborrowx_u64(&x3, &x4, x2, 0x0, (arg1[1]));
+ uint64_t x5;
+ fiat_secp256k1_uint1 x6;
+ fiat_secp256k1_subborrowx_u64(&x5, &x6, x4, 0x0, (arg1[2]));
+ uint64_t x7;
+ fiat_secp256k1_uint1 x8;
+ fiat_secp256k1_subborrowx_u64(&x7, &x8, x6, 0x0, (arg1[3]));
+ uint64_t x9;
+ fiat_secp256k1_cmovznz_u64(&x9, x8, 0x0, UINT64_C(0xffffffffffffffff));
+ uint64_t x10;
+ fiat_secp256k1_uint1 x11;
+ fiat_secp256k1_addcarryx_u64(&x10, &x11, 0x0, (x9 & UINT64_C(0xfffffffefffffc2f)), x1);
+ uint64_t x12;
+ fiat_secp256k1_uint1 x13;
+ fiat_secp256k1_addcarryx_u64(&x12, &x13, x11, (x9 & UINT64_C(0xffffffffffffffff)), x3);
+ uint64_t x14;
+ fiat_secp256k1_uint1 x15;
+ fiat_secp256k1_addcarryx_u64(&x14, &x15, x13, (x9 & UINT64_C(0xffffffffffffffff)), x5);
+ uint64_t x16;
+ fiat_secp256k1_uint1 x17;
+ fiat_secp256k1_addcarryx_u64(&x16, &x17, x15, (x9 & UINT64_C(0xffffffffffffffff)), x7);
+ out1[0] = x10;
+ out1[1] = x12;
+ out1[2] = x14;
+ out1[3] = x16;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_secp256k1_from_montgomery(uint64_t out1[4], const uint64_t arg1[4]) {
+ uint64_t x1 = (arg1[0]);
+ uint64_t x2;
+ uint64_t x3;
+ fiat_secp256k1_mulx_u64(&x2, &x3, x1, UINT64_C(0xd838091dd2253531));
+ uint64_t x4;
+ uint64_t x5;
+ fiat_secp256k1_mulx_u64(&x4, &x5, x2, UINT64_C(0xffffffffffffffff));
+ uint64_t x6;
+ uint64_t x7;
+ fiat_secp256k1_mulx_u64(&x6, &x7, x2, UINT64_C(0xffffffffffffffff));
+ uint64_t x8;
+ uint64_t x9;
+ fiat_secp256k1_mulx_u64(&x8, &x9, x2, UINT64_C(0xffffffffffffffff));
+ uint64_t x10;
+ uint64_t x11;
+ fiat_secp256k1_mulx_u64(&x10, &x11, x2, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x12;
+ fiat_secp256k1_uint1 x13;
+ fiat_secp256k1_addcarryx_u64(&x12, &x13, 0x0, x8, x11);
+ uint64_t x14;
+ fiat_secp256k1_uint1 x15;
+ fiat_secp256k1_addcarryx_u64(&x14, &x15, x13, x6, x9);
+ uint64_t x16;
+ fiat_secp256k1_uint1 x17;
+ fiat_secp256k1_addcarryx_u64(&x16, &x17, x15, x4, x7);
+ uint64_t x18;
+ fiat_secp256k1_uint1 x19;
+ fiat_secp256k1_addcarryx_u64(&x18, &x19, 0x0, x10, x1);
+ uint64_t x20;
+ fiat_secp256k1_uint1 x21;
+ fiat_secp256k1_addcarryx_u64(&x20, &x21, x19, x12, 0x0);
+ uint64_t x22;
+ fiat_secp256k1_uint1 x23;
+ fiat_secp256k1_addcarryx_u64(&x22, &x23, x21, x14, 0x0);
+ uint64_t x24;
+ fiat_secp256k1_uint1 x25;
+ fiat_secp256k1_addcarryx_u64(&x24, &x25, x23, x16, 0x0);
+ uint64_t x26;
+ fiat_secp256k1_uint1 x27;
+ fiat_secp256k1_addcarryx_u64(&x26, &x27, x17, 0x0, x5);
+ uint64_t x28;
+ fiat_secp256k1_uint1 x29;
+ fiat_secp256k1_addcarryx_u64(&x28, &x29, x25, x26, 0x0);
+ uint64_t x30;
+ fiat_secp256k1_uint1 x31;
+ fiat_secp256k1_addcarryx_u64(&x30, &x31, 0x0, (arg1[1]), x20);
+ uint64_t x32;
+ fiat_secp256k1_uint1 x33;
+ fiat_secp256k1_addcarryx_u64(&x32, &x33, x31, 0x0, x22);
+ uint64_t x34;
+ fiat_secp256k1_uint1 x35;
+ fiat_secp256k1_addcarryx_u64(&x34, &x35, x33, 0x0, x24);
+ uint64_t x36;
+ fiat_secp256k1_uint1 x37;
+ fiat_secp256k1_addcarryx_u64(&x36, &x37, x35, 0x0, x28);
+ uint64_t x38;
+ fiat_secp256k1_uint1 x39;
+ fiat_secp256k1_addcarryx_u64(&x38, &x39, x29, 0x0, 0x0);
+ uint64_t x40;
+ fiat_secp256k1_uint1 x41;
+ fiat_secp256k1_addcarryx_u64(&x40, &x41, x37, 0x0, (fiat_secp256k1_uint1)x38);
+ uint64_t x42;
+ uint64_t x43;
+ fiat_secp256k1_mulx_u64(&x42, &x43, x30, UINT64_C(0xd838091dd2253531));
+ uint64_t x44;
+ uint64_t x45;
+ fiat_secp256k1_mulx_u64(&x44, &x45, x42, UINT64_C(0xffffffffffffffff));
+ uint64_t x46;
+ uint64_t x47;
+ fiat_secp256k1_mulx_u64(&x46, &x47, x42, UINT64_C(0xffffffffffffffff));
+ uint64_t x48;
+ uint64_t x49;
+ fiat_secp256k1_mulx_u64(&x48, &x49, x42, UINT64_C(0xffffffffffffffff));
+ uint64_t x50;
+ uint64_t x51;
+ fiat_secp256k1_mulx_u64(&x50, &x51, x42, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x52;
+ fiat_secp256k1_uint1 x53;
+ fiat_secp256k1_addcarryx_u64(&x52, &x53, 0x0, x48, x51);
+ uint64_t x54;
+ fiat_secp256k1_uint1 x55;
+ fiat_secp256k1_addcarryx_u64(&x54, &x55, x53, x46, x49);
+ uint64_t x56;
+ fiat_secp256k1_uint1 x57;
+ fiat_secp256k1_addcarryx_u64(&x56, &x57, x55, x44, x47);
+ uint64_t x58;
+ fiat_secp256k1_uint1 x59;
+ fiat_secp256k1_addcarryx_u64(&x58, &x59, 0x0, x50, x30);
+ uint64_t x60;
+ fiat_secp256k1_uint1 x61;
+ fiat_secp256k1_addcarryx_u64(&x60, &x61, x59, x52, x32);
+ uint64_t x62;
+ fiat_secp256k1_uint1 x63;
+ fiat_secp256k1_addcarryx_u64(&x62, &x63, x61, x54, x34);
+ uint64_t x64;
+ fiat_secp256k1_uint1 x65;
+ fiat_secp256k1_addcarryx_u64(&x64, &x65, x63, x56, x36);
+ uint64_t x66;
+ fiat_secp256k1_uint1 x67;
+ fiat_secp256k1_addcarryx_u64(&x66, &x67, x57, 0x0, x45);
+ uint64_t x68;
+ fiat_secp256k1_uint1 x69;
+ fiat_secp256k1_addcarryx_u64(&x68, &x69, x65, x66, x40);
+ uint64_t x70;
+ fiat_secp256k1_uint1 x71;
+ fiat_secp256k1_addcarryx_u64(&x70, &x71, 0x0, (arg1[2]), x60);
+ uint64_t x72;
+ fiat_secp256k1_uint1 x73;
+ fiat_secp256k1_addcarryx_u64(&x72, &x73, x71, 0x0, x62);
+ uint64_t x74;
+ fiat_secp256k1_uint1 x75;
+ fiat_secp256k1_addcarryx_u64(&x74, &x75, x73, 0x0, x64);
+ uint64_t x76;
+ fiat_secp256k1_uint1 x77;
+ fiat_secp256k1_addcarryx_u64(&x76, &x77, x75, 0x0, x68);
+ uint64_t x78;
+ fiat_secp256k1_uint1 x79;
+ fiat_secp256k1_addcarryx_u64(&x78, &x79, x69, 0x0, x41);
+ uint64_t x80;
+ fiat_secp256k1_uint1 x81;
+ fiat_secp256k1_addcarryx_u64(&x80, &x81, x77, 0x0, (fiat_secp256k1_uint1)x78);
+ uint64_t x82;
+ uint64_t x83;
+ fiat_secp256k1_mulx_u64(&x82, &x83, x70, UINT64_C(0xd838091dd2253531));
+ uint64_t x84;
+ uint64_t x85;
+ fiat_secp256k1_mulx_u64(&x84, &x85, x82, UINT64_C(0xffffffffffffffff));
+ uint64_t x86;
+ uint64_t x87;
+ fiat_secp256k1_mulx_u64(&x86, &x87, x82, UINT64_C(0xffffffffffffffff));
+ uint64_t x88;
+ uint64_t x89;
+ fiat_secp256k1_mulx_u64(&x88, &x89, x82, UINT64_C(0xffffffffffffffff));
+ uint64_t x90;
+ uint64_t x91;
+ fiat_secp256k1_mulx_u64(&x90, &x91, x82, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x92;
+ fiat_secp256k1_uint1 x93;
+ fiat_secp256k1_addcarryx_u64(&x92, &x93, 0x0, x88, x91);
+ uint64_t x94;
+ fiat_secp256k1_uint1 x95;
+ fiat_secp256k1_addcarryx_u64(&x94, &x95, x93, x86, x89);
+ uint64_t x96;
+ fiat_secp256k1_uint1 x97;
+ fiat_secp256k1_addcarryx_u64(&x96, &x97, x95, x84, x87);
+ uint64_t x98;
+ fiat_secp256k1_uint1 x99;
+ fiat_secp256k1_addcarryx_u64(&x98, &x99, 0x0, x90, x70);
+ uint64_t x100;
+ fiat_secp256k1_uint1 x101;
+ fiat_secp256k1_addcarryx_u64(&x100, &x101, x99, x92, x72);
+ uint64_t x102;
+ fiat_secp256k1_uint1 x103;
+ fiat_secp256k1_addcarryx_u64(&x102, &x103, x101, x94, x74);
+ uint64_t x104;
+ fiat_secp256k1_uint1 x105;
+ fiat_secp256k1_addcarryx_u64(&x104, &x105, x103, x96, x76);
+ uint64_t x106;
+ fiat_secp256k1_uint1 x107;
+ fiat_secp256k1_addcarryx_u64(&x106, &x107, x97, 0x0, x85);
+ uint64_t x108;
+ fiat_secp256k1_uint1 x109;
+ fiat_secp256k1_addcarryx_u64(&x108, &x109, x105, x106, x80);
+ uint64_t x110;
+ fiat_secp256k1_uint1 x111;
+ fiat_secp256k1_addcarryx_u64(&x110, &x111, 0x0, (arg1[3]), x100);
+ uint64_t x112;
+ fiat_secp256k1_uint1 x113;
+ fiat_secp256k1_addcarryx_u64(&x112, &x113, x111, 0x0, x102);
+ uint64_t x114;
+ fiat_secp256k1_uint1 x115;
+ fiat_secp256k1_addcarryx_u64(&x114, &x115, x113, 0x0, x104);
+ uint64_t x116;
+ fiat_secp256k1_uint1 x117;
+ fiat_secp256k1_addcarryx_u64(&x116, &x117, x115, 0x0, x108);
+ uint64_t x118;
+ fiat_secp256k1_uint1 x119;
+ fiat_secp256k1_addcarryx_u64(&x118, &x119, x109, 0x0, x81);
+ uint64_t x120;
+ fiat_secp256k1_uint1 x121;
+ fiat_secp256k1_addcarryx_u64(&x120, &x121, x117, 0x0, (fiat_secp256k1_uint1)x118);
+ uint64_t x122;
+ uint64_t x123;
+ fiat_secp256k1_mulx_u64(&x122, &x123, x110, UINT64_C(0xd838091dd2253531));
+ uint64_t x124;
+ uint64_t x125;
+ fiat_secp256k1_mulx_u64(&x124, &x125, x122, UINT64_C(0xffffffffffffffff));
+ uint64_t x126;
+ uint64_t x127;
+ fiat_secp256k1_mulx_u64(&x126, &x127, x122, UINT64_C(0xffffffffffffffff));
+ uint64_t x128;
+ uint64_t x129;
+ fiat_secp256k1_mulx_u64(&x128, &x129, x122, UINT64_C(0xffffffffffffffff));
+ uint64_t x130;
+ uint64_t x131;
+ fiat_secp256k1_mulx_u64(&x130, &x131, x122, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x132;
+ fiat_secp256k1_uint1 x133;
+ fiat_secp256k1_addcarryx_u64(&x132, &x133, 0x0, x128, x131);
+ uint64_t x134;
+ fiat_secp256k1_uint1 x135;
+ fiat_secp256k1_addcarryx_u64(&x134, &x135, x133, x126, x129);
+ uint64_t x136;
+ fiat_secp256k1_uint1 x137;
+ fiat_secp256k1_addcarryx_u64(&x136, &x137, x135, x124, x127);
+ uint64_t x138;
+ fiat_secp256k1_uint1 x139;
+ fiat_secp256k1_addcarryx_u64(&x138, &x139, 0x0, x130, x110);
+ uint64_t x140;
+ fiat_secp256k1_uint1 x141;
+ fiat_secp256k1_addcarryx_u64(&x140, &x141, x139, x132, x112);
+ uint64_t x142;
+ fiat_secp256k1_uint1 x143;
+ fiat_secp256k1_addcarryx_u64(&x142, &x143, x141, x134, x114);
+ uint64_t x144;
+ fiat_secp256k1_uint1 x145;
+ fiat_secp256k1_addcarryx_u64(&x144, &x145, x143, x136, x116);
+ uint64_t x146;
+ fiat_secp256k1_uint1 x147;
+ fiat_secp256k1_addcarryx_u64(&x146, &x147, x137, 0x0, x125);
+ uint64_t x148;
+ fiat_secp256k1_uint1 x149;
+ fiat_secp256k1_addcarryx_u64(&x148, &x149, x145, x146, x120);
+ uint64_t x150;
+ fiat_secp256k1_uint1 x151;
+ fiat_secp256k1_subborrowx_u64(&x150, &x151, 0x0, x140, UINT64_C(0xfffffffefffffc2f));
+ uint64_t x152;
+ fiat_secp256k1_uint1 x153;
+ fiat_secp256k1_subborrowx_u64(&x152, &x153, x151, x142, UINT64_C(0xffffffffffffffff));
+ uint64_t x154;
+ fiat_secp256k1_uint1 x155;
+ fiat_secp256k1_subborrowx_u64(&x154, &x155, x153, x144, UINT64_C(0xffffffffffffffff));
+ uint64_t x156;
+ fiat_secp256k1_uint1 x157;
+ fiat_secp256k1_subborrowx_u64(&x156, &x157, x155, x148, UINT64_C(0xffffffffffffffff));
+ uint64_t x158;
+ fiat_secp256k1_uint1 x159;
+ fiat_secp256k1_addcarryx_u64(&x158, &x159, x149, 0x0, x121);
+ uint64_t x160;
+ fiat_secp256k1_uint1 x161;
+ fiat_secp256k1_subborrowx_u64(&x160, &x161, x157, (fiat_secp256k1_uint1)x158, 0x0);
+ uint64_t x162;
+ fiat_secp256k1_cmovznz_u64(&x162, x161, x150, x140);
+ uint64_t x163;
+ fiat_secp256k1_cmovznz_u64(&x163, x161, x152, x142);
+ uint64_t x164;
+ fiat_secp256k1_cmovznz_u64(&x164, x161, x154, x144);
+ uint64_t x165;
+ fiat_secp256k1_cmovznz_u64(&x165, x161, x156, x148);
+ out1[0] = x162;
+ out1[1] = x163;
+ out1[2] = x164;
+ out1[3] = x165;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [0x0 ~> 0xffffffffffffffff]
+ */
+static void fiat_secp256k1_nonzero(uint64_t* out1, const uint64_t arg1[4]) {
+ uint64_t x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | (uint64_t)0x0))));
+ *out1 = x1;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [0x0 ~> 0x1]
+ * arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_secp256k1_selectznz(uint64_t out1[4], fiat_secp256k1_uint1 arg1, const uint64_t arg2[4], const uint64_t arg3[4]) {
+ uint64_t x1;
+ fiat_secp256k1_cmovznz_u64(&x1, arg1, (arg2[0]), (arg3[0]));
+ uint64_t x2;
+ fiat_secp256k1_cmovznz_u64(&x2, arg1, (arg2[1]), (arg3[1]));
+ uint64_t x3;
+ fiat_secp256k1_cmovznz_u64(&x3, arg1, (arg2[2]), (arg3[2]));
+ uint64_t x4;
+ fiat_secp256k1_cmovznz_u64(&x4, arg1, (arg2[3]), (arg3[3]));
+ out1[0] = x1;
+ out1[1] = x2;
+ out1[2] = x3;
+ out1[3] = x4;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
+ */
+static void fiat_secp256k1_to_bytes(uint8_t out1[32], const uint64_t arg1[4]) {
+ uint64_t x1 = (arg1[3]);
+ uint64_t x2 = (arg1[2]);
+ uint64_t x3 = (arg1[1]);
+ uint64_t x4 = (arg1[0]);
+ uint64_t x5 = (x4 >> 8);
+ uint8_t x6 = (uint8_t)(x4 & UINT8_C(0xff));
+ uint64_t x7 = (x5 >> 8);
+ uint8_t x8 = (uint8_t)(x5 & UINT8_C(0xff));
+ uint64_t x9 = (x7 >> 8);
+ uint8_t x10 = (uint8_t)(x7 & UINT8_C(0xff));
+ uint64_t x11 = (x9 >> 8);
+ uint8_t x12 = (uint8_t)(x9 & UINT8_C(0xff));
+ uint64_t x13 = (x11 >> 8);
+ uint8_t x14 = (uint8_t)(x11 & UINT8_C(0xff));
+ uint64_t x15 = (x13 >> 8);
+ uint8_t x16 = (uint8_t)(x13 & UINT8_C(0xff));
+ uint8_t x17 = (uint8_t)(x15 >> 8);
+ uint8_t x18 = (uint8_t)(x15 & UINT8_C(0xff));
+ fiat_secp256k1_uint1 x19 = (fiat_secp256k1_uint1)(x17 >> 8);
+ uint8_t x20 = (uint8_t)(x17 & UINT8_C(0xff));
+ uint64_t x21 = (x19 + x3);
+ uint64_t x22 = (x21 >> 8);
+ uint8_t x23 = (uint8_t)(x21 & UINT8_C(0xff));
+ uint64_t x24 = (x22 >> 8);
+ uint8_t x25 = (uint8_t)(x22 & 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));
+ uint8_t x34 = (uint8_t)(x32 >> 8);
+ uint8_t x35 = (uint8_t)(x32 & UINT8_C(0xff));
+ fiat_secp256k1_uint1 x36 = (fiat_secp256k1_uint1)(x34 >> 8);
+ uint8_t x37 = (uint8_t)(x34 & UINT8_C(0xff));
+ uint64_t x38 = (x36 + x2);
+ 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);
+ uint8_t x46 = (uint8_t)(x43 & UINT8_C(0xff));
+ uint64_t x47 = (x45 >> 8);
+ uint8_t x48 = (uint8_t)(x45 & UINT8_C(0xff));
+ uint64_t x49 = (x47 >> 8);
+ uint8_t x50 = (uint8_t)(x47 & UINT8_C(0xff));
+ uint8_t x51 = (uint8_t)(x49 >> 8);
+ uint8_t x52 = (uint8_t)(x49 & UINT8_C(0xff));
+ fiat_secp256k1_uint1 x53 = (fiat_secp256k1_uint1)(x51 >> 8);
+ uint8_t x54 = (uint8_t)(x51 & UINT8_C(0xff));
+ uint64_t x55 = (x53 + x1);
+ uint64_t x56 = (x55 >> 8);
+ uint8_t x57 = (uint8_t)(x55 & UINT8_C(0xff));
+ uint64_t x58 = (x56 >> 8);
+ uint8_t x59 = (uint8_t)(x56 & 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));
+ uint8_t x68 = (uint8_t)(x66 >> 8);
+ uint8_t x69 = (uint8_t)(x66 & UINT8_C(0xff));
+ out1[0] = x6;
+ out1[1] = x8;
+ out1[2] = x10;
+ out1[3] = x12;
+ out1[4] = x14;
+ out1[5] = x16;
+ out1[6] = x18;
+ out1[7] = x20;
+ out1[8] = x23;
+ out1[9] = x25;
+ out1[10] = x27;
+ out1[11] = x29;
+ out1[12] = x31;
+ out1[13] = x33;
+ out1[14] = x35;
+ 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] = x54;
+ out1[24] = x57;
+ out1[25] = x59;
+ out1[26] = x61;
+ out1[27] = x63;
+ out1[28] = x65;
+ out1[29] = x67;
+ out1[30] = x69;
+ out1[31] = x68;
+}
+
+/*
+ * Input Bounds:
+ * arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
+ * Output Bounds:
+ * out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
+ */
+static void fiat_secp256k1_from_bytes(uint64_t out1[4], const uint8_t arg1[32]) {
+ uint64_t x1 = ((uint64_t)(arg1[31]) << 56);
+ uint64_t x2 = ((uint64_t)(arg1[30]) << 48);
+ uint64_t x3 = ((uint64_t)(arg1[29]) << 40);
+ uint64_t x4 = ((uint64_t)(arg1[28]) << 32);
+ uint64_t x5 = ((uint64_t)(arg1[27]) << 24);
+ uint64_t x6 = ((uint64_t)(arg1[26]) << 16);
+ uint64_t x7 = ((uint64_t)(arg1[25]) << 8);
+ uint8_t x8 = (arg1[24]);
+ uint64_t x9 = ((uint64_t)(arg1[23]) << 56);
+ uint64_t x10 = ((uint64_t)(arg1[22]) << 48);
+ uint64_t x11 = ((uint64_t)(arg1[21]) << 40);
+ uint64_t x12 = ((uint64_t)(arg1[20]) << 32);
+ uint64_t x13 = ((uint64_t)(arg1[19]) << 24);
+ uint64_t x14 = ((uint64_t)(arg1[18]) << 16);
+ uint64_t x15 = ((uint64_t)(arg1[17]) << 8);
+ uint8_t x16 = (arg1[16]);
+ uint64_t x17 = ((uint64_t)(arg1[15]) << 56);
+ uint64_t x18 = ((uint64_t)(arg1[14]) << 48);
+ uint64_t x19 = ((uint64_t)(arg1[13]) << 40);
+ uint64_t x20 = ((uint64_t)(arg1[12]) << 32);
+ uint64_t x21 = ((uint64_t)(arg1[11]) << 24);
+ uint64_t x22 = ((uint64_t)(arg1[10]) << 16);
+ uint64_t x23 = ((uint64_t)(arg1[9]) << 8);
+ uint8_t x24 = (arg1[8]);
+ uint64_t x25 = ((uint64_t)(arg1[7]) << 56);
+ uint64_t x26 = ((uint64_t)(arg1[6]) << 48);
+ uint64_t x27 = ((uint64_t)(arg1[5]) << 40);
+ uint64_t x28 = ((uint64_t)(arg1[4]) << 32);
+ uint64_t x29 = ((uint64_t)(arg1[3]) << 24);
+ uint64_t x30 = ((uint64_t)(arg1[2]) << 16);
+ uint64_t x31 = ((uint64_t)(arg1[1]) << 8);
+ uint8_t x32 = (arg1[0]);
+ uint64_t x33 = (x32 + (x31 + (x30 + (x29 + (x28 + (x27 + (x26 + x25)))))));
+ fiat_secp256k1_uint1 x34 = (fiat_secp256k1_uint1)((fiat_secp256k1_uint128)x33 >> 64);
+ uint64_t x35 = (x33 & UINT64_C(0xffffffffffffffff));
+ uint64_t x36 = (x8 + (x7 + (x6 + (x5 + (x4 + (x3 + (x2 + x1)))))));
+ uint64_t x37 = (x16 + (x15 + (x14 + (x13 + (x12 + (x11 + (x10 + x9)))))));
+ uint64_t x38 = (x24 + (x23 + (x22 + (x21 + (x20 + (x19 + (x18 + x17)))))));
+ uint64_t x39 = (x34 + x38);
+ fiat_secp256k1_uint1 x40 = (fiat_secp256k1_uint1)((fiat_secp256k1_uint128)x39 >> 64);
+ uint64_t x41 = (x39 & UINT64_C(0xffffffffffffffff));
+ uint64_t x42 = (x40 + x37);
+ fiat_secp256k1_uint1 x43 = (fiat_secp256k1_uint1)((fiat_secp256k1_uint128)x42 >> 64);
+ uint64_t x44 = (x42 & UINT64_C(0xffffffffffffffff));
+ uint64_t x45 = (x43 + x36);
+ out1[0] = x35;
+ out1[1] = x41;
+ out1[2] = x44;
+ out1[3] = x45;
+}
+