aboutsummaryrefslogtreecommitdiff
path: root/p224_64.c
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2018-07-24 23:10:34 -0400
committerGravatar Jason Gross <jgross@mit.edu>2018-07-24 23:10:34 -0400
commitea1fd608e7e00d5511a1c8816a5355ab00b810af (patch)
tree89bd6c5549e8adfdd81bda0ddc8bedec66a33273 /p224_64.c
parent152094f4d9d83e4a5689536e0cd68d4f006517e1 (diff)
Revert "Improve rewriter speed"
This reverts commit 152094f4d9d83e4a5689536e0cd68d4f006517e1. It is actually incorrect. We need to bubble up failures, not just let-bind the default case. Will fix tomorrow.
Diffstat (limited to 'p224_64.c')
-rw-r--r--p224_64.c3627
1 files changed, 1296 insertions, 2331 deletions
diff --git a/p224_64.c b/p224_64.c
index 74266c6d7..6ef3781bb 100644
--- a/p224_64.c
+++ b/p224_64.c
@@ -1,4 +1,3 @@
-check_args
/* Autogenerated */
/* curve description: p224 */
/* requested operations: (all) */
@@ -20,2345 +19,1311 @@ 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;
+}
-In fiat_p224_mul:
-Stringification failed on the syntax tree:
-(λ x1 x2,
- expr_let x3 := x1[1] (* : uint64_t *) in
- expr_let x4 := x1[2] (* : uint64_t *) in
- expr_let x5 := x1[3] (* : uint64_t *) in
- expr_let x6 := x1[0] (* : uint64_t *) in
- expr_let x7 := Z.mul_split(2^64, x6, x2[3]) (* : uint64_t, uint64_t *) in
- expr_let x8 := Z.mul_split(2^64, x6, x2[2]) (* : uint64_t, uint64_t *) in
- expr_let x9 := Z.mul_split(2^64, x6, x2[1]) (* : uint64_t, uint64_t *) in
- expr_let x10 := Z.mul_split(2^64, x6, x2[0]) (* : uint64_t, uint64_t *) in
- expr_let x11 := 2^192 * 0 (* : uint1_t *) in
- expr_let x12 := 2^128 * 0 (* : uint1_t *) in
- expr_let x13 := 2^128 * 0 (* : uint1_t *) in
- expr_let x14 := 2^64 * 0 (* : uint1_t *) in
- expr_let x15 := 2^64 * 0 (* : uint1_t *) in
- expr_let x16 := 1 * 0 (* : uint1_t *) in
- expr_let x17 := 1 * 0 (* : uint1_t *) in
- expr_let x18 := 1 * 0 (* : uint1_t *) in
- expr_let x19 := 2^128 * 0 (* : uint1_t *) in
- expr_let x20 := 2^64 * 0 (* : uint1_t *) in
- expr_let x21 := 2^64 * 0 (* : uint1_t *) in
- expr_let x22 := 1 * 0 (* : uint1_t *) in
- expr_let x23 := 1 * 0 (* : uint1_t *) in
- expr_let x24 := 1 * 0 (* : uint1_t *) in
- expr_let x25 := 1 * 0 (* : uint1_t *) in
- expr_let x26 := 1 * 0 (* : uint1_t *) in
- expr_let x27 := 2^64 * 0 (* : uint1_t *) in
- expr_let x28 := 1 * 0 (* : uint1_t *) in
- expr_let x29 := 1 * 0 (* : uint1_t *) in
- expr_let x30 := 1 * 0 (* : uint1_t *) in
- expr_let x31 := 1 * 0 (* : uint1_t *) in
- expr_let x32 := 1 * 0 (* : uint1_t *) in
- expr_let x33 := 1 * 0 (* : uint1_t *) in
- expr_let x34 := 1 * 0 (* : uint1_t *) in
- expr_let x35 := x7₂ * 1 (* : uint64_t *) in
- expr_let x36 := x7₁ * 1 (* : uint64_t *) in
- expr_let x37 := x8₂ * 1 (* : uint64_t *) in
- expr_let x38 := x8₁ * 1 (* : uint64_t *) in
- expr_let x39 := x9₂ * 1 (* : uint64_t *) in
- expr_let x40 := x9₁ * 1 (* : uint64_t *) in
- expr_let x41 := x10₂ * 1 (* : uint64_t *) in
- expr_let x42 := x10₁ * 1 (* : uint64_t *) in
- expr_let x43 := Z.add_with_get_carry(2^64, 0, 0, x42) (* : uint64_t, uint1_t *) in
- expr_let x44 := Z.add_with_get_carry(2^64, x43₂, 0, x41) (* : uint64_t, uint1_t *) in
- expr_let x45 := Z.add_with_get_carry(2^64, x44₂, 0, x39) (* : uint64_t, uint1_t *) in
- expr_let x46 := Z.add_with_get_carry(2^64, x45₂, 0, x37) (* : uint64_t, uint1_t *) in
- expr_let x47 := Z.add_with_get_carry(2^64, x46₂, x11, x35) (* : uint64_t, uint1_t *) in
- expr_let x48 := Z.add_with_get_carry(2^64, 0, 0, x43₁) (* : uint64_t, uint1_t *) in
- expr_let x49 := Z.add_with_get_carry(2^64, x48₂, 0, x44₁) (* : uint64_t, uint1_t *) in
- expr_let x50 := Z.add_with_get_carry(2^64, x49₂, 0, x45₁) (* : uint64_t, uint1_t *) in
- expr_let x51 := Z.add_with_get_carry(2^64, x50₂, 0, x46₁) (* : uint64_t, uint1_t *) in
- expr_let x52 := Z.add_with_get_carry(2^64, x51₂, x12, x47₁) (* : uint64_t, uint1_t *) in
- expr_let x53 := Z.add_with_get_carry(2^64, 0, 0, x48₁) (* : uint64_t, uint1_t *) in
- expr_let x54 := Z.add_with_get_carry(2^64, x53₂, 0, x49₁) (* : uint64_t, uint1_t *) in
- expr_let x55 := Z.add_with_get_carry(2^64, x54₂, 0, x50₁) (* : uint64_t, uint1_t *) in
- expr_let x56 := Z.add_with_get_carry(2^64, x55₂, 0, x51₁) (* : uint64_t, uint1_t *) in
- expr_let x57 := Z.add_with_get_carry(2^64, x56₂, x13, x52₁) (* : uint64_t, uint1_t *) in
- expr_let x58 := Z.add_with_get_carry(2^64, 0, 0, x53₁) (* : uint64_t, uint1_t *) in
- expr_let x59 := Z.add_with_get_carry(2^64, x58₂, 0, x54₁) (* : uint64_t, uint1_t *) in
- expr_let x60 := Z.add_with_get_carry(2^64, x59₂, 0, x55₁) (* : uint64_t, uint1_t *) in
- expr_let x61 := Z.add_with_get_carry(2^64, x60₂, 0, x56₁) (* : uint64_t, uint1_t *) in
- expr_let x62 := Z.add_with_get_carry(2^64, x61₂, x14, x57₁) (* : uint64_t, uint1_t *) in
- expr_let x63 := Z.add_with_get_carry(2^64, 0, 0, x58₁) (* : uint64_t, uint1_t *) in
- expr_let x64 := Z.add_with_get_carry(2^64, x63₂, 0, x59₁) (* : uint64_t, uint1_t *) in
- expr_let x65 := Z.add_with_get_carry(2^64, x64₂, 0, x60₁) (* : uint64_t, uint1_t *) in
- expr_let x66 := Z.add_with_get_carry(2^64, x65₂, 0, x61₁) (* : uint64_t, uint1_t *) in
- expr_let x67 := Z.add_with_get_carry(2^64, x66₂, x15, x62₁) (* : uint64_t, uint1_t *) in
- expr_let x68 := Z.add_with_get_carry(2^64, 0, 0, x63₁) (* : uint64_t, uint1_t *) in
- expr_let x69 := Z.add_with_get_carry(2^64, x68₂, 0, x64₁) (* : uint64_t, uint1_t *) in
- expr_let x70 := Z.add_with_get_carry(2^64, x69₂, 0, x65₁) (* : uint64_t, uint1_t *) in
- expr_let x71 := Z.add_with_get_carry(2^64, x70₂, 0, x66₁) (* : uint64_t, uint1_t *) in
- expr_let x72 := Z.add_with_get_carry(2^64, x71₂, x16, x67₁) (* : uint64_t, uint1_t *) in
- expr_let x73 := Z.add_with_get_carry(2^64, 0, 0, x68₁) (* : uint64_t, uint1_t *) in
- expr_let x74 := Z.add_with_get_carry(2^64, x73₂, 0, x69₁) (* : uint64_t, uint1_t *) in
- expr_let x75 := Z.add_with_get_carry(2^64, x74₂, 0, x70₁) (* : uint64_t, uint1_t *) in
- expr_let x76 := Z.add_with_get_carry(2^64, x75₂, 0, x71₁) (* : uint64_t, uint1_t *) in
- expr_let x77 := Z.add_with_get_carry(2^64, x76₂, x17, x72₁) (* : uint64_t, uint1_t *) in
- expr_let x78 := Z.add_with_get_carry(2^64, 0, 0, x73₁) (* : uint64_t, uint1_t *) in
- expr_let x79 := Z.add_with_get_carry(2^64, x78₂, 0, x74₁) (* : uint64_t, uint1_t *) in
- expr_let x80 := Z.add_with_get_carry(2^64, x79₂, 0, x75₁) (* : uint64_t, uint1_t *) in
- expr_let x81 := Z.add_with_get_carry(2^64, x80₂, 0, x76₁) (* : uint64_t, uint1_t *) in
- expr_let x82 := Z.add_with_get_carry(2^64, x81₂, x19, x77₁) (* : uint64_t, uint1_t *) in
- expr_let x83 := Z.add_with_get_carry(2^64, 0, 0, x78₁) (* : uint64_t, uint1_t *) in
- expr_let x84 := Z.add_with_get_carry(2^64, x83₂, 0, x79₁) (* : uint64_t, uint1_t *) in
- expr_let x85 := Z.add_with_get_carry(2^64, x84₂, 0, x80₁) (* : uint64_t, uint1_t *) in
- expr_let x86 := Z.add_with_get_carry(2^64, x85₂, 0, x81₁) (* : uint64_t, uint1_t *) in
- expr_let x87 := Z.add_with_get_carry(2^64, x86₂, x20, x82₁) (* : uint64_t, uint1_t *) in
- expr_let x88 := Z.add_with_get_carry(2^64, 0, 0, x83₁) (* : uint64_t, uint1_t *) in
- expr_let x89 := Z.add_with_get_carry(2^64, x88₂, 0, x84₁) (* : uint64_t, uint1_t *) in
- expr_let x90 := Z.add_with_get_carry(2^64, x89₂, 0, x85₁) (* : uint64_t, uint1_t *) in
- expr_let x91 := Z.add_with_get_carry(2^64, x90₂, x18, x86₁) (* : uint64_t, uint1_t *) in
- expr_let x92 := Z.add_with_get_carry(2^64, x91₂, x21, x87₁) (* : uint64_t, uint1_t *) in
- expr_let x93 := Z.add_with_get_carry(2^64, 0, 0, x88₁) (* : uint64_t, uint1_t *) in
- expr_let x94 := Z.add_with_get_carry(2^64, x93₂, 0, x89₁) (* : uint64_t, uint1_t *) in
- expr_let x95 := Z.add_with_get_carry(2^64, x94₂, 0, x90₁) (* : uint64_t, uint1_t *) in
- expr_let x96 := Z.add_with_get_carry(2^64, x95₂, x24, x91₁) (* : uint64_t, uint1_t *) in
- expr_let x97 := Z.add_with_get_carry(2^64, x96₂, x22, x92₁) (* : uint64_t, uint1_t *) in
- expr_let x98 := Z.add_with_get_carry(2^64, 0, 0, x93₁) (* : uint64_t, uint1_t *) in
- expr_let x99 := Z.add_with_get_carry(2^64, x98₂, 0, x94₁) (* : uint64_t, uint1_t *) in
- expr_let x100 := Z.add_with_get_carry(2^64, x99₂, x26, x95₁) (* : uint64_t, uint1_t *) in
- expr_let x101 := Z.add_with_get_carry(2^64, x100₂, x25, x96₁) (* : uint64_t, uint1_t *) in
- expr_let x102 := Z.add_with_get_carry(2^64, x101₂, x23, x97₁) (* : uint64_t, uint1_t *) in
- expr_let x103 := Z.add_with_get_carry(2^64, 0, 0, x98₁) (* : uint64_t, uint1_t *) in
- expr_let x104 := Z.add_with_get_carry(2^64, x103₂, 0, x99₁) (* : uint64_t, uint1_t *) in
- expr_let x105 := Z.add_with_get_carry(2^64, x104₂, x32, x100₁) (* : uint64_t, uint1_t *) in
- expr_let x106 := Z.add_with_get_carry(2^64, x105₂, x30, x101₁) (* : uint64_t, uint1_t *) in
- expr_let x107 := Z.add_with_get_carry(2^64, x106₂, x27, x102₁) (* : uint64_t, uint1_t *) in
- expr_let x108 := Z.add_with_get_carry(2^64, 0, 0, x103₁) (* : uint64_t, uint1_t *) in
- expr_let x109 := Z.add_with_get_carry(2^64, x108₂, x34, x104₁) (* : uint64_t, uint1_t *) in
- expr_let x110 := Z.add_with_get_carry(2^64, x109₂, x33, x105₁) (* : uint64_t, uint1_t *) in
- expr_let x111 := Z.add_with_get_carry(2^64, x110₂, x31, x106₁) (* : uint64_t, uint1_t *) in
- expr_let x112 := Z.add_with_get_carry(2^64, x111₂, x28, x107₁) (* : uint64_t, uint1_t *) in
- expr_let x113 := Z.add_with_get_carry(2^64, 0, 0, x108₁) (* : uint64_t, uint1_t *) in
- expr_let x114 := Z.add_with_get_carry(2^64, x113₂, x40, x109₁) (* : uint64_t, uint1_t *) in
- expr_let x115 := Z.add_with_get_carry(2^64, x114₂, x38, x110₁) (* : uint64_t, uint1_t *) in
- expr_let x116 := Z.add_with_get_carry(2^64, x115₂, x36, x111₁) (* : uint64_t, uint1_t *) in
- expr_let x117 := Z.add_with_get_carry(2^64, x116₂, x29, x112₁) (* : uint64_t, uint1_t *) in
- expr_let x118 := Z.add_with_get_carry(2^64, 0, x113₁, 0) (* : uint64_t, uint1_t *) in
- expr_let x119 := Z.add_with_get_carry(2^64, x118₂, x114₁, 0) (* : uint64_t, uint1_t *) in
- expr_let x120 := Z.add_with_get_carry(2^64, x119₂, x115₁, 0) (* : uint64_t, uint1_t *) in
- expr_let x121 := Z.add_with_get_carry(2^64, x120₂, x116₁, 0) (* : uint64_t, uint1_t *) in
- expr_let x122 := Z.add_with_get_carry(2^64, x121₂, x117₁, 0) (* : uint64_t, uint1_t *) in
- expr_let x123 := (Z.mul_split(2^64, x118₁, 2^64-1))₁ (* : uint64_t *) in
- expr_let x124 := Z.mul_split(2^64, x123, 2^32-1) (* : uint64_t, uint64_t *) in
- expr_let x125 := Z.mul_split(2^64, x123, 2^64-1) (* : uint64_t, uint64_t *) in
- expr_let x126 := Z.mul_split(2^64, x123, 0xffffffff00000000) (* : uint64_t, uint64_t *) in
- expr_let x127 := Z.mul_split(2^64, x123, 1) (* : uint64_t, uint1_t *) in
- expr_let x128 := x124₂ * 1 (* : uint64_t *) in
- expr_let x129 := x124₁ * 1 (* : uint64_t *) in
- expr_let x130 := x125₂ * 1 (* : uint64_t *) in
- expr_let x131 := x125₁ * 1 (* : uint64_t *) in
- expr_let x132 := x126₂ * 1 (* : uint64_t *) in
- expr_let x133 := x126₁ * 1 (* : uint64_t *) in
- expr_let x134 := x127₂ * 1 (* : uint1_t *) in
- expr_let x135 := x127₁ * 1 (* : uint64_t *) in
- expr_let x136 := Z.add_with_get_carry(2^64, 0, 0, x135) (* : uint64_t, uint1_t *) in
- expr_let x137 := Z.add_with_get_carry(2^64, x136₂, 0, x134) (* : uint1_t, uint1_t *) in
- expr_let x138 := Z.add_with_get_carry(2^64, x137₂, 0, x132) (* : uint64_t, uint1_t *) in
- expr_let x139 := Z.add_with_get_carry(2^64, x138₂, 0, x130) (* : uint64_t, uint1_t *) in
- expr_let x140 := Z.add_with_get_carry(2^64, x139₂, 0, x128) (* : uint64_t, uint1_t *) in
- expr_let x141 := Z.add_with_get_carry(2^64, 0, 0, x136₁) (* : uint64_t, uint1_t *) in
- expr_let x142 := Z.add_with_get_carry(2^64, x141₂, 0, x137₁) (* : uint1_t, uint1_t *) in
- expr_let x143 := Z.add_with_get_carry(2^64, x142₂, 0, x138₁) (* : uint64_t, uint1_t *) in
- expr_let x144 := Z.add_with_get_carry(2^64, x143₂, 0, x139₁) (* : uint64_t, uint1_t *) in
- expr_let x145 := Z.add_with_get_carry(2^64, x144₂, 0, x140₁) (* : uint64_t, uint1_t *) in
- expr_let x146 := Z.add_with_get_carry(2^64, 0, 0, x141₁) (* : uint64_t, uint1_t *) in
- expr_let x147 := Z.add_with_get_carry(2^64, x146₂, 0, x142₁) (* : uint1_t, uint1_t *) in
- expr_let x148 := Z.add_with_get_carry(2^64, x147₂, 0, x143₁) (* : uint64_t, uint1_t *) in
- expr_let x149 := Z.add_with_get_carry(2^64, x148₂, 0, x144₁) (* : uint64_t, uint1_t *) in
- expr_let x150 := Z.add_with_get_carry(2^64, x149₂, 0, x145₁) (* : uint64_t, uint1_t *) in
- expr_let x151 := Z.add_with_get_carry(2^64, 0, 0, x146₁) (* : uint64_t, uint1_t *) in
- expr_let x152 := Z.add_with_get_carry(2^64, x151₂, 0, x147₁) (* : uint1_t, uint1_t *) in
- expr_let x153 := Z.add_with_get_carry(2^64, x152₂, 0, x148₁) (* : uint64_t, uint1_t *) in
- expr_let x154 := Z.add_with_get_carry(2^64, x153₂, 0, x149₁) (* : uint64_t, uint1_t *) in
- expr_let x155 := Z.add_with_get_carry(2^64, x154₂, 0, x150₁) (* : uint64_t, uint1_t *) in
- expr_let x156 := Z.add_with_get_carry(2^64, 0, 0, x151₁) (* : uint64_t, uint1_t *) in
- expr_let x157 := Z.add_with_get_carry(2^64, x156₂, 0, x152₁) (* : uint1_t, uint1_t *) in
- expr_let x158 := Z.add_with_get_carry(2^64, x157₂, 0, x153₁) (* : uint64_t, uint1_t *) in
- expr_let x159 := Z.add_with_get_carry(2^64, x158₂, 0, x154₁) (* : uint64_t, uint1_t *) in
- expr_let x160 := Z.add_with_get_carry(2^64, x159₂, 0, x155₁) (* : uint64_t, uint1_t *) in
- expr_let x161 := Z.add_with_get_carry(2^64, 0, 0, x156₁) (* : uint64_t, uint1_t *) in
- expr_let x162 := Z.add_with_get_carry(2^64, x161₂, 0, x157₁) (* : uint1_t, uint1_t *) in
- expr_let x163 := Z.add_with_get_carry(2^64, x162₂, 0, x158₁) (* : uint64_t, uint1_t *) in
- expr_let x164 := Z.add_with_get_carry(2^64, x163₂, 0, x159₁) (* : uint64_t, uint1_t *) in
- expr_let x165 := Z.add_with_get_carry(2^64, x164₂, 0, x160₁) (* : uint64_t, uint1_t *) in
- expr_let x166 := Z.add_with_get_carry(2^64, 0, 0, x161₁) (* : uint64_t, uint1_t *) in
- expr_let x167 := Z.add_with_get_carry(2^64, x166₂, 0, x162₁) (* : uint1_t, uint1_t *) in
- expr_let x168 := Z.add_with_get_carry(2^64, x167₂, 0, x163₁) (* : uint64_t, uint1_t *) in
- expr_let x169 := Z.add_with_get_carry(2^64, x168₂, 0, x164₁) (* : uint64_t, uint1_t *) in
- expr_let x170 := Z.add_with_get_carry(2^64, x169₂, 0, x165₁) (* : uint64_t, uint1_t *) in
- expr_let x171 := Z.add_with_get_carry(2^64, 0, 0, x166₁) (* : uint64_t, uint1_t *) in
- expr_let x172 := Z.add_with_get_carry(2^64, x171₂, 0, x167₁) (* : uint1_t, uint1_t *) in
- expr_let x173 := Z.add_with_get_carry(2^64, x172₂, 0, x168₁) (* : uint64_t, uint1_t *) in
- expr_let x174 := Z.add_with_get_carry(2^64, x173₂, 0, x169₁) (* : uint64_t, uint1_t *) in
- expr_let x175 := Z.add_with_get_carry(2^64, x174₂, 0, x170₁) (* : uint64_t, uint1_t *) in
- expr_let x176 := Z.add_with_get_carry(2^64, 0, 0, x171₁) (* : uint64_t, uint1_t *) in
- expr_let x177 := Z.add_with_get_carry(2^64, x176₂, 0, x172₁) (* : uint1_t, uint1_t *) in
- expr_let x178 := Z.add_with_get_carry(2^64, x177₂, 0, x173₁) (* : uint64_t, uint1_t *) in
- expr_let x179 := Z.add_with_get_carry(2^64, x178₂, 0, x174₁) (* : uint64_t, uint1_t *) in
- expr_let x180 := Z.add_with_get_carry(2^64, x179₂, 0, x175₁) (* : uint64_t, uint1_t *) in
- expr_let x181 := Z.add_with_get_carry(2^64, 0, 0, x176₁) (* : uint64_t, uint1_t *) in
- expr_let x182 := Z.add_with_get_carry(2^64, x181₂, 0, x177₁) (* : uint1_t, uint1_t *) in
- expr_let x183 := Z.add_with_get_carry(2^64, x182₂, 0, x178₁) (* : uint64_t, uint1_t *) in
- expr_let x184 := Z.add_with_get_carry(2^64, x183₂, 0, x179₁) (* : uint64_t, uint1_t *) in
- expr_let x185 := Z.add_with_get_carry(2^64, x184₂, 0, x180₁) (* : uint64_t, uint1_t *) in
- expr_let x186 := Z.add_with_get_carry(2^64, 0, 0, x181₁) (* : uint64_t, uint1_t *) in
- expr_let x187 := Z.add_with_get_carry(2^64, x186₂, 0, x182₁) (* : uint1_t, uint1_t *) in
- expr_let x188 := Z.add_with_get_carry(2^64, x187₂, 0, x183₁) (* : uint64_t, uint1_t *) in
- expr_let x189 := Z.add_with_get_carry(2^64, x188₂, 0, x184₁) (* : uint64_t, uint1_t *) in
- expr_let x190 := Z.add_with_get_carry(2^64, x189₂, 0, x185₁) (* : uint64_t, uint1_t *) in
- expr_let x191 := Z.add_with_get_carry(2^64, 0, 0, x186₁) (* : uint64_t, uint1_t *) in
- expr_let x192 := Z.add_with_get_carry(2^64, x191₂, 0, x187₁) (* : uint1_t, uint1_t *) in
- expr_let x193 := Z.add_with_get_carry(2^64, x192₂, 0, x188₁) (* : uint64_t, uint1_t *) in
- expr_let x194 := Z.add_with_get_carry(2^64, x193₂, 0, x189₁) (* : uint64_t, uint1_t *) in
- expr_let x195 := Z.add_with_get_carry(2^64, x194₂, 0, x190₁) (* : uint64_t, uint1_t *) in
- expr_let x196 := Z.add_with_get_carry(2^64, 0, 0, x191₁) (* : uint64_t, uint1_t *) in
- expr_let x197 := Z.add_with_get_carry(2^64, x196₂, 0, x192₁) (* : uint1_t, uint1_t *) in
- expr_let x198 := Z.add_with_get_carry(2^64, x197₂, 0, x193₁) (* : uint64_t, uint1_t *) in
- expr_let x199 := Z.add_with_get_carry(2^64, x198₂, 0, x194₁) (* : uint64_t, uint1_t *) in
- expr_let x200 := Z.add_with_get_carry(2^64, x199₂, 0, x195₁) (* : uint64_t, uint1_t *) in
- expr_let x201 := Z.add_with_get_carry(2^64, 0, 0, x196₁) (* : uint64_t, uint1_t *) in
- expr_let x202 := Z.add_with_get_carry(2^64, x201₂, 0, x197₁) (* : uint1_t, uint1_t *) in
- expr_let x203 := Z.add_with_get_carry(2^64, x202₂, 0, x198₁) (* : uint64_t, uint1_t *) in
- expr_let x204 := Z.add_with_get_carry(2^64, x203₂, 0, x199₁) (* : uint64_t, uint1_t *) in
- expr_let x205 := Z.add_with_get_carry(2^64, x204₂, 0, x200₁) (* : uint64_t, uint1_t *) in
- expr_let x206 := Z.add_with_get_carry(2^64, 0, 0, x201₁) (* : uint64_t, uint1_t *) in
- expr_let x207 := Z.add_with_get_carry(2^64, x206₂, x133, x202₁) (* : uint64_t, uint1_t *) in
- expr_let x208 := Z.add_with_get_carry(2^64, x207₂, x131, x203₁) (* : uint64_t, uint1_t *) in
- expr_let x209 := Z.add_with_get_carry(2^64, x208₂, x129, x204₁) (* : uint64_t, uint1_t *) in
- expr_let x210 := Z.add_with_get_carry(2^64, x209₂, 0, x205₁) (* : uint64_t, uint1_t *) in
- expr_let x211 := Z.add_with_get_carry(2^64, 0, x206₁, x118₁) (* : uint64_t, uint1_t *) in
- expr_let x212 := Z.add_with_get_carry(2^64, x211₂, x207₁, x119₁) (* : uint64_t, uint1_t *) in
- expr_let x213 := Z.add_with_get_carry(2^64, x212₂, x208₁, x120₁) (* : uint64_t, uint1_t *) in
- expr_let x214 := Z.add_with_get_carry(2^64, x213₂, x209₁, x121₁) (* : uint64_t, uint1_t *) in
- expr_let x215 := Z.add_with_get_carry(2^64, x214₂, x210₁, x122₁) (* : uint64_t, uint1_t *) in
- expr_let x216 := Z.add_with_get_carry(2^64, x215₂, 0, x122₂) (* : uint1_t, uint1_t *) in
- expr_let x217 := Z.mul_split(2^64, x3, x2[3]) (* : uint64_t, uint64_t *) in
- expr_let x218 := Z.mul_split(2^64, x3, x2[2]) (* : uint64_t, uint64_t *) in
- expr_let x219 := Z.mul_split(2^64, x3, x2[1]) (* : uint64_t, uint64_t *) in
- expr_let x220 := Z.mul_split(2^64, x3, x2[0]) (* : uint64_t, uint64_t *) in
- expr_let x221 := 2^192 * 0 (* : uint1_t *) in
- expr_let x222 := 2^128 * 0 (* : uint1_t *) in
- expr_let x223 := 2^128 * 0 (* : uint1_t *) in
- expr_let x224 := 2^64 * 0 (* : uint1_t *) in
- expr_let x225 := 2^64 * 0 (* : uint1_t *) in
- expr_let x226 := 1 * 0 (* : uint1_t *) in
- expr_let x227 := 1 * 0 (* : uint1_t *) in
- expr_let x228 := 1 * 0 (* : uint1_t *) in
- expr_let x229 := 2^128 * 0 (* : uint1_t *) in
- expr_let x230 := 2^64 * 0 (* : uint1_t *) in
- expr_let x231 := 2^64 * 0 (* : uint1_t *) in
- expr_let x232 := 1 * 0 (* : uint1_t *) in
- expr_let x233 := 1 * 0 (* : uint1_t *) in
- expr_let x234 := 1 * 0 (* : uint1_t *) in
- expr_let x235 := 1 * 0 (* : uint1_t *) in
- expr_let x236 := 1 * 0 (* : uint1_t *) in
- expr_let x237 := 2^64 * 0 (* : uint1_t *) in
- expr_let x238 := 1 * 0 (* : uint1_t *) in
- expr_let x239 := 1 * 0 (* : uint1_t *) in
- expr_let x240 := 1 * 0 (* : uint1_t *) in
- expr_let x241 := 1 * 0 (* : uint1_t *) in
- expr_let x242 := 1 * 0 (* : uint1_t *) in
- expr_let x243 := 1 * 0 (* : uint1_t *) in
- expr_let x244 := 1 * 0 (* : uint1_t *) in
- expr_let x245 := x217₂ * 1 (* : uint64_t *) in
- expr_let x246 := x217₁ * 1 (* : uint64_t *) in
- expr_let x247 := x218₂ * 1 (* : uint64_t *) in
- expr_let x248 := x218₁ * 1 (* : uint64_t *) in
- expr_let x249 := x219₂ * 1 (* : uint64_t *) in
- expr_let x250 := x219₁ * 1 (* : uint64_t *) in
- expr_let x251 := x220₂ * 1 (* : uint64_t *) in
- expr_let x252 := x220₁ * 1 (* : uint64_t *) in
- expr_let x253 := Z.add_with_get_carry(2^64, 0, 0, x252) (* : uint64_t, uint1_t *) in
- expr_let x254 := Z.add_with_get_carry(2^64, x253₂, 0, x251) (* : uint64_t, uint1_t *) in
- expr_let x255 := Z.add_with_get_carry(2^64, x254₂, 0, x249) (* : uint64_t, uint1_t *) in
- expr_let x256 := Z.add_with_get_carry(2^64, x255₂, 0, x247) (* : uint64_t, uint1_t *) in
- expr_let x257 := Z.add_with_get_carry(2^64, x256₂, x221, x245) (* : uint64_t, uint1_t *) in
- expr_let x258 := Z.add_with_get_carry(2^64, 0, 0, x253₁) (* : uint64_t, uint1_t *) in
- expr_let x259 := Z.add_with_get_carry(2^64, x258₂, 0, x254₁) (* : uint64_t, uint1_t *) in
- expr_let x260 := Z.add_with_get_carry(2^64, x259₂, 0, x255₁) (* : uint64_t, uint1_t *) in
- expr_let x261 := Z.add_with_get_carry(2^64, x260₂, 0, x256₁) (* : uint64_t, uint1_t *) in
- expr_let x262 := Z.add_with_get_carry(2^64, x261₂, x222, x257₁) (* : uint64_t, uint1_t *) in
- expr_let x263 := Z.add_with_get_carry(2^64, 0, 0, x258₁) (* : uint64_t, uint1_t *) in
- expr_let x264 := Z.add_with_get_carry(2^64, x263₂, 0, x259₁) (* : uint64_t, uint1_t *) in
- expr_let x265 := Z.add_with_get_carry(2^64, x264₂, 0, x260₁) (* : uint64_t, uint1_t *) in
- expr_let x266 := Z.add_with_get_carry(2^64, x265₂, 0, x261₁) (* : uint64_t, uint1_t *) in
- expr_let x267 := Z.add_with_get_carry(2^64, x266₂, x223, x262₁) (* : uint64_t, uint1_t *) in
- expr_let x268 := Z.add_with_get_carry(2^64, 0, 0, x263₁) (* : uint64_t, uint1_t *) in
- expr_let x269 := Z.add_with_get_carry(2^64, x268₂, 0, x264₁) (* : uint64_t, uint1_t *) in
- expr_let x270 := Z.add_with_get_carry(2^64, x269₂, 0, x265₁) (* : uint64_t, uint1_t *) in
- expr_let x271 := Z.add_with_get_carry(2^64, x270₂, 0, x266₁) (* : uint64_t, uint1_t *) in
- expr_let x272 := Z.add_with_get_carry(2^64, x271₂, x224, x267₁) (* : uint64_t, uint1_t *) in
- expr_let x273 := Z.add_with_get_carry(2^64, 0, 0, x268₁) (* : uint64_t, uint1_t *) in
- expr_let x274 := Z.add_with_get_carry(2^64, x273₂, 0, x269₁) (* : uint64_t, uint1_t *) in
- expr_let x275 := Z.add_with_get_carry(2^64, x274₂, 0, x270₁) (* : uint64_t, uint1_t *) in
- expr_let x276 := Z.add_with_get_carry(2^64, x275₂, 0, x271₁) (* : uint64_t, uint1_t *) in
- expr_let x277 := Z.add_with_get_carry(2^64, x276₂, x225, x272₁) (* : uint64_t, uint1_t *) in
- expr_let x278 := Z.add_with_get_carry(2^64, 0, 0, x273₁) (* : uint64_t, uint1_t *) in
- expr_let x279 := Z.add_with_get_carry(2^64, x278₂, 0, x274₁) (* : uint64_t, uint1_t *) in
- expr_let x280 := Z.add_with_get_carry(2^64, x279₂, 0, x275₁) (* : uint64_t, uint1_t *) in
- expr_let x281 := Z.add_with_get_carry(2^64, x280₂, 0, x276₁) (* : uint64_t, uint1_t *) in
- expr_let x282 := Z.add_with_get_carry(2^64, x281₂, x226, x277₁) (* : uint64_t, uint1_t *) in
- expr_let x283 := Z.add_with_get_carry(2^64, 0, 0, x278₁) (* : uint64_t, uint1_t *) in
- expr_let x284 := Z.add_with_get_carry(2^64, x283₂, 0, x279₁) (* : uint64_t, uint1_t *) in
- expr_let x285 := Z.add_with_get_carry(2^64, x284₂, 0, x280₁) (* : uint64_t, uint1_t *) in
- expr_let x286 := Z.add_with_get_carry(2^64, x285₂, 0, x281₁) (* : uint64_t, uint1_t *) in
- expr_let x287 := Z.add_with_get_carry(2^64, x286₂, x227, x282₁) (* : uint64_t, uint1_t *) in
- expr_let x288 := Z.add_with_get_carry(2^64, 0, 0, x283₁) (* : uint64_t, uint1_t *) in
- expr_let x289 := Z.add_with_get_carry(2^64, x288₂, 0, x284₁) (* : uint64_t, uint1_t *) in
- expr_let x290 := Z.add_with_get_carry(2^64, x289₂, 0, x285₁) (* : uint64_t, uint1_t *) in
- expr_let x291 := Z.add_with_get_carry(2^64, x290₂, 0, x286₁) (* : uint64_t, uint1_t *) in
- expr_let x292 := Z.add_with_get_carry(2^64, x291₂, x229, x287₁) (* : uint64_t, uint1_t *) in
- expr_let x293 := Z.add_with_get_carry(2^64, 0, 0, x288₁) (* : uint64_t, uint1_t *) in
- expr_let x294 := Z.add_with_get_carry(2^64, x293₂, 0, x289₁) (* : uint64_t, uint1_t *) in
- expr_let x295 := Z.add_with_get_carry(2^64, x294₂, 0, x290₁) (* : uint64_t, uint1_t *) in
- expr_let x296 := Z.add_with_get_carry(2^64, x295₂, 0, x291₁) (* : uint64_t, uint1_t *) in
- expr_let x297 := Z.add_with_get_carry(2^64, x296₂, x230, x292₁) (* : uint64_t, uint1_t *) in
- expr_let x298 := Z.add_with_get_carry(2^64, 0, 0, x293₁) (* : uint64_t, uint1_t *) in
- expr_let x299 := Z.add_with_get_carry(2^64, x298₂, 0, x294₁) (* : uint64_t, uint1_t *) in
- expr_let x300 := Z.add_with_get_carry(2^64, x299₂, 0, x295₁) (* : uint64_t, uint1_t *) in
- expr_let x301 := Z.add_with_get_carry(2^64, x300₂, x228, x296₁) (* : uint64_t, uint1_t *) in
- expr_let x302 := Z.add_with_get_carry(2^64, x301₂, x231, x297₁) (* : uint64_t, uint1_t *) in
- expr_let x303 := Z.add_with_get_carry(2^64, 0, 0, x298₁) (* : uint64_t, uint1_t *) in
- expr_let x304 := Z.add_with_get_carry(2^64, x303₂, 0, x299₁) (* : uint64_t, uint1_t *) in
- expr_let x305 := Z.add_with_get_carry(2^64, x304₂, 0, x300₁) (* : uint64_t, uint1_t *) in
- expr_let x306 := Z.add_with_get_carry(2^64, x305₂, x234, x301₁) (* : uint64_t, uint1_t *) in
- expr_let x307 := Z.add_with_get_carry(2^64, x306₂, x232, x302₁) (* : uint64_t, uint1_t *) in
- expr_let x308 := Z.add_with_get_carry(2^64, 0, 0, x303₁) (* : uint64_t, uint1_t *) in
- expr_let x309 := Z.add_with_get_carry(2^64, x308₂, 0, x304₁) (* : uint64_t, uint1_t *) in
- expr_let x310 := Z.add_with_get_carry(2^64, x309₂, x236, x305₁) (* : uint64_t, uint1_t *) in
- expr_let x311 := Z.add_with_get_carry(2^64, x310₂, x235, x306₁) (* : uint64_t, uint1_t *) in
- expr_let x312 := Z.add_with_get_carry(2^64, x311₂, x233, x307₁) (* : uint64_t, uint1_t *) in
- expr_let x313 := Z.add_with_get_carry(2^64, 0, 0, x308₁) (* : uint64_t, uint1_t *) in
- expr_let x314 := Z.add_with_get_carry(2^64, x313₂, 0, x309₁) (* : uint64_t, uint1_t *) in
- expr_let x315 := Z.add_with_get_carry(2^64, x314₂, x242, x310₁) (* : uint64_t, uint1_t *) in
- expr_let x316 := Z.add_with_get_carry(2^64, x315₂, x240, x311₁) (* : uint64_t, uint1_t *) in
- expr_let x317 := Z.add_with_get_carry(2^64, x316₂, x237, x312₁) (* : uint64_t, uint1_t *) in
- expr_let x318 := Z.add_with_get_carry(2^64, 0, 0, x313₁) (* : uint64_t, uint1_t *) in
- expr_let x319 := Z.add_with_get_carry(2^64, x318₂, x244, x314₁) (* : uint64_t, uint1_t *) in
- expr_let x320 := Z.add_with_get_carry(2^64, x319₂, x243, x315₁) (* : uint64_t, uint1_t *) in
- expr_let x321 := Z.add_with_get_carry(2^64, x320₂, x241, x316₁) (* : uint64_t, uint1_t *) in
- expr_let x322 := Z.add_with_get_carry(2^64, x321₂, x238, x317₁) (* : uint64_t, uint1_t *) in
- expr_let x323 := Z.add_with_get_carry(2^64, 0, 0, x318₁) (* : uint64_t, uint1_t *) in
- expr_let x324 := Z.add_with_get_carry(2^64, x323₂, x250, x319₁) (* : uint64_t, uint1_t *) in
- expr_let x325 := Z.add_with_get_carry(2^64, x324₂, x248, x320₁) (* : uint64_t, uint1_t *) in
- expr_let x326 := Z.add_with_get_carry(2^64, x325₂, x246, x321₁) (* : uint64_t, uint1_t *) in
- expr_let x327 := Z.add_with_get_carry(2^64, x326₂, x239, x322₁) (* : uint64_t, uint1_t *) in
- expr_let x328 := Z.add_with_get_carry(2^64, 0, x323₁, x212₁) (* : uint64_t, uint1_t *) in
- expr_let x329 := Z.add_with_get_carry(2^64, x328₂, x324₁, x213₁) (* : uint64_t, uint1_t *) in
- expr_let x330 := Z.add_with_get_carry(2^64, x329₂, x325₁, x214₁) (* : uint64_t, uint1_t *) in
- expr_let x331 := Z.add_with_get_carry(2^64, x330₂, x326₁, x215₁) (* : uint64_t, uint1_t *) in
- expr_let x332 := Z.add_with_get_carry(2^64, x331₂, x327₁, x216₁) (* : uint64_t, uint1_t *) in
- expr_let x333 := (Z.mul_split(2^64, x328₁, 2^64-1))₁ (* : uint64_t *) in
- expr_let x334 := Z.mul_split(2^64, x333, 2^32-1) (* : uint64_t, uint64_t *) in
- expr_let x335 := Z.mul_split(2^64, x333, 2^64-1) (* : uint64_t, uint64_t *) in
- expr_let x336 := Z.mul_split(2^64, x333, 0xffffffff00000000) (* : uint64_t, uint64_t *) in
- expr_let x337 := Z.mul_split(2^64, x333, 1) (* : uint64_t, uint1_t *) in
- expr_let x338 := x334₂ * 1 (* : uint64_t *) in
- expr_let x339 := x334₁ * 1 (* : uint64_t *) in
- expr_let x340 := x335₂ * 1 (* : uint64_t *) in
- expr_let x341 := x335₁ * 1 (* : uint64_t *) in
- expr_let x342 := x336₂ * 1 (* : uint64_t *) in
- expr_let x343 := x336₁ * 1 (* : uint64_t *) in
- expr_let x344 := x337₂ * 1 (* : uint1_t *) in
- expr_let x345 := x337₁ * 1 (* : uint64_t *) in
- expr_let x346 := Z.add_with_get_carry(2^64, 0, 0, x345) (* : uint64_t, uint1_t *) in
- expr_let x347 := Z.add_with_get_carry(2^64, x346₂, 0, x344) (* : uint1_t, uint1_t *) in
- expr_let x348 := Z.add_with_get_carry(2^64, x347₂, 0, x342) (* : uint64_t, uint1_t *) in
- expr_let x349 := Z.add_with_get_carry(2^64, x348₂, 0, x340) (* : uint64_t, uint1_t *) in
- expr_let x350 := Z.add_with_get_carry(2^64, x349₂, 0, x338) (* : uint64_t, uint1_t *) in
- expr_let x351 := Z.add_with_get_carry(2^64, 0, 0, x346₁) (* : uint64_t, uint1_t *) in
- expr_let x352 := Z.add_with_get_carry(2^64, x351₂, 0, x347₁) (* : uint1_t, uint1_t *) in
- expr_let x353 := Z.add_with_get_carry(2^64, x352₂, 0, x348₁) (* : uint64_t, uint1_t *) in
- expr_let x354 := Z.add_with_get_carry(2^64, x353₂, 0, x349₁) (* : uint64_t, uint1_t *) in
- expr_let x355 := Z.add_with_get_carry(2^64, x354₂, 0, x350₁) (* : uint64_t, uint1_t *) in
- expr_let x356 := Z.add_with_get_carry(2^64, 0, 0, x351₁) (* : uint64_t, uint1_t *) in
- expr_let x357 := Z.add_with_get_carry(2^64, x356₂, 0, x352₁) (* : uint1_t, uint1_t *) in
- expr_let x358 := Z.add_with_get_carry(2^64, x357₂, 0, x353₁) (* : uint64_t, uint1_t *) in
- expr_let x359 := Z.add_with_get_carry(2^64, x358₂, 0, x354₁) (* : uint64_t, uint1_t *) in
- expr_let x360 := Z.add_with_get_carry(2^64, x359₂, 0, x355₁) (* : uint64_t, uint1_t *) in
- expr_let x361 := Z.add_with_get_carry(2^64, 0, 0, x356₁) (* : uint64_t, uint1_t *) in
- expr_let x362 := Z.add_with_get_carry(2^64, x361₂, 0, x357₁) (* : uint1_t, uint1_t *) in
- expr_let x363 := Z.add_with_get_carry(2^64, x362₂, 0, x358₁) (* : uint64_t, uint1_t *) in
- expr_let x364 := Z.add_with_get_carry(2^64, x363₂, 0, x359₁) (* : uint64_t, uint1_t *) in
- expr_let x365 := Z.add_with_get_carry(2^64, x364₂, 0, x360₁) (* : uint64_t, uint1_t *) in
- expr_let x366 := Z.add_with_get_carry(2^64, 0, 0, x361₁) (* : uint64_t, uint1_t *) in
- expr_let x367 := Z.add_with_get_carry(2^64, x366₂, 0, x362₁) (* : uint1_t, uint1_t *) in
- expr_let x368 := Z.add_with_get_carry(2^64, x367₂, 0, x363₁) (* : uint64_t, uint1_t *) in
- expr_let x369 := Z.add_with_get_carry(2^64, x368₂, 0, x364₁) (* : uint64_t, uint1_t *) in
- expr_let x370 := Z.add_with_get_carry(2^64, x369₂, 0, x365₁) (* : uint64_t, uint1_t *) in
- expr_let x371 := Z.add_with_get_carry(2^64, 0, 0, x366₁) (* : uint64_t, uint1_t *) in
- expr_let x372 := Z.add_with_get_carry(2^64, x371₂, 0, x367₁) (* : uint1_t, uint1_t *) in
- expr_let x373 := Z.add_with_get_carry(2^64, x372₂, 0, x368₁) (* : uint64_t, uint1_t *) in
- expr_let x374 := Z.add_with_get_carry(2^64, x373₂, 0, x369₁) (* : uint64_t, uint1_t *) in
- expr_let x375 := Z.add_with_get_carry(2^64, x374₂, 0, x370₁) (* : uint64_t, uint1_t *) in
- expr_let x376 := Z.add_with_get_carry(2^64, 0, 0, x371₁) (* : uint64_t, uint1_t *) in
- expr_let x377 := Z.add_with_get_carry(2^64, x376₂, 0, x372₁) (* : uint1_t, uint1_t *) in
- expr_let x378 := Z.add_with_get_carry(2^64, x377₂, 0, x373₁) (* : uint64_t, uint1_t *) in
- expr_let x379 := Z.add_with_get_carry(2^64, x378₂, 0, x374₁) (* : uint64_t, uint1_t *) in
- expr_let x380 := Z.add_with_get_carry(2^64, x379₂, 0, x375₁) (* : uint64_t, uint1_t *) in
- expr_let x381 := Z.add_with_get_carry(2^64, 0, 0, x376₁) (* : uint64_t, uint1_t *) in
- expr_let x382 := Z.add_with_get_carry(2^64, x381₂, 0, x377₁) (* : uint1_t, uint1_t *) in
- expr_let x383 := Z.add_with_get_carry(2^64, x382₂, 0, x378₁) (* : uint64_t, uint1_t *) in
- expr_let x384 := Z.add_with_get_carry(2^64, x383₂, 0, x379₁) (* : uint64_t, uint1_t *) in
- expr_let x385 := Z.add_with_get_carry(2^64, x384₂, 0, x380₁) (* : uint64_t, uint1_t *) in
- expr_let x386 := Z.add_with_get_carry(2^64, 0, 0, x381₁) (* : uint64_t, uint1_t *) in
- expr_let x387 := Z.add_with_get_carry(2^64, x386₂, 0, x382₁) (* : uint1_t, uint1_t *) in
- expr_let x388 := Z.add_with_get_carry(2^64, x387₂, 0, x383₁) (* : uint64_t, uint1_t *) in
- expr_let x389 := Z.add_with_get_carry(2^64, x388₂, 0, x384₁) (* : uint64_t, uint1_t *) in
- expr_let x390 := Z.add_with_get_carry(2^64, x389₂, 0, x385₁) (* : uint64_t, uint1_t *) in
- expr_let x391 := Z.add_with_get_carry(2^64, 0, 0, x386₁) (* : uint64_t, uint1_t *) in
- expr_let x392 := Z.add_with_get_carry(2^64, x391₂, 0, x387₁) (* : uint1_t, uint1_t *) in
- expr_let x393 := Z.add_with_get_carry(2^64, x392₂, 0, x388₁) (* : uint64_t, uint1_t *) in
- expr_let x394 := Z.add_with_get_carry(2^64, x393₂, 0, x389₁) (* : uint64_t, uint1_t *) in
- expr_let x395 := Z.add_with_get_carry(2^64, x394₂, 0, x390₁) (* : uint64_t, uint1_t *) in
- expr_let x396 := Z.add_with_get_carry(2^64, 0, 0, x391₁) (* : uint64_t, uint1_t *) in
- expr_let x397 := Z.add_with_get_carry(2^64, x396₂, 0, x392₁) (* : uint1_t, uint1_t *) in
- expr_let x398 := Z.add_with_get_carry(2^64, x397₂, 0, x393₁) (* : uint64_t, uint1_t *) in
- expr_let x399 := Z.add_with_get_carry(2^64, x398₂, 0, x394₁) (* : uint64_t, uint1_t *) in
- expr_let x400 := Z.add_with_get_carry(2^64, x399₂, 0, x395₁) (* : uint64_t, uint1_t *) in
- expr_let x401 := Z.add_with_get_carry(2^64, 0, 0, x396₁) (* : uint64_t, uint1_t *) in
- expr_let x402 := Z.add_with_get_carry(2^64, x401₂, 0, x397₁) (* : uint1_t, uint1_t *) in
- expr_let x403 := Z.add_with_get_carry(2^64, x402₂, 0, x398₁) (* : uint64_t, uint1_t *) in
- expr_let x404 := Z.add_with_get_carry(2^64, x403₂, 0, x399₁) (* : uint64_t, uint1_t *) in
- expr_let x405 := Z.add_with_get_carry(2^64, x404₂, 0, x400₁) (* : uint64_t, uint1_t *) in
- expr_let x406 := Z.add_with_get_carry(2^64, 0, 0, x401₁) (* : uint64_t, uint1_t *) in
- expr_let x407 := Z.add_with_get_carry(2^64, x406₂, 0, x402₁) (* : uint1_t, uint1_t *) in
- expr_let x408 := Z.add_with_get_carry(2^64, x407₂, 0, x403₁) (* : uint64_t, uint1_t *) in
- expr_let x409 := Z.add_with_get_carry(2^64, x408₂, 0, x404₁) (* : uint64_t, uint1_t *) in
- expr_let x410 := Z.add_with_get_carry(2^64, x409₂, 0, x405₁) (* : uint64_t, uint1_t *) in
- expr_let x411 := Z.add_with_get_carry(2^64, 0, 0, x406₁) (* : uint64_t, uint1_t *) in
- expr_let x412 := Z.add_with_get_carry(2^64, x411₂, 0, x407₁) (* : uint1_t, uint1_t *) in
- expr_let x413 := Z.add_with_get_carry(2^64, x412₂, 0, x408₁) (* : uint64_t, uint1_t *) in
- expr_let x414 := Z.add_with_get_carry(2^64, x413₂, 0, x409₁) (* : uint64_t, uint1_t *) in
- expr_let x415 := Z.add_with_get_carry(2^64, x414₂, 0, x410₁) (* : uint64_t, uint1_t *) in
- expr_let x416 := Z.add_with_get_carry(2^64, 0, 0, x411₁) (* : uint64_t, uint1_t *) in
- expr_let x417 := Z.add_with_get_carry(2^64, x416₂, x343, x412₁) (* : uint64_t, uint1_t *) in
- expr_let x418 := Z.add_with_get_carry(2^64, x417₂, x341, x413₁) (* : uint64_t, uint1_t *) in
- expr_let x419 := Z.add_with_get_carry(2^64, x418₂, x339, x414₁) (* : uint64_t, uint1_t *) in
- expr_let x420 := Z.add_with_get_carry(2^64, x419₂, 0, x415₁) (* : uint64_t, uint1_t *) in
- expr_let x421 := Z.add_with_get_carry(2^64, 0, x416₁, x328₁) (* : uint64_t, uint1_t *) in
- expr_let x422 := Z.add_with_get_carry(2^64, x421₂, x417₁, x329₁) (* : uint64_t, uint1_t *) in
- expr_let x423 := Z.add_with_get_carry(2^64, x422₂, x418₁, x330₁) (* : uint64_t, uint1_t *) in
- expr_let x424 := Z.add_with_get_carry(2^64, x423₂, x419₁, x331₁) (* : uint64_t, uint1_t *) in
- expr_let x425 := Z.add_with_get_carry(2^64, x424₂, x420₁, x332₁) (* : uint64_t, uint1_t *) in
- expr_let x426 := Z.add_with_get_carry(2^64, x425₂, 0, x332₂) (* : uint64_t, uint1_t *) in
- expr_let x427 := Z.mul_split(2^64, x4, x2[3]) (* : uint64_t, uint64_t *) in
- expr_let x428 := Z.mul_split(2^64, x4, x2[2]) (* : uint64_t, uint64_t *) in
- expr_let x429 := Z.mul_split(2^64, x4, x2[1]) (* : uint64_t, uint64_t *) in
- expr_let x430 := Z.mul_split(2^64, x4, x2[0]) (* : uint64_t, uint64_t *) in
- expr_let x431 := 2^192 * 0 (* : uint1_t *) in
- expr_let x432 := 2^128 * 0 (* : uint1_t *) in
- expr_let x433 := 2^128 * 0 (* : uint1_t *) in
- expr_let x434 := 2^64 * 0 (* : uint1_t *) in
- expr_let x435 := 2^64 * 0 (* : uint1_t *) in
- expr_let x436 := 1 * 0 (* : uint1_t *) in
- expr_let x437 := 1 * 0 (* : uint1_t *) in
- expr_let x438 := 1 * 0 (* : uint1_t *) in
- expr_let x439 := 2^128 * 0 (* : uint1_t *) in
- expr_let x440 := 2^64 * 0 (* : uint1_t *) in
- expr_let x441 := 2^64 * 0 (* : uint1_t *) in
- expr_let x442 := 1 * 0 (* : uint1_t *) in
- expr_let x443 := 1 * 0 (* : uint1_t *) in
- expr_let x444 := 1 * 0 (* : uint1_t *) in
- expr_let x445 := 1 * 0 (* : uint1_t *) in
- expr_let x446 := 1 * 0 (* : uint1_t *) in
- expr_let x447 := 2^64 * 0 (* : uint1_t *) in
- expr_let x448 := 1 * 0 (* : uint1_t *) in
- expr_let x449 := 1 * 0 (* : uint1_t *) in
- expr_let x450 := 1 * 0 (* : uint1_t *) in
- expr_let x451 := 1 * 0 (* : uint1_t *) in
- expr_let x452 := 1 * 0 (* : uint1_t *) in
- expr_let x453 := 1 * 0 (* : uint1_t *) in
- expr_let x454 := 1 * 0 (* : uint1_t *) in
- expr_let x455 := x427₂ * 1 (* : uint64_t *) in
- expr_let x456 := x427₁ * 1 (* : uint64_t *) in
- expr_let x457 := x428₂ * 1 (* : uint64_t *) in
- expr_let x458 := x428₁ * 1 (* : uint64_t *) in
- expr_let x459 := x429₂ * 1 (* : uint64_t *) in
- expr_let x460 := x429₁ * 1 (* : uint64_t *) in
- expr_let x461 := x430₂ * 1 (* : uint64_t *) in
- expr_let x462 := x430₁ * 1 (* : uint64_t *) in
- expr_let x463 := Z.add_with_get_carry(2^64, 0, 0, x462) (* : uint64_t, uint1_t *) in
- expr_let x464 := Z.add_with_get_carry(2^64, x463₂, 0, x461) (* : uint64_t, uint1_t *) in
- expr_let x465 := Z.add_with_get_carry(2^64, x464₂, 0, x459) (* : uint64_t, uint1_t *) in
- expr_let x466 := Z.add_with_get_carry(2^64, x465₂, 0, x457) (* : uint64_t, uint1_t *) in
- expr_let x467 := Z.add_with_get_carry(2^64, x466₂, x431, x455) (* : uint64_t, uint1_t *) in
- expr_let x468 := Z.add_with_get_carry(2^64, 0, 0, x463₁) (* : uint64_t, uint1_t *) in
- expr_let x469 := Z.add_with_get_carry(2^64, x468₂, 0, x464₁) (* : uint64_t, uint1_t *) in
- expr_let x470 := Z.add_with_get_carry(2^64, x469₂, 0, x465₁) (* : uint64_t, uint1_t *) in
- expr_let x471 := Z.add_with_get_carry(2^64, x470₂, 0, x466₁) (* : uint64_t, uint1_t *) in
- expr_let x472 := Z.add_with_get_carry(2^64, x471₂, x432, x467₁) (* : uint64_t, uint1_t *) in
- expr_let x473 := Z.add_with_get_carry(2^64, 0, 0, x468₁) (* : uint64_t, uint1_t *) in
- expr_let x474 := Z.add_with_get_carry(2^64, x473₂, 0, x469₁) (* : uint64_t, uint1_t *) in
- expr_let x475 := Z.add_with_get_carry(2^64, x474₂, 0, x470₁) (* : uint64_t, uint1_t *) in
- expr_let x476 := Z.add_with_get_carry(2^64, x475₂, 0, x471₁) (* : uint64_t, uint1_t *) in
- expr_let x477 := Z.add_with_get_carry(2^64, x476₂, x433, x472₁) (* : uint64_t, uint1_t *) in
- expr_let x478 := Z.add_with_get_carry(2^64, 0, 0, x473₁) (* : uint64_t, uint1_t *) in
- expr_let x479 := Z.add_with_get_carry(2^64, x478₂, 0, x474₁) (* : uint64_t, uint1_t *) in
- expr_let x480 := Z.add_with_get_carry(2^64, x479₂, 0, x475₁) (* : uint64_t, uint1_t *) in
- expr_let x481 := Z.add_with_get_carry(2^64, x480₂, 0, x476₁) (* : uint64_t, uint1_t *) in
- expr_let x482 := Z.add_with_get_carry(2^64, x481₂, x434, x477₁) (* : uint64_t, uint1_t *) in
- expr_let x483 := Z.add_with_get_carry(2^64, 0, 0, x478₁) (* : uint64_t, uint1_t *) in
- expr_let x484 := Z.add_with_get_carry(2^64, x483₂, 0, x479₁) (* : uint64_t, uint1_t *) in
- expr_let x485 := Z.add_with_get_carry(2^64, x484₂, 0, x480₁) (* : uint64_t, uint1_t *) in
- expr_let x486 := Z.add_with_get_carry(2^64, x485₂, 0, x481₁) (* : uint64_t, uint1_t *) in
- expr_let x487 := Z.add_with_get_carry(2^64, x486₂, x435, x482₁) (* : uint64_t, uint1_t *) in
- expr_let x488 := Z.add_with_get_carry(2^64, 0, 0, x483₁) (* : uint64_t, uint1_t *) in
- expr_let x489 := Z.add_with_get_carry(2^64, x488₂, 0, x484₁) (* : uint64_t, uint1_t *) in
- expr_let x490 := Z.add_with_get_carry(2^64, x489₂, 0, x485₁) (* : uint64_t, uint1_t *) in
- expr_let x491 := Z.add_with_get_carry(2^64, x490₂, 0, x486₁) (* : uint64_t, uint1_t *) in
- expr_let x492 := Z.add_with_get_carry(2^64, x491₂, x436, x487₁) (* : uint64_t, uint1_t *) in
- expr_let x493 := Z.add_with_get_carry(2^64, 0, 0, x488₁) (* : uint64_t, uint1_t *) in
- expr_let x494 := Z.add_with_get_carry(2^64, x493₂, 0, x489₁) (* : uint64_t, uint1_t *) in
- expr_let x495 := Z.add_with_get_carry(2^64, x494₂, 0, x490₁) (* : uint64_t, uint1_t *) in
- expr_let x496 := Z.add_with_get_carry(2^64, x495₂, 0, x491₁) (* : uint64_t, uint1_t *) in
- expr_let x497 := Z.add_with_get_carry(2^64, x496₂, x437, x492₁) (* : uint64_t, uint1_t *) in
- expr_let x498 := Z.add_with_get_carry(2^64, 0, 0, x493₁) (* : uint64_t, uint1_t *) in
- expr_let x499 := Z.add_with_get_carry(2^64, x498₂, 0, x494₁) (* : uint64_t, uint1_t *) in
- expr_let x500 := Z.add_with_get_carry(2^64, x499₂, 0, x495₁) (* : uint64_t, uint1_t *) in
- expr_let x501 := Z.add_with_get_carry(2^64, x500₂, 0, x496₁) (* : uint64_t, uint1_t *) in
- expr_let x502 := Z.add_with_get_carry(2^64, x501₂, x439, x497₁) (* : uint64_t, uint1_t *) in
- expr_let x503 := Z.add_with_get_carry(2^64, 0, 0, x498₁) (* : uint64_t, uint1_t *) in
- expr_let x504 := Z.add_with_get_carry(2^64, x503₂, 0, x499₁) (* : uint64_t, uint1_t *) in
- expr_let x505 := Z.add_with_get_carry(2^64, x504₂, 0, x500₁) (* : uint64_t, uint1_t *) in
- expr_let x506 := Z.add_with_get_carry(2^64, x505₂, 0, x501₁) (* : uint64_t, uint1_t *) in
- expr_let x507 := Z.add_with_get_carry(2^64, x506₂, x440, x502₁) (* : uint64_t, uint1_t *) in
- expr_let x508 := Z.add_with_get_carry(2^64, 0, 0, x503₁) (* : uint64_t, uint1_t *) in
- expr_let x509 := Z.add_with_get_carry(2^64, x508₂, 0, x504₁) (* : uint64_t, uint1_t *) in
- expr_let x510 := Z.add_with_get_carry(2^64, x509₂, 0, x505₁) (* : uint64_t, uint1_t *) in
- expr_let x511 := Z.add_with_get_carry(2^64, x510₂, x438, x506₁) (* : uint64_t, uint1_t *) in
- expr_let x512 := Z.add_with_get_carry(2^64, x511₂, x441, x507₁) (* : uint64_t, uint1_t *) in
- expr_let x513 := Z.add_with_get_carry(2^64, 0, 0, x508₁) (* : uint64_t, uint1_t *) in
- expr_let x514 := Z.add_with_get_carry(2^64, x513₂, 0, x509₁) (* : uint64_t, uint1_t *) in
- expr_let x515 := Z.add_with_get_carry(2^64, x514₂, 0, x510₁) (* : uint64_t, uint1_t *) in
- expr_let x516 := Z.add_with_get_carry(2^64, x515₂, x444, x511₁) (* : uint64_t, uint1_t *) in
- expr_let x517 := Z.add_with_get_carry(2^64, x516₂, x442, x512₁) (* : uint64_t, uint1_t *) in
- expr_let x518 := Z.add_with_get_carry(2^64, 0, 0, x513₁) (* : uint64_t, uint1_t *) in
- expr_let x519 := Z.add_with_get_carry(2^64, x518₂, 0, x514₁) (* : uint64_t, uint1_t *) in
- expr_let x520 := Z.add_with_get_carry(2^64, x519₂, x446, x515₁) (* : uint64_t, uint1_t *) in
- expr_let x521 := Z.add_with_get_carry(2^64, x520₂, x445, x516₁) (* : uint64_t, uint1_t *) in
- expr_let x522 := Z.add_with_get_carry(2^64, x521₂, x443, x517₁) (* : uint64_t, uint1_t *) in
- expr_let x523 := Z.add_with_get_carry(2^64, 0, 0, x518₁) (* : uint64_t, uint1_t *) in
- expr_let x524 := Z.add_with_get_carry(2^64, x523₂, 0, x519₁) (* : uint64_t, uint1_t *) in
- expr_let x525 := Z.add_with_get_carry(2^64, x524₂, x452, x520₁) (* : uint64_t, uint1_t *) in
- expr_let x526 := Z.add_with_get_carry(2^64, x525₂, x450, x521₁) (* : uint64_t, uint1_t *) in
- expr_let x527 := Z.add_with_get_carry(2^64, x526₂, x447, x522₁) (* : uint64_t, uint1_t *) in
- expr_let x528 := Z.add_with_get_carry(2^64, 0, 0, x523₁) (* : uint64_t, uint1_t *) in
- expr_let x529 := Z.add_with_get_carry(2^64, x528₂, x454, x524₁) (* : uint64_t, uint1_t *) in
- expr_let x530 := Z.add_with_get_carry(2^64, x529₂, x453, x525₁) (* : uint64_t, uint1_t *) in
- expr_let x531 := Z.add_with_get_carry(2^64, x530₂, x451, x526₁) (* : uint64_t, uint1_t *) in
- expr_let x532 := Z.add_with_get_carry(2^64, x531₂, x448, x527₁) (* : uint64_t, uint1_t *) in
- expr_let x533 := Z.add_with_get_carry(2^64, 0, 0, x528₁) (* : uint64_t, uint1_t *) in
- expr_let x534 := Z.add_with_get_carry(2^64, x533₂, x460, x529₁) (* : uint64_t, uint1_t *) in
- expr_let x535 := Z.add_with_get_carry(2^64, x534₂, x458, x530₁) (* : uint64_t, uint1_t *) in
- expr_let x536 := Z.add_with_get_carry(2^64, x535₂, x456, x531₁) (* : uint64_t, uint1_t *) in
- expr_let x537 := Z.add_with_get_carry(2^64, x536₂, x449, x532₁) (* : uint64_t, uint1_t *) in
- expr_let x538 := Z.add_with_get_carry(2^64, 0, x533₁, x422₁) (* : uint64_t, uint1_t *) in
- expr_let x539 := Z.add_with_get_carry(2^64, x538₂, x534₁, x423₁) (* : uint64_t, uint1_t *) in
- expr_let x540 := Z.add_with_get_carry(2^64, x539₂, x535₁, x424₁) (* : uint64_t, uint1_t *) in
- expr_let x541 := Z.add_with_get_carry(2^64, x540₂, x536₁, x425₁) (* : uint64_t, uint1_t *) in
- expr_let x542 := Z.add_with_get_carry(2^64, x541₂, x537₁, x426₁) (* : uint64_t, uint1_t *) in
- expr_let x543 := (Z.mul_split(2^64, x538₁, 2^64-1))₁ (* : uint64_t *) in
- expr_let x544 := Z.mul_split(2^64, x543, 2^32-1) (* : uint64_t, uint64_t *) in
- expr_let x545 := Z.mul_split(2^64, x543, 2^64-1) (* : uint64_t, uint64_t *) in
- expr_let x546 := Z.mul_split(2^64, x543, 0xffffffff00000000) (* : uint64_t, uint64_t *) in
- expr_let x547 := Z.mul_split(2^64, x543, 1) (* : uint64_t, uint1_t *) in
- expr_let x548 := x544₂ * 1 (* : uint64_t *) in
- expr_let x549 := x544₁ * 1 (* : uint64_t *) in
- expr_let x550 := x545₂ * 1 (* : uint64_t *) in
- expr_let x551 := x545₁ * 1 (* : uint64_t *) in
- expr_let x552 := x546₂ * 1 (* : uint64_t *) in
- expr_let x553 := x546₁ * 1 (* : uint64_t *) in
- expr_let x554 := x547₂ * 1 (* : uint1_t *) in
- expr_let x555 := x547₁ * 1 (* : uint64_t *) in
- expr_let x556 := Z.add_with_get_carry(2^64, 0, 0, x555) (* : uint64_t, uint1_t *) in
- expr_let x557 := Z.add_with_get_carry(2^64, x556₂, 0, x554) (* : uint1_t, uint1_t *) in
- expr_let x558 := Z.add_with_get_carry(2^64, x557₂, 0, x552) (* : uint64_t, uint1_t *) in
- expr_let x559 := Z.add_with_get_carry(2^64, x558₂, 0, x550) (* : uint64_t, uint1_t *) in
- expr_let x560 := Z.add_with_get_carry(2^64, x559₂, 0, x548) (* : uint64_t, uint1_t *) in
- expr_let x561 := Z.add_with_get_carry(2^64, 0, 0, x556₁) (* : uint64_t, uint1_t *) in
- expr_let x562 := Z.add_with_get_carry(2^64, x561₂, 0, x557₁) (* : uint1_t, uint1_t *) in
- expr_let x563 := Z.add_with_get_carry(2^64, x562₂, 0, x558₁) (* : uint64_t, uint1_t *) in
- expr_let x564 := Z.add_with_get_carry(2^64, x563₂, 0, x559₁) (* : uint64_t, uint1_t *) in
- expr_let x565 := Z.add_with_get_carry(2^64, x564₂, 0, x560₁) (* : uint64_t, uint1_t *) in
- expr_let x566 := Z.add_with_get_carry(2^64, 0, 0, x561₁) (* : uint64_t, uint1_t *) in
- expr_let x567 := Z.add_with_get_carry(2^64, x566₂, 0, x562₁) (* : uint1_t, uint1_t *) in
- expr_let x568 := Z.add_with_get_carry(2^64, x567₂, 0, x563₁) (* : uint64_t, uint1_t *) in
- expr_let x569 := Z.add_with_get_carry(2^64, x568₂, 0, x564₁) (* : uint64_t, uint1_t *) in
- expr_let x570 := Z.add_with_get_carry(2^64, x569₂, 0, x565₁) (* : uint64_t, uint1_t *) in
- expr_let x571 := Z.add_with_get_carry(2^64, 0, 0, x566₁) (* : uint64_t, uint1_t *) in
- expr_let x572 := Z.add_with_get_carry(2^64, x571₂, 0, x567₁) (* : uint1_t, uint1_t *) in
- expr_let x573 := Z.add_with_get_carry(2^64, x572₂, 0, x568₁) (* : uint64_t, uint1_t *) in
- expr_let x574 := Z.add_with_get_carry(2^64, x573₂, 0, x569₁) (* : uint64_t, uint1_t *) in
- expr_let x575 := Z.add_with_get_carry(2^64, x574₂, 0, x570₁) (* : uint64_t, uint1_t *) in
- expr_let x576 := Z.add_with_get_carry(2^64, 0, 0, x571₁) (* : uint64_t, uint1_t *) in
- expr_let x577 := Z.add_with_get_carry(2^64, x576₂, 0, x572₁) (* : uint1_t, uint1_t *) in
- expr_let x578 := Z.add_with_get_carry(2^64, x577₂, 0, x573₁) (* : uint64_t, uint1_t *) in
- expr_let x579 := Z.add_with_get_carry(2^64, x578₂, 0, x574₁) (* : uint64_t, uint1_t *) in
- expr_let x580 := Z.add_with_get_carry(2^64, x579₂, 0, x575₁) (* : uint64_t, uint1_t *) in
- expr_let x581 := Z.add_with_get_carry(2^64, 0, 0, x576₁) (* : uint64_t, uint1_t *) in
- expr_let x582 := Z.add_with_get_carry(2^64, x581₂, 0, x577₁) (* : uint1_t, uint1_t *) in
- expr_let x583 := Z.add_with_get_carry(2^64, x582₂, 0, x578₁) (* : uint64_t, uint1_t *) in
- expr_let x584 := Z.add_with_get_carry(2^64, x583₂, 0, x579₁) (* : uint64_t, uint1_t *) in
- expr_let x585 := Z.add_with_get_carry(2^64, x584₂, 0, x580₁) (* : uint64_t, uint1_t *) in
- expr_let x586 := Z.add_with_get_carry(2^64, 0, 0, x581₁) (* : uint64_t, uint1_t *) in
- expr_let x587 := Z.add_with_get_carry(2^64, x586₂, 0, x582₁) (* : uint1_t, uint1_t *) in
- expr_let x588 := Z.add_with_get_carry(2^64, x587₂, 0, x583₁) (* : uint64_t, uint1_t *) in
- expr_let x589 := Z.add_with_get_carry(2^64, x588₂, 0, x584₁) (* : uint64_t, uint1_t *) in
- expr_let x590 := Z.add_with_get_carry(2^64, x589₂, 0, x585₁) (* : uint64_t, uint1_t *) in
- expr_let x591 := Z.add_with_get_carry(2^64, 0, 0, x586₁) (* : uint64_t, uint1_t *) in
- expr_let x592 := Z.add_with_get_carry(2^64, x591₂, 0, x587₁) (* : uint1_t, uint1_t *) in
- expr_let x593 := Z.add_with_get_carry(2^64, x592₂, 0, x588₁) (* : uint64_t, uint1_t *) in
- expr_let x594 := Z.add_with_get_carry(2^64, x593₂, 0, x589₁) (* : uint64_t, uint1_t *) in
- expr_let x595 := Z.add_with_get_carry(2^64, x594₂, 0, x590₁) (* : uint64_t, uint1_t *) in
- expr_let x596 := Z.add_with_get_carry(2^64, 0, 0, x591₁) (* : uint64_t, uint1_t *) in
- expr_let x597 := Z.add_with_get_carry(2^64, x596₂, 0, x592₁) (* : uint1_t, uint1_t *) in
- expr_let x598 := Z.add_with_get_carry(2^64, x597₂, 0, x593₁) (* : uint64_t, uint1_t *) in
- expr_let x599 := Z.add_with_get_carry(2^64, x598₂, 0, x594₁) (* : uint64_t, uint1_t *) in
- expr_let x600 := Z.add_with_get_carry(2^64, x599₂, 0, x595₁) (* : uint64_t, uint1_t *) in
- expr_let x601 := Z.add_with_get_carry(2^64, 0, 0, x596₁) (* : uint64_t, uint1_t *) in
- expr_let x602 := Z.add_with_get_carry(2^64, x601₂, 0, x597₁) (* : uint1_t, uint1_t *) in
- expr_let x603 := Z.add_with_get_carry(2^64, x602₂, 0, x598₁) (* : uint64_t, uint1_t *) in
- expr_let x604 := Z.add_with_get_carry(2^64, x603₂, 0, x599₁) (* : uint64_t, uint1_t *) in
- expr_let x605 := Z.add_with_get_carry(2^64, x604₂, 0, x600₁) (* : uint64_t, uint1_t *) in
- expr_let x606 := Z.add_with_get_carry(2^64, 0, 0, x601₁) (* : uint64_t, uint1_t *) in
- expr_let x607 := Z.add_with_get_carry(2^64, x606₂, 0, x602₁) (* : uint1_t, uint1_t *) in
- expr_let x608 := Z.add_with_get_carry(2^64, x607₂, 0, x603₁) (* : uint64_t, uint1_t *) in
- expr_let x609 := Z.add_with_get_carry(2^64, x608₂, 0, x604₁) (* : uint64_t, uint1_t *) in
- expr_let x610 := Z.add_with_get_carry(2^64, x609₂, 0, x605₁) (* : uint64_t, uint1_t *) in
- expr_let x611 := Z.add_with_get_carry(2^64, 0, 0, x606₁) (* : uint64_t, uint1_t *) in
- expr_let x612 := Z.add_with_get_carry(2^64, x611₂, 0, x607₁) (* : uint1_t, uint1_t *) in
- expr_let x613 := Z.add_with_get_carry(2^64, x612₂, 0, x608₁) (* : uint64_t, uint1_t *) in
- expr_let x614 := Z.add_with_get_carry(2^64, x613₂, 0, x609₁) (* : uint64_t, uint1_t *) in
- expr_let x615 := Z.add_with_get_carry(2^64, x614₂, 0, x610₁) (* : uint64_t, uint1_t *) in
- expr_let x616 := Z.add_with_get_carry(2^64, 0, 0, x611₁) (* : uint64_t, uint1_t *) in
- expr_let x617 := Z.add_with_get_carry(2^64, x616₂, 0, x612₁) (* : uint1_t, uint1_t *) in
- expr_let x618 := Z.add_with_get_carry(2^64, x617₂, 0, x613₁) (* : uint64_t, uint1_t *) in
- expr_let x619 := Z.add_with_get_carry(2^64, x618₂, 0, x614₁) (* : uint64_t, uint1_t *) in
- expr_let x620 := Z.add_with_get_carry(2^64, x619₂, 0, x615₁) (* : uint64_t, uint1_t *) in
- expr_let x621 := Z.add_with_get_carry(2^64, 0, 0, x616₁) (* : uint64_t, uint1_t *) in
- expr_let x622 := Z.add_with_get_carry(2^64, x621₂, 0, x617₁) (* : uint1_t, uint1_t *) in
- expr_let x623 := Z.add_with_get_carry(2^64, x622₂, 0, x618₁) (* : uint64_t, uint1_t *) in
- expr_let x624 := Z.add_with_get_carry(2^64, x623₂, 0, x619₁) (* : uint64_t, uint1_t *) in
- expr_let x625 := Z.add_with_get_carry(2^64, x624₂, 0, x620₁) (* : uint64_t, uint1_t *) in
- expr_let x626 := Z.add_with_get_carry(2^64, 0, 0, x621₁) (* : uint64_t, uint1_t *) in
- expr_let x627 := Z.add_with_get_carry(2^64, x626₂, x553, x622₁) (* : uint64_t, uint1_t *) in
- expr_let x628 := Z.add_with_get_carry(2^64, x627₂, x551, x623₁) (* : uint64_t, uint1_t *) in
- expr_let x629 := Z.add_with_get_carry(2^64, x628₂, x549, x624₁) (* : uint64_t, uint1_t *) in
- expr_let x630 := Z.add_with_get_carry(2^64, x629₂, 0, x625₁) (* : uint64_t, uint1_t *) in
- expr_let x631 := Z.add_with_get_carry(2^64, 0, x626₁, x538₁) (* : uint64_t, uint1_t *) in
- expr_let x632 := Z.add_with_get_carry(2^64, x631₂, x627₁, x539₁) (* : uint64_t, uint1_t *) in
- expr_let x633 := Z.add_with_get_carry(2^64, x632₂, x628₁, x540₁) (* : uint64_t, uint1_t *) in
- expr_let x634 := Z.add_with_get_carry(2^64, x633₂, x629₁, x541₁) (* : uint64_t, uint1_t *) in
- expr_let x635 := Z.add_with_get_carry(2^64, x634₂, x630₁, x542₁) (* : uint64_t, uint1_t *) in
- expr_let x636 := Z.add_with_get_carry(2^64, x635₂, 0, x542₂) (* : uint64_t, uint1_t *) in
- expr_let x637 := Z.mul_split(2^64, x5, x2[3]) (* : uint64_t, uint64_t *) in
- expr_let x638 := Z.mul_split(2^64, x5, x2[2]) (* : uint64_t, uint64_t *) in
- expr_let x639 := Z.mul_split(2^64, x5, x2[1]) (* : uint64_t, uint64_t *) in
- expr_let x640 := Z.mul_split(2^64, x5, x2[0]) (* : uint64_t, uint64_t *) in
- expr_let x641 := 2^192 * 0 (* : uint1_t *) in
- expr_let x642 := 2^128 * 0 (* : uint1_t *) in
- expr_let x643 := 2^128 * 0 (* : uint1_t *) in
- expr_let x644 := 2^64 * 0 (* : uint1_t *) in
- expr_let x645 := 2^64 * 0 (* : uint1_t *) in
- expr_let x646 := 1 * 0 (* : uint1_t *) in
- expr_let x647 := 1 * 0 (* : uint1_t *) in
- expr_let x648 := 1 * 0 (* : uint1_t *) in
- expr_let x649 := 2^128 * 0 (* : uint1_t *) in
- expr_let x650 := 2^64 * 0 (* : uint1_t *) in
- expr_let x651 := 2^64 * 0 (* : uint1_t *) in
- expr_let x652 := 1 * 0 (* : uint1_t *) in
- expr_let x653 := 1 * 0 (* : uint1_t *) in
- expr_let x654 := 1 * 0 (* : uint1_t *) in
- expr_let x655 := 1 * 0 (* : uint1_t *) in
- expr_let x656 := 1 * 0 (* : uint1_t *) in
- expr_let x657 := 2^64 * 0 (* : uint1_t *) in
- expr_let x658 := 1 * 0 (* : uint1_t *) in
- expr_let x659 := 1 * 0 (* : uint1_t *) in
- expr_let x660 := 1 * 0 (* : uint1_t *) in
- expr_let x661 := 1 * 0 (* : uint1_t *) in
- expr_let x662 := 1 * 0 (* : uint1_t *) in
- expr_let x663 := 1 * 0 (* : uint1_t *) in
- expr_let x664 := 1 * 0 (* : uint1_t *) in
- expr_let x665 := x637₂ * 1 (* : uint64_t *) in
- expr_let x666 := x637₁ * 1 (* : uint64_t *) in
- expr_let x667 := x638₂ * 1 (* : uint64_t *) in
- expr_let x668 := x638₁ * 1 (* : uint64_t *) in
- expr_let x669 := x639₂ * 1 (* : uint64_t *) in
- expr_let x670 := x639₁ * 1 (* : uint64_t *) in
- expr_let x671 := x640₂ * 1 (* : uint64_t *) in
- expr_let x672 := x640₁ * 1 (* : uint64_t *) in
- expr_let x673 := Z.add_with_get_carry(2^64, 0, 0, x672) (* : uint64_t, uint1_t *) in
- expr_let x674 := Z.add_with_get_carry(2^64, x673₂, 0, x671) (* : uint64_t, uint1_t *) in
- expr_let x675 := Z.add_with_get_carry(2^64, x674₂, 0, x669) (* : uint64_t, uint1_t *) in
- expr_let x676 := Z.add_with_get_carry(2^64, x675₂, 0, x667) (* : uint64_t, uint1_t *) in
- expr_let x677 := Z.add_with_get_carry(2^64, x676₂, x641, x665) (* : uint64_t, uint1_t *) in
- expr_let x678 := Z.add_with_get_carry(2^64, 0, 0, x673₁) (* : uint64_t, uint1_t *) in
- expr_let x679 := Z.add_with_get_carry(2^64, x678₂, 0, x674₁) (* : uint64_t, uint1_t *) in
- expr_let x680 := Z.add_with_get_carry(2^64, x679₂, 0, x675₁) (* : uint64_t, uint1_t *) in
- expr_let x681 := Z.add_with_get_carry(2^64, x680₂, 0, x676₁) (* : uint64_t, uint1_t *) in
- expr_let x682 := Z.add_with_get_carry(2^64, x681₂, x642, x677₁) (* : uint64_t, uint1_t *) in
- expr_let x683 := Z.add_with_get_carry(2^64, 0, 0, x678₁) (* : uint64_t, uint1_t *) in
- expr_let x684 := Z.add_with_get_carry(2^64, x683₂, 0, x679₁) (* : uint64_t, uint1_t *) in
- expr_let x685 := Z.add_with_get_carry(2^64, x684₂, 0, x680₁) (* : uint64_t, uint1_t *) in
- expr_let x686 := Z.add_with_get_carry(2^64, x685₂, 0, x681₁) (* : uint64_t, uint1_t *) in
- expr_let x687 := Z.add_with_get_carry(2^64, x686₂, x643, x682₁) (* : uint64_t, uint1_t *) in
- expr_let x688 := Z.add_with_get_carry(2^64, 0, 0, x683₁) (* : uint64_t, uint1_t *) in
- expr_let x689 := Z.add_with_get_carry(2^64, x688₂, 0, x684₁) (* : uint64_t, uint1_t *) in
- expr_let x690 := Z.add_with_get_carry(2^64, x689₂, 0, x685₁) (* : uint64_t, uint1_t *) in
- expr_let x691 := Z.add_with_get_carry(2^64, x690₂, 0, x686₁) (* : uint64_t, uint1_t *) in
- expr_let x692 := Z.add_with_get_carry(2^64, x691₂, x644, x687₁) (* : uint64_t, uint1_t *) in
- expr_let x693 := Z.add_with_get_carry(2^64, 0, 0, x688₁) (* : uint64_t, uint1_t *) in
- expr_let x694 := Z.add_with_get_carry(2^64, x693₂, 0, x689₁) (* : uint64_t, uint1_t *) in
- expr_let x695 := Z.add_with_get_carry(2^64, x694₂, 0, x690₁) (* : uint64_t, uint1_t *) in
- expr_let x696 := Z.add_with_get_carry(2^64, x695₂, 0, x691₁) (* : uint64_t, uint1_t *) in
- expr_let x697 := Z.add_with_get_carry(2^64, x696₂, x645, x692₁) (* : uint64_t, uint1_t *) in
- expr_let x698 := Z.add_with_get_carry(2^64, 0, 0, x693₁) (* : uint64_t, uint1_t *) in
- expr_let x699 := Z.add_with_get_carry(2^64, x698₂, 0, x694₁) (* : uint64_t, uint1_t *) in
- expr_let x700 := Z.add_with_get_carry(2^64, x699₂, 0, x695₁) (* : uint64_t, uint1_t *) in
- expr_let x701 := Z.add_with_get_carry(2^64, x700₂, 0, x696₁) (* : uint64_t, uint1_t *) in
- expr_let x702 := Z.add_with_get_carry(2^64, x701₂, x646, x697₁) (* : uint64_t, uint1_t *) in
- expr_let x703 := Z.add_with_get_carry(2^64, 0, 0, x698₁) (* : uint64_t, uint1_t *) in
- expr_let x704 := Z.add_with_get_carry(2^64, x703₂, 0, x699₁) (* : uint64_t, uint1_t *) in
- expr_let x705 := Z.add_with_get_carry(2^64, x704₂, 0, x700₁) (* : uint64_t, uint1_t *) in
- expr_let x706 := Z.add_with_get_carry(2^64, x705₂, 0, x701₁) (* : uint64_t, uint1_t *) in
- expr_let x707 := Z.add_with_get_carry(2^64, x706₂, x647, x702₁) (* : uint64_t, uint1_t *) in
- expr_let x708 := Z.add_with_get_carry(2^64, 0, 0, x703₁) (* : uint64_t, uint1_t *) in
- expr_let x709 := Z.add_with_get_carry(2^64, x708₂, 0, x704₁) (* : uint64_t, uint1_t *) in
- expr_let x710 := Z.add_with_get_carry(2^64, x709₂, 0, x705₁) (* : uint64_t, uint1_t *) in
- expr_let x711 := Z.add_with_get_carry(2^64, x710₂, 0, x706₁) (* : uint64_t, uint1_t *) in
- expr_let x712 := Z.add_with_get_carry(2^64, x711₂, x649, x707₁) (* : uint64_t, uint1_t *) in
- expr_let x713 := Z.add_with_get_carry(2^64, 0, 0, x708₁) (* : uint64_t, uint1_t *) in
- expr_let x714 := Z.add_with_get_carry(2^64, x713₂, 0, x709₁) (* : uint64_t, uint1_t *) in
- expr_let x715 := Z.add_with_get_carry(2^64, x714₂, 0, x710₁) (* : uint64_t, uint1_t *) in
- expr_let x716 := Z.add_with_get_carry(2^64, x715₂, 0, x711₁) (* : uint64_t, uint1_t *) in
- expr_let x717 := Z.add_with_get_carry(2^64, x716₂, x650, x712₁) (* : uint64_t, uint1_t *) in
- expr_let x718 := Z.add_with_get_carry(2^64, 0, 0, x713₁) (* : uint64_t, uint1_t *) in
- expr_let x719 := Z.add_with_get_carry(2^64, x718₂, 0, x714₁) (* : uint64_t, uint1_t *) in
- expr_let x720 := Z.add_with_get_carry(2^64, x719₂, 0, x715₁) (* : uint64_t, uint1_t *) in
- expr_let x721 := Z.add_with_get_carry(2^64, x720₂, x648, x716₁) (* : uint64_t, uint1_t *) in
- expr_let x722 := Z.add_with_get_carry(2^64, x721₂, x651, x717₁) (* : uint64_t, uint1_t *) in
- expr_let x723 := Z.add_with_get_carry(2^64, 0, 0, x718₁) (* : uint64_t, uint1_t *) in
- expr_let x724 := Z.add_with_get_carry(2^64, x723₂, 0, x719₁) (* : uint64_t, uint1_t *) in
- expr_let x725 := Z.add_with_get_carry(2^64, x724₂, 0, x720₁) (* : uint64_t, uint1_t *) in
- expr_let x726 := Z.add_with_get_carry(2^64, x725₂, x654, x721₁) (* : uint64_t, uint1_t *) in
- expr_let x727 := Z.add_with_get_carry(2^64, x726₂, x652, x722₁) (* : uint64_t, uint1_t *) in
- expr_let x728 := Z.add_with_get_carry(2^64, 0, 0, x723₁) (* : uint64_t, uint1_t *) in
- expr_let x729 := Z.add_with_get_carry(2^64, x728₂, 0, x724₁) (* : uint64_t, uint1_t *) in
- expr_let x730 := Z.add_with_get_carry(2^64, x729₂, x656, x725₁) (* : uint64_t, uint1_t *) in
- expr_let x731 := Z.add_with_get_carry(2^64, x730₂, x655, x726₁) (* : uint64_t, uint1_t *) in
- expr_let x732 := Z.add_with_get_carry(2^64, x731₂, x653, x727₁) (* : uint64_t, uint1_t *) in
- expr_let x733 := Z.add_with_get_carry(2^64, 0, 0, x728₁) (* : uint64_t, uint1_t *) in
- expr_let x734 := Z.add_with_get_carry(2^64, x733₂, 0, x729₁) (* : uint64_t, uint1_t *) in
- expr_let x735 := Z.add_with_get_carry(2^64, x734₂, x662, x730₁) (* : uint64_t, uint1_t *) in
- expr_let x736 := Z.add_with_get_carry(2^64, x735₂, x660, x731₁) (* : uint64_t, uint1_t *) in
- expr_let x737 := Z.add_with_get_carry(2^64, x736₂, x657, x732₁) (* : uint64_t, uint1_t *) in
- expr_let x738 := Z.add_with_get_carry(2^64, 0, 0, x733₁) (* : uint64_t, uint1_t *) in
- expr_let x739 := Z.add_with_get_carry(2^64, x738₂, x664, x734₁) (* : uint64_t, uint1_t *) in
- expr_let x740 := Z.add_with_get_carry(2^64, x739₂, x663, x735₁) (* : uint64_t, uint1_t *) in
- expr_let x741 := Z.add_with_get_carry(2^64, x740₂, x661, x736₁) (* : uint64_t, uint1_t *) in
- expr_let x742 := Z.add_with_get_carry(2^64, x741₂, x658, x737₁) (* : uint64_t, uint1_t *) in
- expr_let x743 := Z.add_with_get_carry(2^64, 0, 0, x738₁) (* : uint64_t, uint1_t *) in
- expr_let x744 := Z.add_with_get_carry(2^64, x743₂, x670, x739₁) (* : uint64_t, uint1_t *) in
- expr_let x745 := Z.add_with_get_carry(2^64, x744₂, x668, x740₁) (* : uint64_t, uint1_t *) in
- expr_let x746 := Z.add_with_get_carry(2^64, x745₂, x666, x741₁) (* : uint64_t, uint1_t *) in
- expr_let x747 := Z.add_with_get_carry(2^64, x746₂, x659, x742₁) (* : uint64_t, uint1_t *) in
- expr_let x748 := Z.add_with_get_carry(2^64, 0, x743₁, x632₁) (* : uint64_t, uint1_t *) in
- expr_let x749 := Z.add_with_get_carry(2^64, x748₂, x744₁, x633₁) (* : uint64_t, uint1_t *) in
- expr_let x750 := Z.add_with_get_carry(2^64, x749₂, x745₁, x634₁) (* : uint64_t, uint1_t *) in
- expr_let x751 := Z.add_with_get_carry(2^64, x750₂, x746₁, x635₁) (* : uint64_t, uint1_t *) in
- expr_let x752 := Z.add_with_get_carry(2^64, x751₂, x747₁, x636₁) (* : uint64_t, uint1_t *) in
- expr_let x753 := (Z.mul_split(2^64, x748₁, 2^64-1))₁ (* : uint64_t *) in
- expr_let x754 := Z.mul_split(2^64, x753, 2^32-1) (* : uint64_t, uint64_t *) in
- expr_let x755 := Z.mul_split(2^64, x753, 2^64-1) (* : uint64_t, uint64_t *) in
- expr_let x756 := Z.mul_split(2^64, x753, 0xffffffff00000000) (* : uint64_t, uint64_t *) in
- expr_let x757 := Z.mul_split(2^64, x753, 1) (* : uint64_t, uint1_t *) in
- expr_let x758 := x754₂ * 1 (* : uint64_t *) in
- expr_let x759 := x754₁ * 1 (* : uint64_t *) in
- expr_let x760 := x755₂ * 1 (* : uint64_t *) in
- expr_let x761 := x755₁ * 1 (* : uint64_t *) in
- expr_let x762 := x756₂ * 1 (* : uint64_t *) in
- expr_let x763 := x756₁ * 1 (* : uint64_t *) in
- expr_let x764 := x757₂ * 1 (* : uint1_t *) in
- expr_let x765 := x757₁ * 1 (* : uint64_t *) in
- expr_let x766 := Z.add_with_get_carry(2^64, 0, 0, x765) (* : uint64_t, uint1_t *) in
- expr_let x767 := Z.add_with_get_carry(2^64, x766₂, 0, x764) (* : uint1_t, uint1_t *) in
- expr_let x768 := Z.add_with_get_carry(2^64, x767₂, 0, x762) (* : uint64_t, uint1_t *) in
- expr_let x769 := Z.add_with_get_carry(2^64, x768₂, 0, x760) (* : uint64_t, uint1_t *) in
- expr_let x770 := Z.add_with_get_carry(2^64, x769₂, 0, x758) (* : uint64_t, uint1_t *) in
- expr_let x771 := Z.add_with_get_carry(2^64, 0, 0, x766₁) (* : uint64_t, uint1_t *) in
- expr_let x772 := Z.add_with_get_carry(2^64, x771₂, 0, x767₁) (* : uint1_t, uint1_t *) in
- expr_let x773 := Z.add_with_get_carry(2^64, x772₂, 0, x768₁) (* : uint64_t, uint1_t *) in
- expr_let x774 := Z.add_with_get_carry(2^64, x773₂, 0, x769₁) (* : uint64_t, uint1_t *) in
- expr_let x775 := Z.add_with_get_carry(2^64, x774₂, 0, x770₁) (* : uint64_t, uint1_t *) in
- expr_let x776 := Z.add_with_get_carry(2^64, 0, 0, x771₁) (* : uint64_t, uint1_t *) in
- expr_let x777 := Z.add_with_get_carry(2^64, x776₂, 0, x772₁) (* : uint1_t, uint1_t *) in
- expr_let x778 := Z.add_with_get_carry(2^64, x777₂, 0, x773₁) (* : uint64_t, uint1_t *) in
- expr_let x779 := Z.add_with_get_carry(2^64, x778₂, 0, x774₁) (* : uint64_t, uint1_t *) in
- expr_let x780 := Z.add_with_get_carry(2^64, x779₂, 0, x775₁) (* : uint64_t, uint1_t *) in
- expr_let x781 := Z.add_with_get_carry(2^64, 0, 0, x776₁) (* : uint64_t, uint1_t *) in
- expr_let x782 := Z.add_with_get_carry(2^64, x781₂, 0, x777₁) (* : uint1_t, uint1_t *) in
- expr_let x783 := Z.add_with_get_carry(2^64, x782₂, 0, x778₁) (* : uint64_t, uint1_t *) in
- expr_let x784 := Z.add_with_get_carry(2^64, x783₂, 0, x779₁) (* : uint64_t, uint1_t *) in
- expr_let x785 := Z.add_with_get_carry(2^64, x784₂, 0, x780₁) (* : uint64_t, uint1_t *) in
- expr_let x786 := Z.add_with_get_carry(2^64, 0, 0, x781₁) (* : uint64_t, uint1_t *) in
- expr_let x787 := Z.add_with_get_carry(2^64, x786₂, 0, x782₁) (* : uint1_t, uint1_t *) in
- expr_let x788 := Z.add_with_get_carry(2^64, x787₂, 0, x783₁) (* : uint64_t, uint1_t *) in
- expr_let x789 := Z.add_with_get_carry(2^64, x788₂, 0, x784₁) (* : uint64_t, uint1_t *) in
- expr_let x790 := Z.add_with_get_carry(2^64, x789₂, 0, x785₁) (* : uint64_t, uint1_t *) in
- expr_let x791 := Z.add_with_get_carry(2^64, 0, 0, x786₁) (* : uint64_t, uint1_t *) in
- expr_let x792 := Z.add_with_get_carry(2^64, x791₂, 0, x787₁) (* : uint1_t, uint1_t *) in
- expr_let x793 := Z.add_with_get_carry(2^64, x792₂, 0, x788₁) (* : uint64_t, uint1_t *) in
- expr_let x794 := Z.add_with_get_carry(2^64, x793₂, 0, x789₁) (* : uint64_t, uint1_t *) in
- expr_let x795 := Z.add_with_get_carry(2^64, x794₂, 0, x790₁) (* : uint64_t, uint1_t *) in
- expr_let x796 := Z.add_with_get_carry(2^64, 0, 0, x791₁) (* : uint64_t, uint1_t *) in
- expr_let x797 := Z.add_with_get_carry(2^64, x796₂, 0, x792₁) (* : uint1_t, uint1_t *) in
- expr_let x798 := Z.add_with_get_carry(2^64, x797₂, 0, x793₁) (* : uint64_t, uint1_t *) in
- expr_let x799 := Z.add_with_get_carry(2^64, x798₂, 0, x794₁) (* : uint64_t, uint1_t *) in
- expr_let x800 := Z.add_with_get_carry(2^64, x799₂, 0, x795₁) (* : uint64_t, uint1_t *) in
- expr_let x801 := Z.add_with_get_carry(2^64, 0, 0, x796₁) (* : uint64_t, uint1_t *) in
- expr_let x802 := Z.add_with_get_carry(2^64, x801₂, 0, x797₁) (* : uint1_t, uint1_t *) in
- expr_let x803 := Z.add_with_get_carry(2^64, x802₂, 0, x798₁) (* : uint64_t, uint1_t *) in
- expr_let x804 := Z.add_with_get_carry(2^64, x803₂, 0, x799₁) (* : uint64_t, uint1_t *) in
- expr_let x805 := Z.add_with_get_carry(2^64, x804₂, 0, x800₁) (* : uint64_t, uint1_t *) in
- expr_let x806 := Z.add_with_get_carry(2^64, 0, 0, x801₁) (* : uint64_t, uint1_t *) in
- expr_let x807 := Z.add_with_get_carry(2^64, x806₂, 0, x802₁) (* : uint1_t, uint1_t *) in
- expr_let x808 := Z.add_with_get_carry(2^64, x807₂, 0, x803₁) (* : uint64_t, uint1_t *) in
- expr_let x809 := Z.add_with_get_carry(2^64, x808₂, 0, x804₁) (* : uint64_t, uint1_t *) in
- expr_let x810 := Z.add_with_get_carry(2^64, x809₂, 0, x805₁) (* : uint64_t, uint1_t *) in
- expr_let x811 := Z.add_with_get_carry(2^64, 0, 0, x806₁) (* : uint64_t, uint1_t *) in
- expr_let x812 := Z.add_with_get_carry(2^64, x811₂, 0, x807₁) (* : uint1_t, uint1_t *) in
- expr_let x813 := Z.add_with_get_carry(2^64, x812₂, 0, x808₁) (* : uint64_t, uint1_t *) in
- expr_let x814 := Z.add_with_get_carry(2^64, x813₂, 0, x809₁) (* : uint64_t, uint1_t *) in
- expr_let x815 := Z.add_with_get_carry(2^64, x814₂, 0, x810₁) (* : uint64_t, uint1_t *) in
- expr_let x816 := Z.add_with_get_carry(2^64, 0, 0, x811₁) (* : uint64_t, uint1_t *) in
- expr_let x817 := Z.add_with_get_carry(2^64, x816₂, 0, x812₁) (* : uint1_t, uint1_t *) in
- expr_let x818 := Z.add_with_get_carry(2^64, x817₂, 0, x813₁) (* : uint64_t, uint1_t *) in
- expr_let x819 := Z.add_with_get_carry(2^64, x818₂, 0, x814₁) (* : uint64_t, uint1_t *) in
- expr_let x820 := Z.add_with_get_carry(2^64, x819₂, 0, x815₁) (* : uint64_t, uint1_t *) in
- expr_let x821 := Z.add_with_get_carry(2^64, 0, 0, x816₁) (* : uint64_t, uint1_t *) in
- expr_let x822 := Z.add_with_get_carry(2^64, x821₂, 0, x817₁) (* : uint1_t, uint1_t *) in
- expr_let x823 := Z.add_with_get_carry(2^64, x822₂, 0, x818₁) (* : uint64_t, uint1_t *) in
- expr_let x824 := Z.add_with_get_carry(2^64, x823₂, 0, x819₁) (* : uint64_t, uint1_t *) in
- expr_let x825 := Z.add_with_get_carry(2^64, x824₂, 0, x820₁) (* : uint64_t, uint1_t *) in
- expr_let x826 := Z.add_with_get_carry(2^64, 0, 0, x821₁) (* : uint64_t, uint1_t *) in
- expr_let x827 := Z.add_with_get_carry(2^64, x826₂, 0, x822₁) (* : uint1_t, uint1_t *) in
- expr_let x828 := Z.add_with_get_carry(2^64, x827₂, 0, x823₁) (* : uint64_t, uint1_t *) in
- expr_let x829 := Z.add_with_get_carry(2^64, x828₂, 0, x824₁) (* : uint64_t, uint1_t *) in
- expr_let x830 := Z.add_with_get_carry(2^64, x829₂, 0, x825₁) (* : uint64_t, uint1_t *) in
- expr_let x831 := Z.add_with_get_carry(2^64, 0, 0, x826₁) (* : uint64_t, uint1_t *) in
- expr_let x832 := Z.add_with_get_carry(2^64, x831₂, 0, x827₁) (* : uint1_t, uint1_t *) in
- expr_let x833 := Z.add_with_get_carry(2^64, x832₂, 0, x828₁) (* : uint64_t, uint1_t *) in
- expr_let x834 := Z.add_with_get_carry(2^64, x833₂, 0, x829₁) (* : uint64_t, uint1_t *) in
- expr_let x835 := Z.add_with_get_carry(2^64, x834₂, 0, x830₁) (* : uint64_t, uint1_t *) in
- expr_let x836 := Z.add_with_get_carry(2^64, 0, 0, x831₁) (* : uint64_t, uint1_t *) in
- expr_let x837 := Z.add_with_get_carry(2^64, x836₂, x763, x832₁) (* : uint64_t, uint1_t *) in
- expr_let x838 := Z.add_with_get_carry(2^64, x837₂, x761, x833₁) (* : uint64_t, uint1_t *) in
- expr_let x839 := Z.add_with_get_carry(2^64, x838₂, x759, x834₁) (* : uint64_t, uint1_t *) in
- expr_let x840 := Z.add_with_get_carry(2^64, x839₂, 0, x835₁) (* : uint64_t, uint1_t *) in
- expr_let x841 := Z.add_with_get_carry(2^64, 0, x836₁, x748₁) (* : uint64_t, uint1_t *) in
- expr_let x842 := Z.add_with_get_carry(2^64, x841₂, x837₁, x749₁) (* : uint64_t, uint1_t *) in
- expr_let x843 := Z.add_with_get_carry(2^64, x842₂, x838₁, x750₁) (* : uint64_t, uint1_t *) in
- expr_let x844 := Z.add_with_get_carry(2^64, x843₂, x839₁, x751₁) (* : uint64_t, uint1_t *) in
- expr_let x845 := Z.add_with_get_carry(2^64, x844₂, x840₁, x752₁) (* : uint64_t, uint1_t *) in
- expr_let x846 := Z.add_with_get_carry(2^64, x845₂, 0, x752₂) (* : uint64_t, uint1_t *) in
- expr_let x847 := Z.add_with_get_carry(2^64, 0, -1, x842₁) (* : uint64_t, int1_t *) in
- expr_let x848 := Z.add_with_get_carry(2^64, x847₂, -0xffffffff00000000, x843₁) (* : uint64_t, int1_t *) in
- expr_let x849 := Z.add_with_get_carry(2^64, x848₂, -(2^64-1), x844₁) (* : uint64_t, int1_t *) in
- expr_let x850 := Z.add_with_get_carry(2^64, x849₂, -(2^32-1), x845₁) (* : uint64_t, int1_t *) in
- expr_let x851 := Z.add_with_get_carry(2^64, x850₂, 0, x846₁) (* : uint64_t, int1_t *) in
- expr_let x852 := Z.zselect((-x851₂), x847₁, x842₁) (* : uint64_t *) in
- expr_let x853 := Z.zselect((-x851₂), x848₁, x843₁) (* : uint64_t *) in
- expr_let x854 := Z.zselect((-x851₂), x849₁, x844₁) (* : uint64_t *) in
- expr_let x855 := Z.zselect((-x851₂), x850₁, x845₁) (* : uint64_t *) in
- x852 :: x853 :: x854 :: x855 :: []
-)
-Error in converting fiat_p224_mul to C:
-Invalid identifier in arithmetic expression Z.mul_split
+/*
+ * 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;
+}
-In fiat_p224_square:
-Stringification failed on the syntax tree:
-(λ x1,
- expr_let x2 := x1[1] (* : uint64_t *) in
- expr_let x3 := x1[2] (* : uint64_t *) in
- expr_let x4 := x1[3] (* : uint64_t *) in
- expr_let x5 := x1[0] (* : uint64_t *) in
- expr_let x6 := Z.mul_split(2^64, x5, x1[3]) (* : uint64_t, uint64_t *) in
- expr_let x7 := Z.mul_split(2^64, x5, x1[2]) (* : uint64_t, uint64_t *) in
- expr_let x8 := Z.mul_split(2^64, x5, x1[1]) (* : uint64_t, uint64_t *) in
- expr_let x9 := Z.mul_split(2^64, x5, x1[0]) (* : uint64_t, uint64_t *) in
- expr_let x10 := 2^192 * 0 (* : uint1_t *) in
- expr_let x11 := 2^128 * 0 (* : uint1_t *) in
- expr_let x12 := 2^128 * 0 (* : uint1_t *) in
- expr_let x13 := 2^64 * 0 (* : uint1_t *) in
- expr_let x14 := 2^64 * 0 (* : uint1_t *) in
- expr_let x15 := 1 * 0 (* : uint1_t *) in
- expr_let x16 := 1 * 0 (* : uint1_t *) in
- expr_let x17 := 1 * 0 (* : uint1_t *) in
- expr_let x18 := 2^128 * 0 (* : uint1_t *) in
- expr_let x19 := 2^64 * 0 (* : uint1_t *) in
- expr_let x20 := 2^64 * 0 (* : uint1_t *) in
- expr_let x21 := 1 * 0 (* : uint1_t *) in
- expr_let x22 := 1 * 0 (* : uint1_t *) in
- expr_let x23 := 1 * 0 (* : uint1_t *) in
- expr_let x24 := 1 * 0 (* : uint1_t *) in
- expr_let x25 := 1 * 0 (* : uint1_t *) in
- expr_let x26 := 2^64 * 0 (* : uint1_t *) in
- expr_let x27 := 1 * 0 (* : uint1_t *) in
- expr_let x28 := 1 * 0 (* : uint1_t *) in
- expr_let x29 := 1 * 0 (* : uint1_t *) in
- expr_let x30 := 1 * 0 (* : uint1_t *) in
- expr_let x31 := 1 * 0 (* : uint1_t *) in
- expr_let x32 := 1 * 0 (* : uint1_t *) in
- expr_let x33 := 1 * 0 (* : uint1_t *) in
- expr_let x34 := x6₂ * 1 (* : uint64_t *) in
- expr_let x35 := x6₁ * 1 (* : uint64_t *) in
- expr_let x36 := x7₂ * 1 (* : uint64_t *) in
- expr_let x37 := x7₁ * 1 (* : uint64_t *) in
- expr_let x38 := x8₂ * 1 (* : uint64_t *) in
- expr_let x39 := x8₁ * 1 (* : uint64_t *) in
- expr_let x40 := x9₂ * 1 (* : uint64_t *) in
- expr_let x41 := x9₁ * 1 (* : uint64_t *) in
- expr_let x42 := Z.add_with_get_carry(2^64, 0, 0, x41) (* : uint64_t, uint1_t *) in
- expr_let x43 := Z.add_with_get_carry(2^64, x42₂, 0, x40) (* : uint64_t, uint1_t *) in
- expr_let x44 := Z.add_with_get_carry(2^64, x43₂, 0, x38) (* : uint64_t, uint1_t *) in
- expr_let x45 := Z.add_with_get_carry(2^64, x44₂, 0, x36) (* : uint64_t, uint1_t *) in
- expr_let x46 := Z.add_with_get_carry(2^64, x45₂, x10, x34) (* : uint64_t, uint1_t *) in
- expr_let x47 := Z.add_with_get_carry(2^64, 0, 0, x42₁) (* : uint64_t, uint1_t *) in
- expr_let x48 := Z.add_with_get_carry(2^64, x47₂, 0, x43₁) (* : uint64_t, uint1_t *) in
- expr_let x49 := Z.add_with_get_carry(2^64, x48₂, 0, x44₁) (* : uint64_t, uint1_t *) in
- expr_let x50 := Z.add_with_get_carry(2^64, x49₂, 0, x45₁) (* : uint64_t, uint1_t *) in
- expr_let x51 := Z.add_with_get_carry(2^64, x50₂, x11, x46₁) (* : uint64_t, uint1_t *) in
- expr_let x52 := Z.add_with_get_carry(2^64, 0, 0, x47₁) (* : uint64_t, uint1_t *) in
- expr_let x53 := Z.add_with_get_carry(2^64, x52₂, 0, x48₁) (* : uint64_t, uint1_t *) in
- expr_let x54 := Z.add_with_get_carry(2^64, x53₂, 0, x49₁) (* : uint64_t, uint1_t *) in
- expr_let x55 := Z.add_with_get_carry(2^64, x54₂, 0, x50₁) (* : uint64_t, uint1_t *) in
- expr_let x56 := Z.add_with_get_carry(2^64, x55₂, x12, x51₁) (* : uint64_t, uint1_t *) in
- expr_let x57 := Z.add_with_get_carry(2^64, 0, 0, x52₁) (* : uint64_t, uint1_t *) in
- expr_let x58 := Z.add_with_get_carry(2^64, x57₂, 0, x53₁) (* : uint64_t, uint1_t *) in
- expr_let x59 := Z.add_with_get_carry(2^64, x58₂, 0, x54₁) (* : uint64_t, uint1_t *) in
- expr_let x60 := Z.add_with_get_carry(2^64, x59₂, 0, x55₁) (* : uint64_t, uint1_t *) in
- expr_let x61 := Z.add_with_get_carry(2^64, x60₂, x13, x56₁) (* : uint64_t, uint1_t *) in
- expr_let x62 := Z.add_with_get_carry(2^64, 0, 0, x57₁) (* : uint64_t, uint1_t *) in
- expr_let x63 := Z.add_with_get_carry(2^64, x62₂, 0, x58₁) (* : uint64_t, uint1_t *) in
- expr_let x64 := Z.add_with_get_carry(2^64, x63₂, 0, x59₁) (* : uint64_t, uint1_t *) in
- expr_let x65 := Z.add_with_get_carry(2^64, x64₂, 0, x60₁) (* : uint64_t, uint1_t *) in
- expr_let x66 := Z.add_with_get_carry(2^64, x65₂, x14, x61₁) (* : uint64_t, uint1_t *) in
- expr_let x67 := Z.add_with_get_carry(2^64, 0, 0, x62₁) (* : uint64_t, uint1_t *) in
- expr_let x68 := Z.add_with_get_carry(2^64, x67₂, 0, x63₁) (* : uint64_t, uint1_t *) in
- expr_let x69 := Z.add_with_get_carry(2^64, x68₂, 0, x64₁) (* : uint64_t, uint1_t *) in
- expr_let x70 := Z.add_with_get_carry(2^64, x69₂, 0, x65₁) (* : uint64_t, uint1_t *) in
- expr_let x71 := Z.add_with_get_carry(2^64, x70₂, x15, x66₁) (* : uint64_t, uint1_t *) in
- expr_let x72 := Z.add_with_get_carry(2^64, 0, 0, x67₁) (* : uint64_t, uint1_t *) in
- expr_let x73 := Z.add_with_get_carry(2^64, x72₂, 0, x68₁) (* : uint64_t, uint1_t *) in
- expr_let x74 := Z.add_with_get_carry(2^64, x73₂, 0, x69₁) (* : uint64_t, uint1_t *) in
- expr_let x75 := Z.add_with_get_carry(2^64, x74₂, 0, x70₁) (* : uint64_t, uint1_t *) in
- expr_let x76 := Z.add_with_get_carry(2^64, x75₂, x16, x71₁) (* : uint64_t, uint1_t *) in
- expr_let x77 := Z.add_with_get_carry(2^64, 0, 0, x72₁) (* : uint64_t, uint1_t *) in
- expr_let x78 := Z.add_with_get_carry(2^64, x77₂, 0, x73₁) (* : uint64_t, uint1_t *) in
- expr_let x79 := Z.add_with_get_carry(2^64, x78₂, 0, x74₁) (* : uint64_t, uint1_t *) in
- expr_let x80 := Z.add_with_get_carry(2^64, x79₂, 0, x75₁) (* : uint64_t, uint1_t *) in
- expr_let x81 := Z.add_with_get_carry(2^64, x80₂, x18, x76₁) (* : uint64_t, uint1_t *) in
- expr_let x82 := Z.add_with_get_carry(2^64, 0, 0, x77₁) (* : uint64_t, uint1_t *) in
- expr_let x83 := Z.add_with_get_carry(2^64, x82₂, 0, x78₁) (* : uint64_t, uint1_t *) in
- expr_let x84 := Z.add_with_get_carry(2^64, x83₂, 0, x79₁) (* : uint64_t, uint1_t *) in
- expr_let x85 := Z.add_with_get_carry(2^64, x84₂, 0, x80₁) (* : uint64_t, uint1_t *) in
- expr_let x86 := Z.add_with_get_carry(2^64, x85₂, x19, x81₁) (* : uint64_t, uint1_t *) in
- expr_let x87 := Z.add_with_get_carry(2^64, 0, 0, x82₁) (* : uint64_t, uint1_t *) in
- expr_let x88 := Z.add_with_get_carry(2^64, x87₂, 0, x83₁) (* : uint64_t, uint1_t *) in
- expr_let x89 := Z.add_with_get_carry(2^64, x88₂, 0, x84₁) (* : uint64_t, uint1_t *) in
- expr_let x90 := Z.add_with_get_carry(2^64, x89₂, x17, x85₁) (* : uint64_t, uint1_t *) in
- expr_let x91 := Z.add_with_get_carry(2^64, x90₂, x20, x86₁) (* : uint64_t, uint1_t *) in
- expr_let x92 := Z.add_with_get_carry(2^64, 0, 0, x87₁) (* : uint64_t, uint1_t *) in
- expr_let x93 := Z.add_with_get_carry(2^64, x92₂, 0, x88₁) (* : uint64_t, uint1_t *) in
- expr_let x94 := Z.add_with_get_carry(2^64, x93₂, 0, x89₁) (* : uint64_t, uint1_t *) in
- expr_let x95 := Z.add_with_get_carry(2^64, x94₂, x23, x90₁) (* : uint64_t, uint1_t *) in
- expr_let x96 := Z.add_with_get_carry(2^64, x95₂, x21, x91₁) (* : uint64_t, uint1_t *) in
- expr_let x97 := Z.add_with_get_carry(2^64, 0, 0, x92₁) (* : uint64_t, uint1_t *) in
- expr_let x98 := Z.add_with_get_carry(2^64, x97₂, 0, x93₁) (* : uint64_t, uint1_t *) in
- expr_let x99 := Z.add_with_get_carry(2^64, x98₂, x25, x94₁) (* : uint64_t, uint1_t *) in
- expr_let x100 := Z.add_with_get_carry(2^64, x99₂, x24, x95₁) (* : uint64_t, uint1_t *) in
- expr_let x101 := Z.add_with_get_carry(2^64, x100₂, x22, x96₁) (* : uint64_t, uint1_t *) in
- expr_let x102 := Z.add_with_get_carry(2^64, 0, 0, x97₁) (* : uint64_t, uint1_t *) in
- expr_let x103 := Z.add_with_get_carry(2^64, x102₂, 0, x98₁) (* : uint64_t, uint1_t *) in
- expr_let x104 := Z.add_with_get_carry(2^64, x103₂, x31, x99₁) (* : uint64_t, uint1_t *) in
- expr_let x105 := Z.add_with_get_carry(2^64, x104₂, x29, x100₁) (* : uint64_t, uint1_t *) in
- expr_let x106 := Z.add_with_get_carry(2^64, x105₂, x26, x101₁) (* : uint64_t, uint1_t *) in
- expr_let x107 := Z.add_with_get_carry(2^64, 0, 0, x102₁) (* : uint64_t, uint1_t *) in
- expr_let x108 := Z.add_with_get_carry(2^64, x107₂, x33, x103₁) (* : uint64_t, uint1_t *) in
- expr_let x109 := Z.add_with_get_carry(2^64, x108₂, x32, x104₁) (* : uint64_t, uint1_t *) in
- expr_let x110 := Z.add_with_get_carry(2^64, x109₂, x30, x105₁) (* : uint64_t, uint1_t *) in
- expr_let x111 := Z.add_with_get_carry(2^64, x110₂, x27, x106₁) (* : uint64_t, uint1_t *) in
- expr_let x112 := Z.add_with_get_carry(2^64, 0, 0, x107₁) (* : uint64_t, uint1_t *) in
- expr_let x113 := Z.add_with_get_carry(2^64, x112₂, x39, x108₁) (* : uint64_t, uint1_t *) in
- expr_let x114 := Z.add_with_get_carry(2^64, x113₂, x37, x109₁) (* : uint64_t, uint1_t *) in
- expr_let x115 := Z.add_with_get_carry(2^64, x114₂, x35, x110₁) (* : uint64_t, uint1_t *) in
- expr_let x116 := Z.add_with_get_carry(2^64, x115₂, x28, x111₁) (* : uint64_t, uint1_t *) in
- expr_let x117 := Z.add_with_get_carry(2^64, 0, x112₁, 0) (* : uint64_t, uint1_t *) in
- expr_let x118 := Z.add_with_get_carry(2^64, x117₂, x113₁, 0) (* : uint64_t, uint1_t *) in
- expr_let x119 := Z.add_with_get_carry(2^64, x118₂, x114₁, 0) (* : uint64_t, uint1_t *) in
- expr_let x120 := Z.add_with_get_carry(2^64, x119₂, x115₁, 0) (* : uint64_t, uint1_t *) in
- expr_let x121 := Z.add_with_get_carry(2^64, x120₂, x116₁, 0) (* : uint64_t, uint1_t *) in
- expr_let x122 := (Z.mul_split(2^64, x117₁, 2^64-1))₁ (* : uint64_t *) in
- expr_let x123 := Z.mul_split(2^64, x122, 2^32-1) (* : uint64_t, uint64_t *) in
- expr_let x124 := Z.mul_split(2^64, x122, 2^64-1) (* : uint64_t, uint64_t *) in
- expr_let x125 := Z.mul_split(2^64, x122, 0xffffffff00000000) (* : uint64_t, uint64_t *) in
- expr_let x126 := Z.mul_split(2^64, x122, 1) (* : uint64_t, uint1_t *) in
- expr_let x127 := x123₂ * 1 (* : uint64_t *) in
- expr_let x128 := x123₁ * 1 (* : uint64_t *) in
- expr_let x129 := x124₂ * 1 (* : uint64_t *) in
- expr_let x130 := x124₁ * 1 (* : uint64_t *) in
- expr_let x131 := x125₂ * 1 (* : uint64_t *) in
- expr_let x132 := x125₁ * 1 (* : uint64_t *) in
- expr_let x133 := x126₂ * 1 (* : uint1_t *) in
- expr_let x134 := x126₁ * 1 (* : uint64_t *) in
- expr_let x135 := Z.add_with_get_carry(2^64, 0, 0, x134) (* : uint64_t, uint1_t *) in
- expr_let x136 := Z.add_with_get_carry(2^64, x135₂, 0, x133) (* : uint1_t, uint1_t *) in
- expr_let x137 := Z.add_with_get_carry(2^64, x136₂, 0, x131) (* : uint64_t, uint1_t *) in
- expr_let x138 := Z.add_with_get_carry(2^64, x137₂, 0, x129) (* : uint64_t, uint1_t *) in
- expr_let x139 := Z.add_with_get_carry(2^64, x138₂, 0, x127) (* : uint64_t, uint1_t *) in
- expr_let x140 := Z.add_with_get_carry(2^64, 0, 0, x135₁) (* : uint64_t, uint1_t *) in
- expr_let x141 := Z.add_with_get_carry(2^64, x140₂, 0, x136₁) (* : uint1_t, uint1_t *) in
- expr_let x142 := Z.add_with_get_carry(2^64, x141₂, 0, x137₁) (* : uint64_t, uint1_t *) in
- expr_let x143 := Z.add_with_get_carry(2^64, x142₂, 0, x138₁) (* : uint64_t, uint1_t *) in
- expr_let x144 := Z.add_with_get_carry(2^64, x143₂, 0, x139₁) (* : uint64_t, uint1_t *) in
- expr_let x145 := Z.add_with_get_carry(2^64, 0, 0, x140₁) (* : uint64_t, uint1_t *) in
- expr_let x146 := Z.add_with_get_carry(2^64, x145₂, 0, x141₁) (* : uint1_t, uint1_t *) in
- expr_let x147 := Z.add_with_get_carry(2^64, x146₂, 0, x142₁) (* : uint64_t, uint1_t *) in
- expr_let x148 := Z.add_with_get_carry(2^64, x147₂, 0, x143₁) (* : uint64_t, uint1_t *) in
- expr_let x149 := Z.add_with_get_carry(2^64, x148₂, 0, x144₁) (* : uint64_t, uint1_t *) in
- expr_let x150 := Z.add_with_get_carry(2^64, 0, 0, x145₁) (* : uint64_t, uint1_t *) in
- expr_let x151 := Z.add_with_get_carry(2^64, x150₂, 0, x146₁) (* : uint1_t, uint1_t *) in
- expr_let x152 := Z.add_with_get_carry(2^64, x151₂, 0, x147₁) (* : uint64_t, uint1_t *) in
- expr_let x153 := Z.add_with_get_carry(2^64, x152₂, 0, x148₁) (* : uint64_t, uint1_t *) in
- expr_let x154 := Z.add_with_get_carry(2^64, x153₂, 0, x149₁) (* : uint64_t, uint1_t *) in
- expr_let x155 := Z.add_with_get_carry(2^64, 0, 0, x150₁) (* : uint64_t, uint1_t *) in
- expr_let x156 := Z.add_with_get_carry(2^64, x155₂, 0, x151₁) (* : uint1_t, uint1_t *) in
- expr_let x157 := Z.add_with_get_carry(2^64, x156₂, 0, x152₁) (* : uint64_t, uint1_t *) in
- expr_let x158 := Z.add_with_get_carry(2^64, x157₂, 0, x153₁) (* : uint64_t, uint1_t *) in
- expr_let x159 := Z.add_with_get_carry(2^64, x158₂, 0, x154₁) (* : uint64_t, uint1_t *) in
- expr_let x160 := Z.add_with_get_carry(2^64, 0, 0, x155₁) (* : uint64_t, uint1_t *) in
- expr_let x161 := Z.add_with_get_carry(2^64, x160₂, 0, x156₁) (* : uint1_t, uint1_t *) in
- expr_let x162 := Z.add_with_get_carry(2^64, x161₂, 0, x157₁) (* : uint64_t, uint1_t *) in
- expr_let x163 := Z.add_with_get_carry(2^64, x162₂, 0, x158₁) (* : uint64_t, uint1_t *) in
- expr_let x164 := Z.add_with_get_carry(2^64, x163₂, 0, x159₁) (* : uint64_t, uint1_t *) in
- expr_let x165 := Z.add_with_get_carry(2^64, 0, 0, x160₁) (* : uint64_t, uint1_t *) in
- expr_let x166 := Z.add_with_get_carry(2^64, x165₂, 0, x161₁) (* : uint1_t, uint1_t *) in
- expr_let x167 := Z.add_with_get_carry(2^64, x166₂, 0, x162₁) (* : uint64_t, uint1_t *) in
- expr_let x168 := Z.add_with_get_carry(2^64, x167₂, 0, x163₁) (* : uint64_t, uint1_t *) in
- expr_let x169 := Z.add_with_get_carry(2^64, x168₂, 0, x164₁) (* : uint64_t, uint1_t *) in
- expr_let x170 := Z.add_with_get_carry(2^64, 0, 0, x165₁) (* : uint64_t, uint1_t *) in
- expr_let x171 := Z.add_with_get_carry(2^64, x170₂, 0, x166₁) (* : uint1_t, uint1_t *) in
- expr_let x172 := Z.add_with_get_carry(2^64, x171₂, 0, x167₁) (* : uint64_t, uint1_t *) in
- expr_let x173 := Z.add_with_get_carry(2^64, x172₂, 0, x168₁) (* : uint64_t, uint1_t *) in
- expr_let x174 := Z.add_with_get_carry(2^64, x173₂, 0, x169₁) (* : uint64_t, uint1_t *) in
- expr_let x175 := Z.add_with_get_carry(2^64, 0, 0, x170₁) (* : uint64_t, uint1_t *) in
- expr_let x176 := Z.add_with_get_carry(2^64, x175₂, 0, x171₁) (* : uint1_t, uint1_t *) in
- expr_let x177 := Z.add_with_get_carry(2^64, x176₂, 0, x172₁) (* : uint64_t, uint1_t *) in
- expr_let x178 := Z.add_with_get_carry(2^64, x177₂, 0, x173₁) (* : uint64_t, uint1_t *) in
- expr_let x179 := Z.add_with_get_carry(2^64, x178₂, 0, x174₁) (* : uint64_t, uint1_t *) in
- expr_let x180 := Z.add_with_get_carry(2^64, 0, 0, x175₁) (* : uint64_t, uint1_t *) in
- expr_let x181 := Z.add_with_get_carry(2^64, x180₂, 0, x176₁) (* : uint1_t, uint1_t *) in
- expr_let x182 := Z.add_with_get_carry(2^64, x181₂, 0, x177₁) (* : uint64_t, uint1_t *) in
- expr_let x183 := Z.add_with_get_carry(2^64, x182₂, 0, x178₁) (* : uint64_t, uint1_t *) in
- expr_let x184 := Z.add_with_get_carry(2^64, x183₂, 0, x179₁) (* : uint64_t, uint1_t *) in
- expr_let x185 := Z.add_with_get_carry(2^64, 0, 0, x180₁) (* : uint64_t, uint1_t *) in
- expr_let x186 := Z.add_with_get_carry(2^64, x185₂, 0, x181₁) (* : uint1_t, uint1_t *) in
- expr_let x187 := Z.add_with_get_carry(2^64, x186₂, 0, x182₁) (* : uint64_t, uint1_t *) in
- expr_let x188 := Z.add_with_get_carry(2^64, x187₂, 0, x183₁) (* : uint64_t, uint1_t *) in
- expr_let x189 := Z.add_with_get_carry(2^64, x188₂, 0, x184₁) (* : uint64_t, uint1_t *) in
- expr_let x190 := Z.add_with_get_carry(2^64, 0, 0, x185₁) (* : uint64_t, uint1_t *) in
- expr_let x191 := Z.add_with_get_carry(2^64, x190₂, 0, x186₁) (* : uint1_t, uint1_t *) in
- expr_let x192 := Z.add_with_get_carry(2^64, x191₂, 0, x187₁) (* : uint64_t, uint1_t *) in
- expr_let x193 := Z.add_with_get_carry(2^64, x192₂, 0, x188₁) (* : uint64_t, uint1_t *) in
- expr_let x194 := Z.add_with_get_carry(2^64, x193₂, 0, x189₁) (* : uint64_t, uint1_t *) in
- expr_let x195 := Z.add_with_get_carry(2^64, 0, 0, x190₁) (* : uint64_t, uint1_t *) in
- expr_let x196 := Z.add_with_get_carry(2^64, x195₂, 0, x191₁) (* : uint1_t, uint1_t *) in
- expr_let x197 := Z.add_with_get_carry(2^64, x196₂, 0, x192₁) (* : uint64_t, uint1_t *) in
- expr_let x198 := Z.add_with_get_carry(2^64, x197₂, 0, x193₁) (* : uint64_t, uint1_t *) in
- expr_let x199 := Z.add_with_get_carry(2^64, x198₂, 0, x194₁) (* : uint64_t, uint1_t *) in
- expr_let x200 := Z.add_with_get_carry(2^64, 0, 0, x195₁) (* : uint64_t, uint1_t *) in
- expr_let x201 := Z.add_with_get_carry(2^64, x200₂, 0, x196₁) (* : uint1_t, uint1_t *) in
- expr_let x202 := Z.add_with_get_carry(2^64, x201₂, 0, x197₁) (* : uint64_t, uint1_t *) in
- expr_let x203 := Z.add_with_get_carry(2^64, x202₂, 0, x198₁) (* : uint64_t, uint1_t *) in
- expr_let x204 := Z.add_with_get_carry(2^64, x203₂, 0, x199₁) (* : uint64_t, uint1_t *) in
- expr_let x205 := Z.add_with_get_carry(2^64, 0, 0, x200₁) (* : uint64_t, uint1_t *) in
- expr_let x206 := Z.add_with_get_carry(2^64, x205₂, x132, x201₁) (* : uint64_t, uint1_t *) in
- expr_let x207 := Z.add_with_get_carry(2^64, x206₂, x130, x202₁) (* : uint64_t, uint1_t *) in
- expr_let x208 := Z.add_with_get_carry(2^64, x207₂, x128, x203₁) (* : uint64_t, uint1_t *) in
- expr_let x209 := Z.add_with_get_carry(2^64, x208₂, 0, x204₁) (* : uint64_t, uint1_t *) in
- expr_let x210 := Z.add_with_get_carry(2^64, 0, x205₁, x117₁) (* : uint64_t, uint1_t *) in
- expr_let x211 := Z.add_with_get_carry(2^64, x210₂, x206₁, x118₁) (* : uint64_t, uint1_t *) in
- expr_let x212 := Z.add_with_get_carry(2^64, x211₂, x207₁, x119₁) (* : uint64_t, uint1_t *) in
- expr_let x213 := Z.add_with_get_carry(2^64, x212₂, x208₁, x120₁) (* : uint64_t, uint1_t *) in
- expr_let x214 := Z.add_with_get_carry(2^64, x213₂, x209₁, x121₁) (* : uint64_t, uint1_t *) in
- expr_let x215 := Z.add_with_get_carry(2^64, x214₂, 0, x121₂) (* : uint1_t, uint1_t *) in
- expr_let x216 := Z.mul_split(2^64, x2, x1[3]) (* : uint64_t, uint64_t *) in
- expr_let x217 := Z.mul_split(2^64, x2, x1[2]) (* : uint64_t, uint64_t *) in
- expr_let x218 := Z.mul_split(2^64, x2, x1[1]) (* : uint64_t, uint64_t *) in
- expr_let x219 := Z.mul_split(2^64, x2, x1[0]) (* : uint64_t, uint64_t *) in
- expr_let x220 := 2^192 * 0 (* : uint1_t *) in
- expr_let x221 := 2^128 * 0 (* : uint1_t *) in
- expr_let x222 := 2^128 * 0 (* : uint1_t *) in
- expr_let x223 := 2^64 * 0 (* : uint1_t *) in
- expr_let x224 := 2^64 * 0 (* : uint1_t *) in
- expr_let x225 := 1 * 0 (* : uint1_t *) in
- expr_let x226 := 1 * 0 (* : uint1_t *) in
- expr_let x227 := 1 * 0 (* : uint1_t *) in
- expr_let x228 := 2^128 * 0 (* : uint1_t *) in
- expr_let x229 := 2^64 * 0 (* : uint1_t *) in
- expr_let x230 := 2^64 * 0 (* : uint1_t *) in
- expr_let x231 := 1 * 0 (* : uint1_t *) in
- expr_let x232 := 1 * 0 (* : uint1_t *) in
- expr_let x233 := 1 * 0 (* : uint1_t *) in
- expr_let x234 := 1 * 0 (* : uint1_t *) in
- expr_let x235 := 1 * 0 (* : uint1_t *) in
- expr_let x236 := 2^64 * 0 (* : uint1_t *) in
- expr_let x237 := 1 * 0 (* : uint1_t *) in
- expr_let x238 := 1 * 0 (* : uint1_t *) in
- expr_let x239 := 1 * 0 (* : uint1_t *) in
- expr_let x240 := 1 * 0 (* : uint1_t *) in
- expr_let x241 := 1 * 0 (* : uint1_t *) in
- expr_let x242 := 1 * 0 (* : uint1_t *) in
- expr_let x243 := 1 * 0 (* : uint1_t *) in
- expr_let x244 := x216₂ * 1 (* : uint64_t *) in
- expr_let x245 := x216₁ * 1 (* : uint64_t *) in
- expr_let x246 := x217₂ * 1 (* : uint64_t *) in
- expr_let x247 := x217₁ * 1 (* : uint64_t *) in
- expr_let x248 := x218₂ * 1 (* : uint64_t *) in
- expr_let x249 := x218₁ * 1 (* : uint64_t *) in
- expr_let x250 := x219₂ * 1 (* : uint64_t *) in
- expr_let x251 := x219₁ * 1 (* : uint64_t *) in
- expr_let x252 := Z.add_with_get_carry(2^64, 0, 0, x251) (* : uint64_t, uint1_t *) in
- expr_let x253 := Z.add_with_get_carry(2^64, x252₂, 0, x250) (* : uint64_t, uint1_t *) in
- expr_let x254 := Z.add_with_get_carry(2^64, x253₂, 0, x248) (* : uint64_t, uint1_t *) in
- expr_let x255 := Z.add_with_get_carry(2^64, x254₂, 0, x246) (* : uint64_t, uint1_t *) in
- expr_let x256 := Z.add_with_get_carry(2^64, x255₂, x220, x244) (* : uint64_t, uint1_t *) in
- expr_let x257 := Z.add_with_get_carry(2^64, 0, 0, x252₁) (* : uint64_t, uint1_t *) in
- expr_let x258 := Z.add_with_get_carry(2^64, x257₂, 0, x253₁) (* : uint64_t, uint1_t *) in
- expr_let x259 := Z.add_with_get_carry(2^64, x258₂, 0, x254₁) (* : uint64_t, uint1_t *) in
- expr_let x260 := Z.add_with_get_carry(2^64, x259₂, 0, x255₁) (* : uint64_t, uint1_t *) in
- expr_let x261 := Z.add_with_get_carry(2^64, x260₂, x221, x256₁) (* : uint64_t, uint1_t *) in
- expr_let x262 := Z.add_with_get_carry(2^64, 0, 0, x257₁) (* : uint64_t, uint1_t *) in
- expr_let x263 := Z.add_with_get_carry(2^64, x262₂, 0, x258₁) (* : uint64_t, uint1_t *) in
- expr_let x264 := Z.add_with_get_carry(2^64, x263₂, 0, x259₁) (* : uint64_t, uint1_t *) in
- expr_let x265 := Z.add_with_get_carry(2^64, x264₂, 0, x260₁) (* : uint64_t, uint1_t *) in
- expr_let x266 := Z.add_with_get_carry(2^64, x265₂, x222, x261₁) (* : uint64_t, uint1_t *) in
- expr_let x267 := Z.add_with_get_carry(2^64, 0, 0, x262₁) (* : uint64_t, uint1_t *) in
- expr_let x268 := Z.add_with_get_carry(2^64, x267₂, 0, x263₁) (* : uint64_t, uint1_t *) in
- expr_let x269 := Z.add_with_get_carry(2^64, x268₂, 0, x264₁) (* : uint64_t, uint1_t *) in
- expr_let x270 := Z.add_with_get_carry(2^64, x269₂, 0, x265₁) (* : uint64_t, uint1_t *) in
- expr_let x271 := Z.add_with_get_carry(2^64, x270₂, x223, x266₁) (* : uint64_t, uint1_t *) in
- expr_let x272 := Z.add_with_get_carry(2^64, 0, 0, x267₁) (* : uint64_t, uint1_t *) in
- expr_let x273 := Z.add_with_get_carry(2^64, x272₂, 0, x268₁) (* : uint64_t, uint1_t *) in
- expr_let x274 := Z.add_with_get_carry(2^64, x273₂, 0, x269₁) (* : uint64_t, uint1_t *) in
- expr_let x275 := Z.add_with_get_carry(2^64, x274₂, 0, x270₁) (* : uint64_t, uint1_t *) in
- expr_let x276 := Z.add_with_get_carry(2^64, x275₂, x224, x271₁) (* : uint64_t, uint1_t *) in
- expr_let x277 := Z.add_with_get_carry(2^64, 0, 0, x272₁) (* : uint64_t, uint1_t *) in
- expr_let x278 := Z.add_with_get_carry(2^64, x277₂, 0, x273₁) (* : uint64_t, uint1_t *) in
- expr_let x279 := Z.add_with_get_carry(2^64, x278₂, 0, x274₁) (* : uint64_t, uint1_t *) in
- expr_let x280 := Z.add_with_get_carry(2^64, x279₂, 0, x275₁) (* : uint64_t, uint1_t *) in
- expr_let x281 := Z.add_with_get_carry(2^64, x280₂, x225, x276₁) (* : uint64_t, uint1_t *) in
- expr_let x282 := Z.add_with_get_carry(2^64, 0, 0, x277₁) (* : uint64_t, uint1_t *) in
- expr_let x283 := Z.add_with_get_carry(2^64, x282₂, 0, x278₁) (* : uint64_t, uint1_t *) in
- expr_let x284 := Z.add_with_get_carry(2^64, x283₂, 0, x279₁) (* : uint64_t, uint1_t *) in
- expr_let x285 := Z.add_with_get_carry(2^64, x284₂, 0, x280₁) (* : uint64_t, uint1_t *) in
- expr_let x286 := Z.add_with_get_carry(2^64, x285₂, x226, x281₁) (* : uint64_t, uint1_t *) in
- expr_let x287 := Z.add_with_get_carry(2^64, 0, 0, x282₁) (* : uint64_t, uint1_t *) in
- expr_let x288 := Z.add_with_get_carry(2^64, x287₂, 0, x283₁) (* : uint64_t, uint1_t *) in
- expr_let x289 := Z.add_with_get_carry(2^64, x288₂, 0, x284₁) (* : uint64_t, uint1_t *) in
- expr_let x290 := Z.add_with_get_carry(2^64, x289₂, 0, x285₁) (* : uint64_t, uint1_t *) in
- expr_let x291 := Z.add_with_get_carry(2^64, x290₂, x228, x286₁) (* : uint64_t, uint1_t *) in
- expr_let x292 := Z.add_with_get_carry(2^64, 0, 0, x287₁) (* : uint64_t, uint1_t *) in
- expr_let x293 := Z.add_with_get_carry(2^64, x292₂, 0, x288₁) (* : uint64_t, uint1_t *) in
- expr_let x294 := Z.add_with_get_carry(2^64, x293₂, 0, x289₁) (* : uint64_t, uint1_t *) in
- expr_let x295 := Z.add_with_get_carry(2^64, x294₂, 0, x290₁) (* : uint64_t, uint1_t *) in
- expr_let x296 := Z.add_with_get_carry(2^64, x295₂, x229, x291₁) (* : uint64_t, uint1_t *) in
- expr_let x297 := Z.add_with_get_carry(2^64, 0, 0, x292₁) (* : uint64_t, uint1_t *) in
- expr_let x298 := Z.add_with_get_carry(2^64, x297₂, 0, x293₁) (* : uint64_t, uint1_t *) in
- expr_let x299 := Z.add_with_get_carry(2^64, x298₂, 0, x294₁) (* : uint64_t, uint1_t *) in
- expr_let x300 := Z.add_with_get_carry(2^64, x299₂, x227, x295₁) (* : uint64_t, uint1_t *) in
- expr_let x301 := Z.add_with_get_carry(2^64, x300₂, x230, x296₁) (* : uint64_t, uint1_t *) in
- expr_let x302 := Z.add_with_get_carry(2^64, 0, 0, x297₁) (* : uint64_t, uint1_t *) in
- expr_let x303 := Z.add_with_get_carry(2^64, x302₂, 0, x298₁) (* : uint64_t, uint1_t *) in
- expr_let x304 := Z.add_with_get_carry(2^64, x303₂, 0, x299₁) (* : uint64_t, uint1_t *) in
- expr_let x305 := Z.add_with_get_carry(2^64, x304₂, x233, x300₁) (* : uint64_t, uint1_t *) in
- expr_let x306 := Z.add_with_get_carry(2^64, x305₂, x231, x301₁) (* : uint64_t, uint1_t *) in
- expr_let x307 := Z.add_with_get_carry(2^64, 0, 0, x302₁) (* : uint64_t, uint1_t *) in
- expr_let x308 := Z.add_with_get_carry(2^64, x307₂, 0, x303₁) (* : uint64_t, uint1_t *) in
- expr_let x309 := Z.add_with_get_carry(2^64, x308₂, x235, x304₁) (* : uint64_t, uint1_t *) in
- expr_let x310 := Z.add_with_get_carry(2^64, x309₂, x234, x305₁) (* : uint64_t, uint1_t *) in
- expr_let x311 := Z.add_with_get_carry(2^64, x310₂, x232, x306₁) (* : uint64_t, uint1_t *) in
- expr_let x312 := Z.add_with_get_carry(2^64, 0, 0, x307₁) (* : uint64_t, uint1_t *) in
- expr_let x313 := Z.add_with_get_carry(2^64, x312₂, 0, x308₁) (* : uint64_t, uint1_t *) in
- expr_let x314 := Z.add_with_get_carry(2^64, x313₂, x241, x309₁) (* : uint64_t, uint1_t *) in
- expr_let x315 := Z.add_with_get_carry(2^64, x314₂, x239, x310₁) (* : uint64_t, uint1_t *) in
- expr_let x316 := Z.add_with_get_carry(2^64, x315₂, x236, x311₁) (* : uint64_t, uint1_t *) in
- expr_let x317 := Z.add_with_get_carry(2^64, 0, 0, x312₁) (* : uint64_t, uint1_t *) in
- expr_let x318 := Z.add_with_get_carry(2^64, x317₂, x243, x313₁) (* : uint64_t, uint1_t *) in
- expr_let x319 := Z.add_with_get_carry(2^64, x318₂, x242, x314₁) (* : uint64_t, uint1_t *) in
- expr_let x320 := Z.add_with_get_carry(2^64, x319₂, x240, x315₁) (* : uint64_t, uint1_t *) in
- expr_let x321 := Z.add_with_get_carry(2^64, x320₂, x237, x316₁) (* : uint64_t, uint1_t *) in
- expr_let x322 := Z.add_with_get_carry(2^64, 0, 0, x317₁) (* : uint64_t, uint1_t *) in
- expr_let x323 := Z.add_with_get_carry(2^64, x322₂, x249, x318₁) (* : uint64_t, uint1_t *) in
- expr_let x324 := Z.add_with_get_carry(2^64, x323₂, x247, x319₁) (* : uint64_t, uint1_t *) in
- expr_let x325 := Z.add_with_get_carry(2^64, x324₂, x245, x320₁) (* : uint64_t, uint1_t *) in
- expr_let x326 := Z.add_with_get_carry(2^64, x325₂, x238, x321₁) (* : uint64_t, uint1_t *) in
- expr_let x327 := Z.add_with_get_carry(2^64, 0, x322₁, x211₁) (* : uint64_t, uint1_t *) in
- expr_let x328 := Z.add_with_get_carry(2^64, x327₂, x323₁, x212₁) (* : uint64_t, uint1_t *) in
- expr_let x329 := Z.add_with_get_carry(2^64, x328₂, x324₁, x213₁) (* : uint64_t, uint1_t *) in
- expr_let x330 := Z.add_with_get_carry(2^64, x329₂, x325₁, x214₁) (* : uint64_t, uint1_t *) in
- expr_let x331 := Z.add_with_get_carry(2^64, x330₂, x326₁, x215₁) (* : uint64_t, uint1_t *) in
- expr_let x332 := (Z.mul_split(2^64, x327₁, 2^64-1))₁ (* : uint64_t *) in
- expr_let x333 := Z.mul_split(2^64, x332, 2^32-1) (* : uint64_t, uint64_t *) in
- expr_let x334 := Z.mul_split(2^64, x332, 2^64-1) (* : uint64_t, uint64_t *) in
- expr_let x335 := Z.mul_split(2^64, x332, 0xffffffff00000000) (* : uint64_t, uint64_t *) in
- expr_let x336 := Z.mul_split(2^64, x332, 1) (* : uint64_t, uint1_t *) in
- expr_let x337 := x333₂ * 1 (* : uint64_t *) in
- expr_let x338 := x333₁ * 1 (* : uint64_t *) in
- expr_let x339 := x334₂ * 1 (* : uint64_t *) in
- expr_let x340 := x334₁ * 1 (* : uint64_t *) in
- expr_let x341 := x335₂ * 1 (* : uint64_t *) in
- expr_let x342 := x335₁ * 1 (* : uint64_t *) in
- expr_let x343 := x336₂ * 1 (* : uint1_t *) in
- expr_let x344 := x336₁ * 1 (* : uint64_t *) in
- expr_let x345 := Z.add_with_get_carry(2^64, 0, 0, x344) (* : uint64_t, uint1_t *) in
- expr_let x346 := Z.add_with_get_carry(2^64, x345₂, 0, x343) (* : uint1_t, uint1_t *) in
- expr_let x347 := Z.add_with_get_carry(2^64, x346₂, 0, x341) (* : uint64_t, uint1_t *) in
- expr_let x348 := Z.add_with_get_carry(2^64, x347₂, 0, x339) (* : uint64_t, uint1_t *) in
- expr_let x349 := Z.add_with_get_carry(2^64, x348₂, 0, x337) (* : uint64_t, uint1_t *) in
- expr_let x350 := Z.add_with_get_carry(2^64, 0, 0, x345₁) (* : uint64_t, uint1_t *) in
- expr_let x351 := Z.add_with_get_carry(2^64, x350₂, 0, x346₁) (* : uint1_t, uint1_t *) in
- expr_let x352 := Z.add_with_get_carry(2^64, x351₂, 0, x347₁) (* : uint64_t, uint1_t *) in
- expr_let x353 := Z.add_with_get_carry(2^64, x352₂, 0, x348₁) (* : uint64_t, uint1_t *) in
- expr_let x354 := Z.add_with_get_carry(2^64, x353₂, 0, x349₁) (* : uint64_t, uint1_t *) in
- expr_let x355 := Z.add_with_get_carry(2^64, 0, 0, x350₁) (* : uint64_t, uint1_t *) in
- expr_let x356 := Z.add_with_get_carry(2^64, x355₂, 0, x351₁) (* : uint1_t, uint1_t *) in
- expr_let x357 := Z.add_with_get_carry(2^64, x356₂, 0, x352₁) (* : uint64_t, uint1_t *) in
- expr_let x358 := Z.add_with_get_carry(2^64, x357₂, 0, x353₁) (* : uint64_t, uint1_t *) in
- expr_let x359 := Z.add_with_get_carry(2^64, x358₂, 0, x354₁) (* : uint64_t, uint1_t *) in
- expr_let x360 := Z.add_with_get_carry(2^64, 0, 0, x355₁) (* : uint64_t, uint1_t *) in
- expr_let x361 := Z.add_with_get_carry(2^64, x360₂, 0, x356₁) (* : uint1_t, uint1_t *) in
- expr_let x362 := Z.add_with_get_carry(2^64, x361₂, 0, x357₁) (* : uint64_t, uint1_t *) in
- expr_let x363 := Z.add_with_get_carry(2^64, x362₂, 0, x358₁) (* : uint64_t, uint1_t *) in
- expr_let x364 := Z.add_with_get_carry(2^64, x363₂, 0, x359₁) (* : uint64_t, uint1_t *) in
- expr_let x365 := Z.add_with_get_carry(2^64, 0, 0, x360₁) (* : uint64_t, uint1_t *) in
- expr_let x366 := Z.add_with_get_carry(2^64, x365₂, 0, x361₁) (* : uint1_t, uint1_t *) in
- expr_let x367 := Z.add_with_get_carry(2^64, x366₂, 0, x362₁) (* : uint64_t, uint1_t *) in
- expr_let x368 := Z.add_with_get_carry(2^64, x367₂, 0, x363₁) (* : uint64_t, uint1_t *) in
- expr_let x369 := Z.add_with_get_carry(2^64, x368₂, 0, x364₁) (* : uint64_t, uint1_t *) in
- expr_let x370 := Z.add_with_get_carry(2^64, 0, 0, x365₁) (* : uint64_t, uint1_t *) in
- expr_let x371 := Z.add_with_get_carry(2^64, x370₂, 0, x366₁) (* : uint1_t, uint1_t *) in
- expr_let x372 := Z.add_with_get_carry(2^64, x371₂, 0, x367₁) (* : uint64_t, uint1_t *) in
- expr_let x373 := Z.add_with_get_carry(2^64, x372₂, 0, x368₁) (* : uint64_t, uint1_t *) in
- expr_let x374 := Z.add_with_get_carry(2^64, x373₂, 0, x369₁) (* : uint64_t, uint1_t *) in
- expr_let x375 := Z.add_with_get_carry(2^64, 0, 0, x370₁) (* : uint64_t, uint1_t *) in
- expr_let x376 := Z.add_with_get_carry(2^64, x375₂, 0, x371₁) (* : uint1_t, uint1_t *) in
- expr_let x377 := Z.add_with_get_carry(2^64, x376₂, 0, x372₁) (* : uint64_t, uint1_t *) in
- expr_let x378 := Z.add_with_get_carry(2^64, x377₂, 0, x373₁) (* : uint64_t, uint1_t *) in
- expr_let x379 := Z.add_with_get_carry(2^64, x378₂, 0, x374₁) (* : uint64_t, uint1_t *) in
- expr_let x380 := Z.add_with_get_carry(2^64, 0, 0, x375₁) (* : uint64_t, uint1_t *) in
- expr_let x381 := Z.add_with_get_carry(2^64, x380₂, 0, x376₁) (* : uint1_t, uint1_t *) in
- expr_let x382 := Z.add_with_get_carry(2^64, x381₂, 0, x377₁) (* : uint64_t, uint1_t *) in
- expr_let x383 := Z.add_with_get_carry(2^64, x382₂, 0, x378₁) (* : uint64_t, uint1_t *) in
- expr_let x384 := Z.add_with_get_carry(2^64, x383₂, 0, x379₁) (* : uint64_t, uint1_t *) in
- expr_let x385 := Z.add_with_get_carry(2^64, 0, 0, x380₁) (* : uint64_t, uint1_t *) in
- expr_let x386 := Z.add_with_get_carry(2^64, x385₂, 0, x381₁) (* : uint1_t, uint1_t *) in
- expr_let x387 := Z.add_with_get_carry(2^64, x386₂, 0, x382₁) (* : uint64_t, uint1_t *) in
- expr_let x388 := Z.add_with_get_carry(2^64, x387₂, 0, x383₁) (* : uint64_t, uint1_t *) in
- expr_let x389 := Z.add_with_get_carry(2^64, x388₂, 0, x384₁) (* : uint64_t, uint1_t *) in
- expr_let x390 := Z.add_with_get_carry(2^64, 0, 0, x385₁) (* : uint64_t, uint1_t *) in
- expr_let x391 := Z.add_with_get_carry(2^64, x390₂, 0, x386₁) (* : uint1_t, uint1_t *) in
- expr_let x392 := Z.add_with_get_carry(2^64, x391₂, 0, x387₁) (* : uint64_t, uint1_t *) in
- expr_let x393 := Z.add_with_get_carry(2^64, x392₂, 0, x388₁) (* : uint64_t, uint1_t *) in
- expr_let x394 := Z.add_with_get_carry(2^64, x393₂, 0, x389₁) (* : uint64_t, uint1_t *) in
- expr_let x395 := Z.add_with_get_carry(2^64, 0, 0, x390₁) (* : uint64_t, uint1_t *) in
- expr_let x396 := Z.add_with_get_carry(2^64, x395₂, 0, x391₁) (* : uint1_t, uint1_t *) in
- expr_let x397 := Z.add_with_get_carry(2^64, x396₂, 0, x392₁) (* : uint64_t, uint1_t *) in
- expr_let x398 := Z.add_with_get_carry(2^64, x397₂, 0, x393₁) (* : uint64_t, uint1_t *) in
- expr_let x399 := Z.add_with_get_carry(2^64, x398₂, 0, x394₁) (* : uint64_t, uint1_t *) in
- expr_let x400 := Z.add_with_get_carry(2^64, 0, 0, x395₁) (* : uint64_t, uint1_t *) in
- expr_let x401 := Z.add_with_get_carry(2^64, x400₂, 0, x396₁) (* : uint1_t, uint1_t *) in
- expr_let x402 := Z.add_with_get_carry(2^64, x401₂, 0, x397₁) (* : uint64_t, uint1_t *) in
- expr_let x403 := Z.add_with_get_carry(2^64, x402₂, 0, x398₁) (* : uint64_t, uint1_t *) in
- expr_let x404 := Z.add_with_get_carry(2^64, x403₂, 0, x399₁) (* : uint64_t, uint1_t *) in
- expr_let x405 := Z.add_with_get_carry(2^64, 0, 0, x400₁) (* : uint64_t, uint1_t *) in
- expr_let x406 := Z.add_with_get_carry(2^64, x405₂, 0, x401₁) (* : uint1_t, uint1_t *) in
- expr_let x407 := Z.add_with_get_carry(2^64, x406₂, 0, x402₁) (* : uint64_t, uint1_t *) in
- expr_let x408 := Z.add_with_get_carry(2^64, x407₂, 0, x403₁) (* : uint64_t, uint1_t *) in
- expr_let x409 := Z.add_with_get_carry(2^64, x408₂, 0, x404₁) (* : uint64_t, uint1_t *) in
- expr_let x410 := Z.add_with_get_carry(2^64, 0, 0, x405₁) (* : uint64_t, uint1_t *) in
- expr_let x411 := Z.add_with_get_carry(2^64, x410₂, 0, x406₁) (* : uint1_t, uint1_t *) in
- expr_let x412 := Z.add_with_get_carry(2^64, x411₂, 0, x407₁) (* : uint64_t, uint1_t *) in
- expr_let x413 := Z.add_with_get_carry(2^64, x412₂, 0, x408₁) (* : uint64_t, uint1_t *) in
- expr_let x414 := Z.add_with_get_carry(2^64, x413₂, 0, x409₁) (* : uint64_t, uint1_t *) in
- expr_let x415 := Z.add_with_get_carry(2^64, 0, 0, x410₁) (* : uint64_t, uint1_t *) in
- expr_let x416 := Z.add_with_get_carry(2^64, x415₂, x342, x411₁) (* : uint64_t, uint1_t *) in
- expr_let x417 := Z.add_with_get_carry(2^64, x416₂, x340, x412₁) (* : uint64_t, uint1_t *) in
- expr_let x418 := Z.add_with_get_carry(2^64, x417₂, x338, x413₁) (* : uint64_t, uint1_t *) in
- expr_let x419 := Z.add_with_get_carry(2^64, x418₂, 0, x414₁) (* : uint64_t, uint1_t *) in
- expr_let x420 := Z.add_with_get_carry(2^64, 0, x415₁, x327₁) (* : uint64_t, uint1_t *) in
- expr_let x421 := Z.add_with_get_carry(2^64, x420₂, x416₁, x328₁) (* : uint64_t, uint1_t *) in
- expr_let x422 := Z.add_with_get_carry(2^64, x421₂, x417₁, x329₁) (* : uint64_t, uint1_t *) in
- expr_let x423 := Z.add_with_get_carry(2^64, x422₂, x418₁, x330₁) (* : uint64_t, uint1_t *) in
- expr_let x424 := Z.add_with_get_carry(2^64, x423₂, x419₁, x331₁) (* : uint64_t, uint1_t *) in
- expr_let x425 := Z.add_with_get_carry(2^64, x424₂, 0, x331₂) (* : uint64_t, uint1_t *) in
- expr_let x426 := Z.mul_split(2^64, x3, x1[3]) (* : uint64_t, uint64_t *) in
- expr_let x427 := Z.mul_split(2^64, x3, x1[2]) (* : uint64_t, uint64_t *) in
- expr_let x428 := Z.mul_split(2^64, x3, x1[1]) (* : uint64_t, uint64_t *) in
- expr_let x429 := Z.mul_split(2^64, x3, x1[0]) (* : uint64_t, uint64_t *) in
- expr_let x430 := 2^192 * 0 (* : uint1_t *) in
- expr_let x431 := 2^128 * 0 (* : uint1_t *) in
- expr_let x432 := 2^128 * 0 (* : uint1_t *) in
- expr_let x433 := 2^64 * 0 (* : uint1_t *) in
- expr_let x434 := 2^64 * 0 (* : uint1_t *) in
- expr_let x435 := 1 * 0 (* : uint1_t *) in
- expr_let x436 := 1 * 0 (* : uint1_t *) in
- expr_let x437 := 1 * 0 (* : uint1_t *) in
- expr_let x438 := 2^128 * 0 (* : uint1_t *) in
- expr_let x439 := 2^64 * 0 (* : uint1_t *) in
- expr_let x440 := 2^64 * 0 (* : uint1_t *) in
- expr_let x441 := 1 * 0 (* : uint1_t *) in
- expr_let x442 := 1 * 0 (* : uint1_t *) in
- expr_let x443 := 1 * 0 (* : uint1_t *) in
- expr_let x444 := 1 * 0 (* : uint1_t *) in
- expr_let x445 := 1 * 0 (* : uint1_t *) in
- expr_let x446 := 2^64 * 0 (* : uint1_t *) in
- expr_let x447 := 1 * 0 (* : uint1_t *) in
- expr_let x448 := 1 * 0 (* : uint1_t *) in
- expr_let x449 := 1 * 0 (* : uint1_t *) in
- expr_let x450 := 1 * 0 (* : uint1_t *) in
- expr_let x451 := 1 * 0 (* : uint1_t *) in
- expr_let x452 := 1 * 0 (* : uint1_t *) in
- expr_let x453 := 1 * 0 (* : uint1_t *) in
- expr_let x454 := x426₂ * 1 (* : uint64_t *) in
- expr_let x455 := x426₁ * 1 (* : uint64_t *) in
- expr_let x456 := x427₂ * 1 (* : uint64_t *) in
- expr_let x457 := x427₁ * 1 (* : uint64_t *) in
- expr_let x458 := x428₂ * 1 (* : uint64_t *) in
- expr_let x459 := x428₁ * 1 (* : uint64_t *) in
- expr_let x460 := x429₂ * 1 (* : uint64_t *) in
- expr_let x461 := x429₁ * 1 (* : uint64_t *) in
- expr_let x462 := Z.add_with_get_carry(2^64, 0, 0, x461) (* : uint64_t, uint1_t *) in
- expr_let x463 := Z.add_with_get_carry(2^64, x462₂, 0, x460) (* : uint64_t, uint1_t *) in
- expr_let x464 := Z.add_with_get_carry(2^64, x463₂, 0, x458) (* : uint64_t, uint1_t *) in
- expr_let x465 := Z.add_with_get_carry(2^64, x464₂, 0, x456) (* : uint64_t, uint1_t *) in
- expr_let x466 := Z.add_with_get_carry(2^64, x465₂, x430, x454) (* : uint64_t, uint1_t *) in
- expr_let x467 := Z.add_with_get_carry(2^64, 0, 0, x462₁) (* : uint64_t, uint1_t *) in
- expr_let x468 := Z.add_with_get_carry(2^64, x467₂, 0, x463₁) (* : uint64_t, uint1_t *) in
- expr_let x469 := Z.add_with_get_carry(2^64, x468₂, 0, x464₁) (* : uint64_t, uint1_t *) in
- expr_let x470 := Z.add_with_get_carry(2^64, x469₂, 0, x465₁) (* : uint64_t, uint1_t *) in
- expr_let x471 := Z.add_with_get_carry(2^64, x470₂, x431, x466₁) (* : uint64_t, uint1_t *) in
- expr_let x472 := Z.add_with_get_carry(2^64, 0, 0, x467₁) (* : uint64_t, uint1_t *) in
- expr_let x473 := Z.add_with_get_carry(2^64, x472₂, 0, x468₁) (* : uint64_t, uint1_t *) in
- expr_let x474 := Z.add_with_get_carry(2^64, x473₂, 0, x469₁) (* : uint64_t, uint1_t *) in
- expr_let x475 := Z.add_with_get_carry(2^64, x474₂, 0, x470₁) (* : uint64_t, uint1_t *) in
- expr_let x476 := Z.add_with_get_carry(2^64, x475₂, x432, x471₁) (* : uint64_t, uint1_t *) in
- expr_let x477 := Z.add_with_get_carry(2^64, 0, 0, x472₁) (* : uint64_t, uint1_t *) in
- expr_let x478 := Z.add_with_get_carry(2^64, x477₂, 0, x473₁) (* : uint64_t, uint1_t *) in
- expr_let x479 := Z.add_with_get_carry(2^64, x478₂, 0, x474₁) (* : uint64_t, uint1_t *) in
- expr_let x480 := Z.add_with_get_carry(2^64, x479₂, 0, x475₁) (* : uint64_t, uint1_t *) in
- expr_let x481 := Z.add_with_get_carry(2^64, x480₂, x433, x476₁) (* : uint64_t, uint1_t *) in
- expr_let x482 := Z.add_with_get_carry(2^64, 0, 0, x477₁) (* : uint64_t, uint1_t *) in
- expr_let x483 := Z.add_with_get_carry(2^64, x482₂, 0, x478₁) (* : uint64_t, uint1_t *) in
- expr_let x484 := Z.add_with_get_carry(2^64, x483₂, 0, x479₁) (* : uint64_t, uint1_t *) in
- expr_let x485 := Z.add_with_get_carry(2^64, x484₂, 0, x480₁) (* : uint64_t, uint1_t *) in
- expr_let x486 := Z.add_with_get_carry(2^64, x485₂, x434, x481₁) (* : uint64_t, uint1_t *) in
- expr_let x487 := Z.add_with_get_carry(2^64, 0, 0, x482₁) (* : uint64_t, uint1_t *) in
- expr_let x488 := Z.add_with_get_carry(2^64, x487₂, 0, x483₁) (* : uint64_t, uint1_t *) in
- expr_let x489 := Z.add_with_get_carry(2^64, x488₂, 0, x484₁) (* : uint64_t, uint1_t *) in
- expr_let x490 := Z.add_with_get_carry(2^64, x489₂, 0, x485₁) (* : uint64_t, uint1_t *) in
- expr_let x491 := Z.add_with_get_carry(2^64, x490₂, x435, x486₁) (* : uint64_t, uint1_t *) in
- expr_let x492 := Z.add_with_get_carry(2^64, 0, 0, x487₁) (* : uint64_t, uint1_t *) in
- expr_let x493 := Z.add_with_get_carry(2^64, x492₂, 0, x488₁) (* : uint64_t, uint1_t *) in
- expr_let x494 := Z.add_with_get_carry(2^64, x493₂, 0, x489₁) (* : uint64_t, uint1_t *) in
- expr_let x495 := Z.add_with_get_carry(2^64, x494₂, 0, x490₁) (* : uint64_t, uint1_t *) in
- expr_let x496 := Z.add_with_get_carry(2^64, x495₂, x436, x491₁) (* : uint64_t, uint1_t *) in
- expr_let x497 := Z.add_with_get_carry(2^64, 0, 0, x492₁) (* : uint64_t, uint1_t *) in
- expr_let x498 := Z.add_with_get_carry(2^64, x497₂, 0, x493₁) (* : uint64_t, uint1_t *) in
- expr_let x499 := Z.add_with_get_carry(2^64, x498₂, 0, x494₁) (* : uint64_t, uint1_t *) in
- expr_let x500 := Z.add_with_get_carry(2^64, x499₂, 0, x495₁) (* : uint64_t, uint1_t *) in
- expr_let x501 := Z.add_with_get_carry(2^64, x500₂, x438, x496₁) (* : uint64_t, uint1_t *) in
- expr_let x502 := Z.add_with_get_carry(2^64, 0, 0, x497₁) (* : uint64_t, uint1_t *) in
- expr_let x503 := Z.add_with_get_carry(2^64, x502₂, 0, x498₁) (* : uint64_t, uint1_t *) in
- expr_let x504 := Z.add_with_get_carry(2^64, x503₂, 0, x499₁) (* : uint64_t, uint1_t *) in
- expr_let x505 := Z.add_with_get_carry(2^64, x504₂, 0, x500₁) (* : uint64_t, uint1_t *) in
- expr_let x506 := Z.add_with_get_carry(2^64, x505₂, x439, x501₁) (* : uint64_t, uint1_t *) in
- expr_let x507 := Z.add_with_get_carry(2^64, 0, 0, x502₁) (* : uint64_t, uint1_t *) in
- expr_let x508 := Z.add_with_get_carry(2^64, x507₂, 0, x503₁) (* : uint64_t, uint1_t *) in
- expr_let x509 := Z.add_with_get_carry(2^64, x508₂, 0, x504₁) (* : uint64_t, uint1_t *) in
- expr_let x510 := Z.add_with_get_carry(2^64, x509₂, x437, x505₁) (* : uint64_t, uint1_t *) in
- expr_let x511 := Z.add_with_get_carry(2^64, x510₂, x440, x506₁) (* : uint64_t, uint1_t *) in
- expr_let x512 := Z.add_with_get_carry(2^64, 0, 0, x507₁) (* : uint64_t, uint1_t *) in
- expr_let x513 := Z.add_with_get_carry(2^64, x512₂, 0, x508₁) (* : uint64_t, uint1_t *) in
- expr_let x514 := Z.add_with_get_carry(2^64, x513₂, 0, x509₁) (* : uint64_t, uint1_t *) in
- expr_let x515 := Z.add_with_get_carry(2^64, x514₂, x443, x510₁) (* : uint64_t, uint1_t *) in
- expr_let x516 := Z.add_with_get_carry(2^64, x515₂, x441, x511₁) (* : uint64_t, uint1_t *) in
- expr_let x517 := Z.add_with_get_carry(2^64, 0, 0, x512₁) (* : uint64_t, uint1_t *) in
- expr_let x518 := Z.add_with_get_carry(2^64, x517₂, 0, x513₁) (* : uint64_t, uint1_t *) in
- expr_let x519 := Z.add_with_get_carry(2^64, x518₂, x445, x514₁) (* : uint64_t, uint1_t *) in
- expr_let x520 := Z.add_with_get_carry(2^64, x519₂, x444, x515₁) (* : uint64_t, uint1_t *) in
- expr_let x521 := Z.add_with_get_carry(2^64, x520₂, x442, x516₁) (* : uint64_t, uint1_t *) in
- expr_let x522 := Z.add_with_get_carry(2^64, 0, 0, x517₁) (* : uint64_t, uint1_t *) in
- expr_let x523 := Z.add_with_get_carry(2^64, x522₂, 0, x518₁) (* : uint64_t, uint1_t *) in
- expr_let x524 := Z.add_with_get_carry(2^64, x523₂, x451, x519₁) (* : uint64_t, uint1_t *) in
- expr_let x525 := Z.add_with_get_carry(2^64, x524₂, x449, x520₁) (* : uint64_t, uint1_t *) in
- expr_let x526 := Z.add_with_get_carry(2^64, x525₂, x446, x521₁) (* : uint64_t, uint1_t *) in
- expr_let x527 := Z.add_with_get_carry(2^64, 0, 0, x522₁) (* : uint64_t, uint1_t *) in
- expr_let x528 := Z.add_with_get_carry(2^64, x527₂, x453, x523₁) (* : uint64_t, uint1_t *) in
- expr_let x529 := Z.add_with_get_carry(2^64, x528₂, x452, x524₁) (* : uint64_t, uint1_t *) in
- expr_let x530 := Z.add_with_get_carry(2^64, x529₂, x450, x525₁) (* : uint64_t, uint1_t *) in
- expr_let x531 := Z.add_with_get_carry(2^64, x530₂, x447, x526₁) (* : uint64_t, uint1_t *) in
- expr_let x532 := Z.add_with_get_carry(2^64, 0, 0, x527₁) (* : uint64_t, uint1_t *) in
- expr_let x533 := Z.add_with_get_carry(2^64, x532₂, x459, x528₁) (* : uint64_t, uint1_t *) in
- expr_let x534 := Z.add_with_get_carry(2^64, x533₂, x457, x529₁) (* : uint64_t, uint1_t *) in
- expr_let x535 := Z.add_with_get_carry(2^64, x534₂, x455, x530₁) (* : uint64_t, uint1_t *) in
- expr_let x536 := Z.add_with_get_carry(2^64, x535₂, x448, x531₁) (* : uint64_t, uint1_t *) in
- expr_let x537 := Z.add_with_get_carry(2^64, 0, x532₁, x421₁) (* : uint64_t, uint1_t *) in
- expr_let x538 := Z.add_with_get_carry(2^64, x537₂, x533₁, x422₁) (* : uint64_t, uint1_t *) in
- expr_let x539 := Z.add_with_get_carry(2^64, x538₂, x534₁, x423₁) (* : uint64_t, uint1_t *) in
- expr_let x540 := Z.add_with_get_carry(2^64, x539₂, x535₁, x424₁) (* : uint64_t, uint1_t *) in
- expr_let x541 := Z.add_with_get_carry(2^64, x540₂, x536₁, x425₁) (* : uint64_t, uint1_t *) in
- expr_let x542 := (Z.mul_split(2^64, x537₁, 2^64-1))₁ (* : uint64_t *) in
- expr_let x543 := Z.mul_split(2^64, x542, 2^32-1) (* : uint64_t, uint64_t *) in
- expr_let x544 := Z.mul_split(2^64, x542, 2^64-1) (* : uint64_t, uint64_t *) in
- expr_let x545 := Z.mul_split(2^64, x542, 0xffffffff00000000) (* : uint64_t, uint64_t *) in
- expr_let x546 := Z.mul_split(2^64, x542, 1) (* : uint64_t, uint1_t *) in
- expr_let x547 := x543₂ * 1 (* : uint64_t *) in
- expr_let x548 := x543₁ * 1 (* : uint64_t *) in
- expr_let x549 := x544₂ * 1 (* : uint64_t *) in
- expr_let x550 := x544₁ * 1 (* : uint64_t *) in
- expr_let x551 := x545₂ * 1 (* : uint64_t *) in
- expr_let x552 := x545₁ * 1 (* : uint64_t *) in
- expr_let x553 := x546₂ * 1 (* : uint1_t *) in
- expr_let x554 := x546₁ * 1 (* : uint64_t *) in
- expr_let x555 := Z.add_with_get_carry(2^64, 0, 0, x554) (* : uint64_t, uint1_t *) in
- expr_let x556 := Z.add_with_get_carry(2^64, x555₂, 0, x553) (* : uint1_t, uint1_t *) in
- expr_let x557 := Z.add_with_get_carry(2^64, x556₂, 0, x551) (* : uint64_t, uint1_t *) in
- expr_let x558 := Z.add_with_get_carry(2^64, x557₂, 0, x549) (* : uint64_t, uint1_t *) in
- expr_let x559 := Z.add_with_get_carry(2^64, x558₂, 0, x547) (* : uint64_t, uint1_t *) in
- expr_let x560 := Z.add_with_get_carry(2^64, 0, 0, x555₁) (* : uint64_t, uint1_t *) in
- expr_let x561 := Z.add_with_get_carry(2^64, x560₂, 0, x556₁) (* : uint1_t, uint1_t *) in
- expr_let x562 := Z.add_with_get_carry(2^64, x561₂, 0, x557₁) (* : uint64_t, uint1_t *) in
- expr_let x563 := Z.add_with_get_carry(2^64, x562₂, 0, x558₁) (* : uint64_t, uint1_t *) in
- expr_let x564 := Z.add_with_get_carry(2^64, x563₂, 0, x559₁) (* : uint64_t, uint1_t *) in
- expr_let x565 := Z.add_with_get_carry(2^64, 0, 0, x560₁) (* : uint64_t, uint1_t *) in
- expr_let x566 := Z.add_with_get_carry(2^64, x565₂, 0, x561₁) (* : uint1_t, uint1_t *) in
- expr_let x567 := Z.add_with_get_carry(2^64, x566₂, 0, x562₁) (* : uint64_t, uint1_t *) in
- expr_let x568 := Z.add_with_get_carry(2^64, x567₂, 0, x563₁) (* : uint64_t, uint1_t *) in
- expr_let x569 := Z.add_with_get_carry(2^64, x568₂, 0, x564₁) (* : uint64_t, uint1_t *) in
- expr_let x570 := Z.add_with_get_carry(2^64, 0, 0, x565₁) (* : uint64_t, uint1_t *) in
- expr_let x571 := Z.add_with_get_carry(2^64, x570₂, 0, x566₁) (* : uint1_t, uint1_t *) in
- expr_let x572 := Z.add_with_get_carry(2^64, x571₂, 0, x567₁) (* : uint64_t, uint1_t *) in
- expr_let x573 := Z.add_with_get_carry(2^64, x572₂, 0, x568₁) (* : uint64_t, uint1_t *) in
- expr_let x574 := Z.add_with_get_carry(2^64, x573₂, 0, x569₁) (* : uint64_t, uint1_t *) in
- expr_let x575 := Z.add_with_get_carry(2^64, 0, 0, x570₁) (* : uint64_t, uint1_t *) in
- expr_let x576 := Z.add_with_get_carry(2^64, x575₂, 0, x571₁) (* : uint1_t, uint1_t *) in
- expr_let x577 := Z.add_with_get_carry(2^64, x576₂, 0, x572₁) (* : uint64_t, uint1_t *) in
- expr_let x578 := Z.add_with_get_carry(2^64, x577₂, 0, x573₁) (* : uint64_t, uint1_t *) in
- expr_let x579 := Z.add_with_get_carry(2^64, x578₂, 0, x574₁) (* : uint64_t, uint1_t *) in
- expr_let x580 := Z.add_with_get_carry(2^64, 0, 0, x575₁) (* : uint64_t, uint1_t *) in
- expr_let x581 := Z.add_with_get_carry(2^64, x580₂, 0, x576₁) (* : uint1_t, uint1_t *) in
- expr_let x582 := Z.add_with_get_carry(2^64, x581₂, 0, x577₁) (* : uint64_t, uint1_t *) in
- expr_let x583 := Z.add_with_get_carry(2^64, x582₂, 0, x578₁) (* : uint64_t, uint1_t *) in
- expr_let x584 := Z.add_with_get_carry(2^64, x583₂, 0, x579₁) (* : uint64_t, uint1_t *) in
- expr_let x585 := Z.add_with_get_carry(2^64, 0, 0, x580₁) (* : uint64_t, uint1_t *) in
- expr_let x586 := Z.add_with_get_carry(2^64, x585₂, 0, x581₁) (* : uint1_t, uint1_t *) in
- expr_let x587 := Z.add_with_get_carry(2^64, x586₂, 0, x582₁) (* : uint64_t, uint1_t *) in
- expr_let x588 := Z.add_with_get_carry(2^64, x587₂, 0, x583₁) (* : uint64_t, uint1_t *) in
- expr_let x589 := Z.add_with_get_carry(2^64, x588₂, 0, x584₁) (* : uint64_t, uint1_t *) in
- expr_let x590 := Z.add_with_get_carry(2^64, 0, 0, x585₁) (* : uint64_t, uint1_t *) in
- expr_let x591 := Z.add_with_get_carry(2^64, x590₂, 0, x586₁) (* : uint1_t, uint1_t *) in
- expr_let x592 := Z.add_with_get_carry(2^64, x591₂, 0, x587₁) (* : uint64_t, uint1_t *) in
- expr_let x593 := Z.add_with_get_carry(2^64, x592₂, 0, x588₁) (* : uint64_t, uint1_t *) in
- expr_let x594 := Z.add_with_get_carry(2^64, x593₂, 0, x589₁) (* : uint64_t, uint1_t *) in
- expr_let x595 := Z.add_with_get_carry(2^64, 0, 0, x590₁) (* : uint64_t, uint1_t *) in
- expr_let x596 := Z.add_with_get_carry(2^64, x595₂, 0, x591₁) (* : uint1_t, uint1_t *) in
- expr_let x597 := Z.add_with_get_carry(2^64, x596₂, 0, x592₁) (* : uint64_t, uint1_t *) in
- expr_let x598 := Z.add_with_get_carry(2^64, x597₂, 0, x593₁) (* : uint64_t, uint1_t *) in
- expr_let x599 := Z.add_with_get_carry(2^64, x598₂, 0, x594₁) (* : uint64_t, uint1_t *) in
- expr_let x600 := Z.add_with_get_carry(2^64, 0, 0, x595₁) (* : uint64_t, uint1_t *) in
- expr_let x601 := Z.add_with_get_carry(2^64, x600₂, 0, x596₁) (* : uint1_t, uint1_t *) in
- expr_let x602 := Z.add_with_get_carry(2^64, x601₂, 0, x597₁) (* : uint64_t, uint1_t *) in
- expr_let x603 := Z.add_with_get_carry(2^64, x602₂, 0, x598₁) (* : uint64_t, uint1_t *) in
- expr_let x604 := Z.add_with_get_carry(2^64, x603₂, 0, x599₁) (* : uint64_t, uint1_t *) in
- expr_let x605 := Z.add_with_get_carry(2^64, 0, 0, x600₁) (* : uint64_t, uint1_t *) in
- expr_let x606 := Z.add_with_get_carry(2^64, x605₂, 0, x601₁) (* : uint1_t, uint1_t *) in
- expr_let x607 := Z.add_with_get_carry(2^64, x606₂, 0, x602₁) (* : uint64_t, uint1_t *) in
- expr_let x608 := Z.add_with_get_carry(2^64, x607₂, 0, x603₁) (* : uint64_t, uint1_t *) in
- expr_let x609 := Z.add_with_get_carry(2^64, x608₂, 0, x604₁) (* : uint64_t, uint1_t *) in
- expr_let x610 := Z.add_with_get_carry(2^64, 0, 0, x605₁) (* : uint64_t, uint1_t *) in
- expr_let x611 := Z.add_with_get_carry(2^64, x610₂, 0, x606₁) (* : uint1_t, uint1_t *) in
- expr_let x612 := Z.add_with_get_carry(2^64, x611₂, 0, x607₁) (* : uint64_t, uint1_t *) in
- expr_let x613 := Z.add_with_get_carry(2^64, x612₂, 0, x608₁) (* : uint64_t, uint1_t *) in
- expr_let x614 := Z.add_with_get_carry(2^64, x613₂, 0, x609₁) (* : uint64_t, uint1_t *) in
- expr_let x615 := Z.add_with_get_carry(2^64, 0, 0, x610₁) (* : uint64_t, uint1_t *) in
- expr_let x616 := Z.add_with_get_carry(2^64, x615₂, 0, x611₁) (* : uint1_t, uint1_t *) in
- expr_let x617 := Z.add_with_get_carry(2^64, x616₂, 0, x612₁) (* : uint64_t, uint1_t *) in
- expr_let x618 := Z.add_with_get_carry(2^64, x617₂, 0, x613₁) (* : uint64_t, uint1_t *) in
- expr_let x619 := Z.add_with_get_carry(2^64, x618₂, 0, x614₁) (* : uint64_t, uint1_t *) in
- expr_let x620 := Z.add_with_get_carry(2^64, 0, 0, x615₁) (* : uint64_t, uint1_t *) in
- expr_let x621 := Z.add_with_get_carry(2^64, x620₂, 0, x616₁) (* : uint1_t, uint1_t *) in
- expr_let x622 := Z.add_with_get_carry(2^64, x621₂, 0, x617₁) (* : uint64_t, uint1_t *) in
- expr_let x623 := Z.add_with_get_carry(2^64, x622₂, 0, x618₁) (* : uint64_t, uint1_t *) in
- expr_let x624 := Z.add_with_get_carry(2^64, x623₂, 0, x619₁) (* : uint64_t, uint1_t *) in
- expr_let x625 := Z.add_with_get_carry(2^64, 0, 0, x620₁) (* : uint64_t, uint1_t *) in
- expr_let x626 := Z.add_with_get_carry(2^64, x625₂, x552, x621₁) (* : uint64_t, uint1_t *) in
- expr_let x627 := Z.add_with_get_carry(2^64, x626₂, x550, x622₁) (* : uint64_t, uint1_t *) in
- expr_let x628 := Z.add_with_get_carry(2^64, x627₂, x548, x623₁) (* : uint64_t, uint1_t *) in
- expr_let x629 := Z.add_with_get_carry(2^64, x628₂, 0, x624₁) (* : uint64_t, uint1_t *) in
- expr_let x630 := Z.add_with_get_carry(2^64, 0, x625₁, x537₁) (* : uint64_t, uint1_t *) in
- expr_let x631 := Z.add_with_get_carry(2^64, x630₂, x626₁, x538₁) (* : uint64_t, uint1_t *) in
- expr_let x632 := Z.add_with_get_carry(2^64, x631₂, x627₁, x539₁) (* : uint64_t, uint1_t *) in
- expr_let x633 := Z.add_with_get_carry(2^64, x632₂, x628₁, x540₁) (* : uint64_t, uint1_t *) in
- expr_let x634 := Z.add_with_get_carry(2^64, x633₂, x629₁, x541₁) (* : uint64_t, uint1_t *) in
- expr_let x635 := Z.add_with_get_carry(2^64, x634₂, 0, x541₂) (* : uint64_t, uint1_t *) in
- expr_let x636 := Z.mul_split(2^64, x4, x1[3]) (* : uint64_t, uint64_t *) in
- expr_let x637 := Z.mul_split(2^64, x4, x1[2]) (* : uint64_t, uint64_t *) in
- expr_let x638 := Z.mul_split(2^64, x4, x1[1]) (* : uint64_t, uint64_t *) in
- expr_let x639 := Z.mul_split(2^64, x4, x1[0]) (* : uint64_t, uint64_t *) in
- expr_let x640 := 2^192 * 0 (* : uint1_t *) in
- expr_let x641 := 2^128 * 0 (* : uint1_t *) in
- expr_let x642 := 2^128 * 0 (* : uint1_t *) in
- expr_let x643 := 2^64 * 0 (* : uint1_t *) in
- expr_let x644 := 2^64 * 0 (* : uint1_t *) in
- expr_let x645 := 1 * 0 (* : uint1_t *) in
- expr_let x646 := 1 * 0 (* : uint1_t *) in
- expr_let x647 := 1 * 0 (* : uint1_t *) in
- expr_let x648 := 2^128 * 0 (* : uint1_t *) in
- expr_let x649 := 2^64 * 0 (* : uint1_t *) in
- expr_let x650 := 2^64 * 0 (* : uint1_t *) in
- expr_let x651 := 1 * 0 (* : uint1_t *) in
- expr_let x652 := 1 * 0 (* : uint1_t *) in
- expr_let x653 := 1 * 0 (* : uint1_t *) in
- expr_let x654 := 1 * 0 (* : uint1_t *) in
- expr_let x655 := 1 * 0 (* : uint1_t *) in
- expr_let x656 := 2^64 * 0 (* : uint1_t *) in
- expr_let x657 := 1 * 0 (* : uint1_t *) in
- expr_let x658 := 1 * 0 (* : uint1_t *) in
- expr_let x659 := 1 * 0 (* : uint1_t *) in
- expr_let x660 := 1 * 0 (* : uint1_t *) in
- expr_let x661 := 1 * 0 (* : uint1_t *) in
- expr_let x662 := 1 * 0 (* : uint1_t *) in
- expr_let x663 := 1 * 0 (* : uint1_t *) in
- expr_let x664 := x636₂ * 1 (* : uint64_t *) in
- expr_let x665 := x636₁ * 1 (* : uint64_t *) in
- expr_let x666 := x637₂ * 1 (* : uint64_t *) in
- expr_let x667 := x637₁ * 1 (* : uint64_t *) in
- expr_let x668 := x638₂ * 1 (* : uint64_t *) in
- expr_let x669 := x638₁ * 1 (* : uint64_t *) in
- expr_let x670 := x639₂ * 1 (* : uint64_t *) in
- expr_let x671 := x639₁ * 1 (* : uint64_t *) in
- expr_let x672 := Z.add_with_get_carry(2^64, 0, 0, x671) (* : uint64_t, uint1_t *) in
- expr_let x673 := Z.add_with_get_carry(2^64, x672₂, 0, x670) (* : uint64_t, uint1_t *) in
- expr_let x674 := Z.add_with_get_carry(2^64, x673₂, 0, x668) (* : uint64_t, uint1_t *) in
- expr_let x675 := Z.add_with_get_carry(2^64, x674₂, 0, x666) (* : uint64_t, uint1_t *) in
- expr_let x676 := Z.add_with_get_carry(2^64, x675₂, x640, x664) (* : uint64_t, uint1_t *) in
- expr_let x677 := Z.add_with_get_carry(2^64, 0, 0, x672₁) (* : uint64_t, uint1_t *) in
- expr_let x678 := Z.add_with_get_carry(2^64, x677₂, 0, x673₁) (* : uint64_t, uint1_t *) in
- expr_let x679 := Z.add_with_get_carry(2^64, x678₂, 0, x674₁) (* : uint64_t, uint1_t *) in
- expr_let x680 := Z.add_with_get_carry(2^64, x679₂, 0, x675₁) (* : uint64_t, uint1_t *) in
- expr_let x681 := Z.add_with_get_carry(2^64, x680₂, x641, x676₁) (* : uint64_t, uint1_t *) in
- expr_let x682 := Z.add_with_get_carry(2^64, 0, 0, x677₁) (* : uint64_t, uint1_t *) in
- expr_let x683 := Z.add_with_get_carry(2^64, x682₂, 0, x678₁) (* : uint64_t, uint1_t *) in
- expr_let x684 := Z.add_with_get_carry(2^64, x683₂, 0, x679₁) (* : uint64_t, uint1_t *) in
- expr_let x685 := Z.add_with_get_carry(2^64, x684₂, 0, x680₁) (* : uint64_t, uint1_t *) in
- expr_let x686 := Z.add_with_get_carry(2^64, x685₂, x642, x681₁) (* : uint64_t, uint1_t *) in
- expr_let x687 := Z.add_with_get_carry(2^64, 0, 0, x682₁) (* : uint64_t, uint1_t *) in
- expr_let x688 := Z.add_with_get_carry(2^64, x687₂, 0, x683₁) (* : uint64_t, uint1_t *) in
- expr_let x689 := Z.add_with_get_carry(2^64, x688₂, 0, x684₁) (* : uint64_t, uint1_t *) in
- expr_let x690 := Z.add_with_get_carry(2^64, x689₂, 0, x685₁) (* : uint64_t, uint1_t *) in
- expr_let x691 := Z.add_with_get_carry(2^64, x690₂, x643, x686₁) (* : uint64_t, uint1_t *) in
- expr_let x692 := Z.add_with_get_carry(2^64, 0, 0, x687₁) (* : uint64_t, uint1_t *) in
- expr_let x693 := Z.add_with_get_carry(2^64, x692₂, 0, x688₁) (* : uint64_t, uint1_t *) in
- expr_let x694 := Z.add_with_get_carry(2^64, x693₂, 0, x689₁) (* : uint64_t, uint1_t *) in
- expr_let x695 := Z.add_with_get_carry(2^64, x694₂, 0, x690₁) (* : uint64_t, uint1_t *) in
- expr_let x696 := Z.add_with_get_carry(2^64, x695₂, x644, x691₁) (* : uint64_t, uint1_t *) in
- expr_let x697 := Z.add_with_get_carry(2^64, 0, 0, x692₁) (* : uint64_t, uint1_t *) in
- expr_let x698 := Z.add_with_get_carry(2^64, x697₂, 0, x693₁) (* : uint64_t, uint1_t *) in
- expr_let x699 := Z.add_with_get_carry(2^64, x698₂, 0, x694₁) (* : uint64_t, uint1_t *) in
- expr_let x700 := Z.add_with_get_carry(2^64, x699₂, 0, x695₁) (* : uint64_t, uint1_t *) in
- expr_let x701 := Z.add_with_get_carry(2^64, x700₂, x645, x696₁) (* : uint64_t, uint1_t *) in
- expr_let x702 := Z.add_with_get_carry(2^64, 0, 0, x697₁) (* : uint64_t, uint1_t *) in
- expr_let x703 := Z.add_with_get_carry(2^64, x702₂, 0, x698₁) (* : uint64_t, uint1_t *) in
- expr_let x704 := Z.add_with_get_carry(2^64, x703₂, 0, x699₁) (* : uint64_t, uint1_t *) in
- expr_let x705 := Z.add_with_get_carry(2^64, x704₂, 0, x700₁) (* : uint64_t, uint1_t *) in
- expr_let x706 := Z.add_with_get_carry(2^64, x705₂, x646, x701₁) (* : uint64_t, uint1_t *) in
- expr_let x707 := Z.add_with_get_carry(2^64, 0, 0, x702₁) (* : uint64_t, uint1_t *) in
- expr_let x708 := Z.add_with_get_carry(2^64, x707₂, 0, x703₁) (* : uint64_t, uint1_t *) in
- expr_let x709 := Z.add_with_get_carry(2^64, x708₂, 0, x704₁) (* : uint64_t, uint1_t *) in
- expr_let x710 := Z.add_with_get_carry(2^64, x709₂, 0, x705₁) (* : uint64_t, uint1_t *) in
- expr_let x711 := Z.add_with_get_carry(2^64, x710₂, x648, x706₁) (* : uint64_t, uint1_t *) in
- expr_let x712 := Z.add_with_get_carry(2^64, 0, 0, x707₁) (* : uint64_t, uint1_t *) in
- expr_let x713 := Z.add_with_get_carry(2^64, x712₂, 0, x708₁) (* : uint64_t, uint1_t *) in
- expr_let x714 := Z.add_with_get_carry(2^64, x713₂, 0, x709₁) (* : uint64_t, uint1_t *) in
- expr_let x715 := Z.add_with_get_carry(2^64, x714₂, 0, x710₁) (* : uint64_t, uint1_t *) in
- expr_let x716 := Z.add_with_get_carry(2^64, x715₂, x649, x711₁) (* : uint64_t, uint1_t *) in
- expr_let x717 := Z.add_with_get_carry(2^64, 0, 0, x712₁) (* : uint64_t, uint1_t *) in
- expr_let x718 := Z.add_with_get_carry(2^64, x717₂, 0, x713₁) (* : uint64_t, uint1_t *) in
- expr_let x719 := Z.add_with_get_carry(2^64, x718₂, 0, x714₁) (* : uint64_t, uint1_t *) in
- expr_let x720 := Z.add_with_get_carry(2^64, x719₂, x647, x715₁) (* : uint64_t, uint1_t *) in
- expr_let x721 := Z.add_with_get_carry(2^64, x720₂, x650, x716₁) (* : uint64_t, uint1_t *) in
- expr_let x722 := Z.add_with_get_carry(2^64, 0, 0, x717₁) (* : uint64_t, uint1_t *) in
- expr_let x723 := Z.add_with_get_carry(2^64, x722₂, 0, x718₁) (* : uint64_t, uint1_t *) in
- expr_let x724 := Z.add_with_get_carry(2^64, x723₂, 0, x719₁) (* : uint64_t, uint1_t *) in
- expr_let x725 := Z.add_with_get_carry(2^64, x724₂, x653, x720₁) (* : uint64_t, uint1_t *) in
- expr_let x726 := Z.add_with_get_carry(2^64, x725₂, x651, x721₁) (* : uint64_t, uint1_t *) in
- expr_let x727 := Z.add_with_get_carry(2^64, 0, 0, x722₁) (* : uint64_t, uint1_t *) in
- expr_let x728 := Z.add_with_get_carry(2^64, x727₂, 0, x723₁) (* : uint64_t, uint1_t *) in
- expr_let x729 := Z.add_with_get_carry(2^64, x728₂, x655, x724₁) (* : uint64_t, uint1_t *) in
- expr_let x730 := Z.add_with_get_carry(2^64, x729₂, x654, x725₁) (* : uint64_t, uint1_t *) in
- expr_let x731 := Z.add_with_get_carry(2^64, x730₂, x652, x726₁) (* : uint64_t, uint1_t *) in
- expr_let x732 := Z.add_with_get_carry(2^64, 0, 0, x727₁) (* : uint64_t, uint1_t *) in
- expr_let x733 := Z.add_with_get_carry(2^64, x732₂, 0, x728₁) (* : uint64_t, uint1_t *) in
- expr_let x734 := Z.add_with_get_carry(2^64, x733₂, x661, x729₁) (* : uint64_t, uint1_t *) in
- expr_let x735 := Z.add_with_get_carry(2^64, x734₂, x659, x730₁) (* : uint64_t, uint1_t *) in
- expr_let x736 := Z.add_with_get_carry(2^64, x735₂, x656, x731₁) (* : uint64_t, uint1_t *) in
- expr_let x737 := Z.add_with_get_carry(2^64, 0, 0, x732₁) (* : uint64_t, uint1_t *) in
- expr_let x738 := Z.add_with_get_carry(2^64, x737₂, x663, x733₁) (* : uint64_t, uint1_t *) in
- expr_let x739 := Z.add_with_get_carry(2^64, x738₂, x662, x734₁) (* : uint64_t, uint1_t *) in
- expr_let x740 := Z.add_with_get_carry(2^64, x739₂, x660, x735₁) (* : uint64_t, uint1_t *) in
- expr_let x741 := Z.add_with_get_carry(2^64, x740₂, x657, x736₁) (* : uint64_t, uint1_t *) in
- expr_let x742 := Z.add_with_get_carry(2^64, 0, 0, x737₁) (* : uint64_t, uint1_t *) in
- expr_let x743 := Z.add_with_get_carry(2^64, x742₂, x669, x738₁) (* : uint64_t, uint1_t *) in
- expr_let x744 := Z.add_with_get_carry(2^64, x743₂, x667, x739₁) (* : uint64_t, uint1_t *) in
- expr_let x745 := Z.add_with_get_carry(2^64, x744₂, x665, x740₁) (* : uint64_t, uint1_t *) in
- expr_let x746 := Z.add_with_get_carry(2^64, x745₂, x658, x741₁) (* : uint64_t, uint1_t *) in
- expr_let x747 := Z.add_with_get_carry(2^64, 0, x742₁, x631₁) (* : uint64_t, uint1_t *) in
- expr_let x748 := Z.add_with_get_carry(2^64, x747₂, x743₁, x632₁) (* : uint64_t, uint1_t *) in
- expr_let x749 := Z.add_with_get_carry(2^64, x748₂, x744₁, x633₁) (* : uint64_t, uint1_t *) in
- expr_let x750 := Z.add_with_get_carry(2^64, x749₂, x745₁, x634₁) (* : uint64_t, uint1_t *) in
- expr_let x751 := Z.add_with_get_carry(2^64, x750₂, x746₁, x635₁) (* : uint64_t, uint1_t *) in
- expr_let x752 := (Z.mul_split(2^64, x747₁, 2^64-1))₁ (* : uint64_t *) in
- expr_let x753 := Z.mul_split(2^64, x752, 2^32-1) (* : uint64_t, uint64_t *) in
- expr_let x754 := Z.mul_split(2^64, x752, 2^64-1) (* : uint64_t, uint64_t *) in
- expr_let x755 := Z.mul_split(2^64, x752, 0xffffffff00000000) (* : uint64_t, uint64_t *) in
- expr_let x756 := Z.mul_split(2^64, x752, 1) (* : uint64_t, uint1_t *) in
- expr_let x757 := x753₂ * 1 (* : uint64_t *) in
- expr_let x758 := x753₁ * 1 (* : uint64_t *) in
- expr_let x759 := x754₂ * 1 (* : uint64_t *) in
- expr_let x760 := x754₁ * 1 (* : uint64_t *) in
- expr_let x761 := x755₂ * 1 (* : uint64_t *) in
- expr_let x762 := x755₁ * 1 (* : uint64_t *) in
- expr_let x763 := x756₂ * 1 (* : uint1_t *) in
- expr_let x764 := x756₁ * 1 (* : uint64_t *) in
- expr_let x765 := Z.add_with_get_carry(2^64, 0, 0, x764) (* : uint64_t, uint1_t *) in
- expr_let x766 := Z.add_with_get_carry(2^64, x765₂, 0, x763) (* : uint1_t, uint1_t *) in
- expr_let x767 := Z.add_with_get_carry(2^64, x766₂, 0, x761) (* : uint64_t, uint1_t *) in
- expr_let x768 := Z.add_with_get_carry(2^64, x767₂, 0, x759) (* : uint64_t, uint1_t *) in
- expr_let x769 := Z.add_with_get_carry(2^64, x768₂, 0, x757) (* : uint64_t, uint1_t *) in
- expr_let x770 := Z.add_with_get_carry(2^64, 0, 0, x765₁) (* : uint64_t, uint1_t *) in
- expr_let x771 := Z.add_with_get_carry(2^64, x770₂, 0, x766₁) (* : uint1_t, uint1_t *) in
- expr_let x772 := Z.add_with_get_carry(2^64, x771₂, 0, x767₁) (* : uint64_t, uint1_t *) in
- expr_let x773 := Z.add_with_get_carry(2^64, x772₂, 0, x768₁) (* : uint64_t, uint1_t *) in
- expr_let x774 := Z.add_with_get_carry(2^64, x773₂, 0, x769₁) (* : uint64_t, uint1_t *) in
- expr_let x775 := Z.add_with_get_carry(2^64, 0, 0, x770₁) (* : uint64_t, uint1_t *) in
- expr_let x776 := Z.add_with_get_carry(2^64, x775₂, 0, x771₁) (* : uint1_t, uint1_t *) in
- expr_let x777 := Z.add_with_get_carry(2^64, x776₂, 0, x772₁) (* : uint64_t, uint1_t *) in
- expr_let x778 := Z.add_with_get_carry(2^64, x777₂, 0, x773₁) (* : uint64_t, uint1_t *) in
- expr_let x779 := Z.add_with_get_carry(2^64, x778₂, 0, x774₁) (* : uint64_t, uint1_t *) in
- expr_let x780 := Z.add_with_get_carry(2^64, 0, 0, x775₁) (* : uint64_t, uint1_t *) in
- expr_let x781 := Z.add_with_get_carry(2^64, x780₂, 0, x776₁) (* : uint1_t, uint1_t *) in
- expr_let x782 := Z.add_with_get_carry(2^64, x781₂, 0, x777₁) (* : uint64_t, uint1_t *) in
- expr_let x783 := Z.add_with_get_carry(2^64, x782₂, 0, x778₁) (* : uint64_t, uint1_t *) in
- expr_let x784 := Z.add_with_get_carry(2^64, x783₂, 0, x779₁) (* : uint64_t, uint1_t *) in
- expr_let x785 := Z.add_with_get_carry(2^64, 0, 0, x780₁) (* : uint64_t, uint1_t *) in
- expr_let x786 := Z.add_with_get_carry(2^64, x785₂, 0, x781₁) (* : uint1_t, uint1_t *) in
- expr_let x787 := Z.add_with_get_carry(2^64, x786₂, 0, x782₁) (* : uint64_t, uint1_t *) in
- expr_let x788 := Z.add_with_get_carry(2^64, x787₂, 0, x783₁) (* : uint64_t, uint1_t *) in
- expr_let x789 := Z.add_with_get_carry(2^64, x788₂, 0, x784₁) (* : uint64_t, uint1_t *) in
- expr_let x790 := Z.add_with_get_carry(2^64, 0, 0, x785₁) (* : uint64_t, uint1_t *) in
- expr_let x791 := Z.add_with_get_carry(2^64, x790₂, 0, x786₁) (* : uint1_t, uint1_t *) in
- expr_let x792 := Z.add_with_get_carry(2^64, x791₂, 0, x787₁) (* : uint64_t, uint1_t *) in
- expr_let x793 := Z.add_with_get_carry(2^64, x792₂, 0, x788₁) (* : uint64_t, uint1_t *) in
- expr_let x794 := Z.add_with_get_carry(2^64, x793₂, 0, x789₁) (* : uint64_t, uint1_t *) in
- expr_let x795 := Z.add_with_get_carry(2^64, 0, 0, x790₁) (* : uint64_t, uint1_t *) in
- expr_let x796 := Z.add_with_get_carry(2^64, x795₂, 0, x791₁) (* : uint1_t, uint1_t *) in
- expr_let x797 := Z.add_with_get_carry(2^64, x796₂, 0, x792₁) (* : uint64_t, uint1_t *) in
- expr_let x798 := Z.add_with_get_carry(2^64, x797₂, 0, x793₁) (* : uint64_t, uint1_t *) in
- expr_let x799 := Z.add_with_get_carry(2^64, x798₂, 0, x794₁) (* : uint64_t, uint1_t *) in
- expr_let x800 := Z.add_with_get_carry(2^64, 0, 0, x795₁) (* : uint64_t, uint1_t *) in
- expr_let x801 := Z.add_with_get_carry(2^64, x800₂, 0, x796₁) (* : uint1_t, uint1_t *) in
- expr_let x802 := Z.add_with_get_carry(2^64, x801₂, 0, x797₁) (* : uint64_t, uint1_t *) in
- expr_let x803 := Z.add_with_get_carry(2^64, x802₂, 0, x798₁) (* : uint64_t, uint1_t *) in
- expr_let x804 := Z.add_with_get_carry(2^64, x803₂, 0, x799₁) (* : uint64_t, uint1_t *) in
- expr_let x805 := Z.add_with_get_carry(2^64, 0, 0, x800₁) (* : uint64_t, uint1_t *) in
- expr_let x806 := Z.add_with_get_carry(2^64, x805₂, 0, x801₁) (* : uint1_t, uint1_t *) in
- expr_let x807 := Z.add_with_get_carry(2^64, x806₂, 0, x802₁) (* : uint64_t, uint1_t *) in
- expr_let x808 := Z.add_with_get_carry(2^64, x807₂, 0, x803₁) (* : uint64_t, uint1_t *) in
- expr_let x809 := Z.add_with_get_carry(2^64, x808₂, 0, x804₁) (* : uint64_t, uint1_t *) in
- expr_let x810 := Z.add_with_get_carry(2^64, 0, 0, x805₁) (* : uint64_t, uint1_t *) in
- expr_let x811 := Z.add_with_get_carry(2^64, x810₂, 0, x806₁) (* : uint1_t, uint1_t *) in
- expr_let x812 := Z.add_with_get_carry(2^64, x811₂, 0, x807₁) (* : uint64_t, uint1_t *) in
- expr_let x813 := Z.add_with_get_carry(2^64, x812₂, 0, x808₁) (* : uint64_t, uint1_t *) in
- expr_let x814 := Z.add_with_get_carry(2^64, x813₂, 0, x809₁) (* : uint64_t, uint1_t *) in
- expr_let x815 := Z.add_with_get_carry(2^64, 0, 0, x810₁) (* : uint64_t, uint1_t *) in
- expr_let x816 := Z.add_with_get_carry(2^64, x815₂, 0, x811₁) (* : uint1_t, uint1_t *) in
- expr_let x817 := Z.add_with_get_carry(2^64, x816₂, 0, x812₁) (* : uint64_t, uint1_t *) in
- expr_let x818 := Z.add_with_get_carry(2^64, x817₂, 0, x813₁) (* : uint64_t, uint1_t *) in
- expr_let x819 := Z.add_with_get_carry(2^64, x818₂, 0, x814₁) (* : uint64_t, uint1_t *) in
- expr_let x820 := Z.add_with_get_carry(2^64, 0, 0, x815₁) (* : uint64_t, uint1_t *) in
- expr_let x821 := Z.add_with_get_carry(2^64, x820₂, 0, x816₁) (* : uint1_t, uint1_t *) in
- expr_let x822 := Z.add_with_get_carry(2^64, x821₂, 0, x817₁) (* : uint64_t, uint1_t *) in
- expr_let x823 := Z.add_with_get_carry(2^64, x822₂, 0, x818₁) (* : uint64_t, uint1_t *) in
- expr_let x824 := Z.add_with_get_carry(2^64, x823₂, 0, x819₁) (* : uint64_t, uint1_t *) in
- expr_let x825 := Z.add_with_get_carry(2^64, 0, 0, x820₁) (* : uint64_t, uint1_t *) in
- expr_let x826 := Z.add_with_get_carry(2^64, x825₂, 0, x821₁) (* : uint1_t, uint1_t *) in
- expr_let x827 := Z.add_with_get_carry(2^64, x826₂, 0, x822₁) (* : uint64_t, uint1_t *) in
- expr_let x828 := Z.add_with_get_carry(2^64, x827₂, 0, x823₁) (* : uint64_t, uint1_t *) in
- expr_let x829 := Z.add_with_get_carry(2^64, x828₂, 0, x824₁) (* : uint64_t, uint1_t *) in
- expr_let x830 := Z.add_with_get_carry(2^64, 0, 0, x825₁) (* : uint64_t, uint1_t *) in
- expr_let x831 := Z.add_with_get_carry(2^64, x830₂, 0, x826₁) (* : uint1_t, uint1_t *) in
- expr_let x832 := Z.add_with_get_carry(2^64, x831₂, 0, x827₁) (* : uint64_t, uint1_t *) in
- expr_let x833 := Z.add_with_get_carry(2^64, x832₂, 0, x828₁) (* : uint64_t, uint1_t *) in
- expr_let x834 := Z.add_with_get_carry(2^64, x833₂, 0, x829₁) (* : uint64_t, uint1_t *) in
- expr_let x835 := Z.add_with_get_carry(2^64, 0, 0, x830₁) (* : uint64_t, uint1_t *) in
- expr_let x836 := Z.add_with_get_carry(2^64, x835₂, x762, x831₁) (* : uint64_t, uint1_t *) in
- expr_let x837 := Z.add_with_get_carry(2^64, x836₂, x760, x832₁) (* : uint64_t, uint1_t *) in
- expr_let x838 := Z.add_with_get_carry(2^64, x837₂, x758, x833₁) (* : uint64_t, uint1_t *) in
- expr_let x839 := Z.add_with_get_carry(2^64, x838₂, 0, x834₁) (* : uint64_t, uint1_t *) in
- expr_let x840 := Z.add_with_get_carry(2^64, 0, x835₁, x747₁) (* : uint64_t, uint1_t *) in
- expr_let x841 := Z.add_with_get_carry(2^64, x840₂, x836₁, x748₁) (* : uint64_t, uint1_t *) in
- expr_let x842 := Z.add_with_get_carry(2^64, x841₂, x837₁, x749₁) (* : uint64_t, uint1_t *) in
- expr_let x843 := Z.add_with_get_carry(2^64, x842₂, x838₁, x750₁) (* : uint64_t, uint1_t *) in
- expr_let x844 := Z.add_with_get_carry(2^64, x843₂, x839₁, x751₁) (* : uint64_t, uint1_t *) in
- expr_let x845 := Z.add_with_get_carry(2^64, x844₂, 0, x751₂) (* : uint64_t, uint1_t *) in
- expr_let x846 := Z.add_with_get_carry(2^64, 0, -1, x841₁) (* : uint64_t, int1_t *) in
- expr_let x847 := Z.add_with_get_carry(2^64, x846₂, -0xffffffff00000000, x842₁) (* : uint64_t, int1_t *) in
- expr_let x848 := Z.add_with_get_carry(2^64, x847₂, -(2^64-1), x843₁) (* : uint64_t, int1_t *) in
- expr_let x849 := Z.add_with_get_carry(2^64, x848₂, -(2^32-1), x844₁) (* : uint64_t, int1_t *) in
- expr_let x850 := Z.add_with_get_carry(2^64, x849₂, 0, x845₁) (* : uint64_t, int1_t *) in
- expr_let x851 := Z.zselect((-x850₂), x846₁, x841₁) (* : uint64_t *) in
- expr_let x852 := Z.zselect((-x850₂), x847₁, x842₁) (* : uint64_t *) in
- expr_let x853 := Z.zselect((-x850₂), x848₁, x843₁) (* : uint64_t *) in
- expr_let x854 := Z.zselect((-x850₂), x849₁, x844₁) (* : uint64_t *) in
- x851 :: x852 :: x853 :: x854 :: []
-)
-Error in converting fiat_p224_square to C:
-Invalid identifier in arithmetic expression Z.mul_split
+/*
+ * 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;
+}
-In fiat_p224_add:
-Stringification failed on the syntax tree:
-(λ x1 x2,
- expr_let x3 := Z.add_with_get_carry(2^64, 0, x2[0], x1[0]) (* : uint64_t, uint1_t *) in
- expr_let x4 := Z.add_with_get_carry(2^64, x3₂, x2[1], x1[1]) (* : uint64_t, uint1_t *) in
- expr_let x5 := Z.add_with_get_carry(2^64, x4₂, x2[2], x1[2]) (* : uint64_t, uint1_t *) in
- expr_let x6 := Z.add_with_get_carry(2^64, x5₂, x2[3], x1[3]) (* : uint64_t, uint1_t *) in
- expr_let x7 := Z.add_with_get_carry(2^64, 0, -1, x3₁) (* : uint64_t, int1_t *) in
- expr_let x8 := Z.add_with_get_carry(2^64, x7₂, -0xffffffff00000000, x4₁) (* : uint64_t, int1_t *) in
- expr_let x9 := Z.add_with_get_carry(2^64, x8₂, -(2^64-1), x5₁) (* : uint64_t, int1_t *) in
- expr_let x10 := Z.add_with_get_carry(2^64, x9₂, -(2^32-1), x6₁) (* : uint64_t, int1_t *) in
- expr_let x11 := Z.add_with_get_carry(2^64, x10₂, 0, x6₂) (* : uint64_t, int1_t *) in
- expr_let x12 := Z.zselect((-x11₂), x7₁, x3₁) (* : uint64_t *) in
- expr_let x13 := Z.zselect((-x11₂), x8₁, x4₁) (* : uint64_t *) in
- expr_let x14 := Z.zselect((-x11₂), x9₁, x5₁) (* : uint64_t *) in
- expr_let x15 := Z.zselect((-x11₂), x10₁, x6₁) (* : uint64_t *) in
- x12 :: x13 :: x14 :: x15 :: []
-)
-Errors in converting fiat_p224_add to C:
-Final bounds check failed on second argument to Z.add_with_get_carry; expected an unsigned 64-bit number (uint64), but found a int1.
-Final bounds check failed on third argument to Z.add_with_get_carry; expected an unsigned 64-bit number (uint64), but found a int1.
-Final bounds check failed on second (carry) return value of Z.add_with_get_carry; expected an unsigned 1-bit number (uint1), but found a int1.
+/*
+ * 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;
+}
-In fiat_p224_sub:
-Stringification failed on the syntax tree:
-(λ x1 x2,
- expr_let x3 := Z.sub_get_borrow(2^64, x1[0], x2[0]) (* : uint64_t, uint1_t *) in
- expr_let x4 := Z.sub_with_get_borrow(2^64, x3₂, x1[1], x2[1]) (* : uint64_t, uint1_t *) in
- expr_let x5 := Z.sub_with_get_borrow(2^64, x4₂, x1[2], x2[2]) (* : uint64_t, uint1_t *) in
- expr_let x6 := Z.sub_with_get_borrow(2^64, x5₂, x1[3], x2[3]) (* : uint64_t, uint1_t *) in
- expr_let x7 := Z.zselect(x6₂, 0, 2^64-1) (* : uint64_t *) in
- expr_let x8 := Z.add_with_get_carry(2^64, 0, (x7 & 1), x3₁) (* : uint64_t, uint1_t *) in
- expr_let x9 := Z.add_with_get_carry(2^64, x8₂, (x7 & 0xffffffff00000000), x4₁) (* : uint64_t, uint1_t *) in
- expr_let x10 := Z.add_with_get_carry(2^64, x9₂, (x7 & 2^64-1), x5₁) (* : uint64_t, uint1_t *) in
- expr_let x11 := (Z.add_with_get_carry(2^64, x10₂, (x7 & 2^32-1), x6₁))₁ (* : uint64_t *) in
- x8₁ :: x9₁ :: x10₁ :: x11 :: []
-)
-Error in converting fiat_p224_sub to C:
-Invalid identifier in arithmetic expression Z.add_with_get_carry
+/*
+ * 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;
+}
-In fiat_p224_opp:
-Stringification failed on the syntax tree:
-(λ x1,
- expr_let x2 := Z.sub_get_borrow(2^64, 0, x1[0]) (* : uint64_t, uint1_t *) in
- expr_let x3 := Z.sub_with_get_borrow(2^64, x2₂, 0, x1[1]) (* : uint64_t, uint1_t *) in
- expr_let x4 := Z.sub_with_get_borrow(2^64, x3₂, 0, x1[2]) (* : uint64_t, uint1_t *) in
- expr_let x5 := Z.sub_with_get_borrow(2^64, x4₂, 0, x1[3]) (* : uint64_t, uint1_t *) in
- expr_let x6 := Z.zselect(x5₂, 0, 2^64-1) (* : uint64_t *) in
- expr_let x7 := Z.add_with_get_carry(2^64, 0, (x6 & 1), x2₁) (* : uint64_t, uint1_t *) in
- expr_let x8 := Z.add_with_get_carry(2^64, x7₂, (x6 & 0xffffffff00000000), x3₁) (* : uint64_t, uint1_t *) in
- expr_let x9 := Z.add_with_get_carry(2^64, x8₂, (x6 & 2^64-1), x4₁) (* : uint64_t, uint1_t *) in
- expr_let x10 := (Z.add_with_get_carry(2^64, x9₂, (x6 & 2^32-1), x5₁))₁ (* : uint64_t *) in
- x7₁ :: x8₁ :: x9₁ :: x10 :: []
-)
-Error in converting fiat_p224_opp to C:
-Invalid identifier in arithmetic expression Z.add_with_get_carry
+/*
+ * 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;
+}
-In fiat_p224_from_montgomery:
-Stringification failed on the syntax tree:
-(λ x1,
- expr_let x2 := Z.mul_split(2^64, x1[0], 1) (* : uint64_t, uint1_t *) in
- expr_let x3 := Z.add_with_get_carry(2^64, 0, 0, (x2₁ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x4 := Z.add_with_get_carry(2^64, x3₂, 0, (x2₂ * 1)) (* : uint1_t, uint1_t *) in
- expr_let x5 := Z.add_with_get_carry(2^64, x4₂, 0, (1 * 0)) (* : uint1_t, uint1_t *) in
- expr_let x6 := Z.add_with_get_carry(2^64, x5₂, 0, (1 * 0)) (* : uint1_t, uint1_t *) in
- expr_let x7 := Z.add_with_get_carry(2^64, 0, 0, x3₁) (* : uint64_t, uint1_t *) in
- expr_let x8 := Z.add_with_get_carry(2^64, x7₂, 0, x4₁) (* : uint1_t, uint1_t *) in
- expr_let x9 := Z.add_with_get_carry(2^64, x8₂, 0, x5₁) (* : uint1_t, uint1_t *) in
- expr_let x10 := Z.add_with_get_carry(2^64, x9₂, 0, x6₁) (* : uint1_t, uint1_t *) in
- expr_let x11 := Z.add_with_get_carry(2^64, 0, 0, x7₁) (* : uint64_t, uint1_t *) in
- expr_let x12 := Z.add_with_get_carry(2^64, x11₂, 0, x8₁) (* : uint1_t, uint1_t *) in
- expr_let x13 := Z.add_with_get_carry(2^64, x12₂, 0, x9₁) (* : uint1_t, uint1_t *) in
- expr_let x14 := Z.add_with_get_carry(2^64, x13₂, 0, x10₁) (* : uint1_t, uint1_t *) in
- expr_let x15 := Z.add_with_get_carry(2^64, 0, 0, x11₁) (* : uint64_t, uint1_t *) in
- expr_let x16 := Z.add_with_get_carry(2^64, x15₂, 0, x12₁) (* : uint1_t, uint1_t *) in
- expr_let x17 := Z.add_with_get_carry(2^64, x16₂, 0, x13₁) (* : uint1_t, uint1_t *) in
- expr_let x18 := Z.add_with_get_carry(2^64, x17₂, 0, x14₁) (* : uint1_t, uint1_t *) in
- expr_let x19 := Z.add_with_get_carry(2^64, 0, 0, x15₁) (* : uint64_t, uint1_t *) in
- expr_let x20 := Z.add_with_get_carry(2^64, x19₂, 0, x16₁) (* : uint1_t, uint1_t *) in
- expr_let x21 := Z.add_with_get_carry(2^64, x20₂, 0, x17₁) (* : uint1_t, uint1_t *) in
- expr_let x22 := Z.add_with_get_carry(2^64, x21₂, 0, x18₁) (* : uint1_t, uint1_t *) in
- expr_let x23 := Z.add_with_get_carry(2^64, 0, 0, x19₁) (* : uint64_t, uint1_t *) in
- expr_let x24 := Z.add_with_get_carry(2^64, x23₂, 0, x20₁) (* : uint1_t, uint1_t *) in
- expr_let x25 := Z.add_with_get_carry(2^64, x24₂, 0, x21₁) (* : uint1_t, uint1_t *) in
- expr_let x26 := Z.add_with_get_carry(2^64, x25₂, 0, x22₁) (* : uint1_t, uint1_t *) in
- expr_let x27 := Z.add_with_get_carry(2^64, 0, 0, x23₁) (* : uint64_t, uint1_t *) in
- expr_let x28 := Z.add_with_get_carry(2^64, x27₂, 0, x24₁) (* : uint1_t, uint1_t *) in
- expr_let x29 := Z.add_with_get_carry(2^64, x28₂, 0, x25₁) (* : uint1_t, uint1_t *) in
- expr_let x30 := Z.add_with_get_carry(2^64, x29₂, 0, x26₁) (* : uint1_t, uint1_t *) in
- expr_let x31 := Z.add_with_get_carry(2^64, 0, 0, x27₁) (* : uint64_t, uint1_t *) in
- expr_let x32 := Z.add_with_get_carry(2^64, x31₂, 0, x28₁) (* : uint1_t, uint1_t *) in
- expr_let x33 := Z.add_with_get_carry(2^64, x32₂, 0, x29₁) (* : uint1_t, uint1_t *) in
- expr_let x34 := Z.add_with_get_carry(2^64, x33₂, 0, x30₁) (* : uint1_t, uint1_t *) in
- expr_let x35 := Z.add_with_get_carry(2^64, 0, 0, x31₁) (* : uint64_t, uint1_t *) in
- expr_let x36 := Z.add_with_get_carry(2^64, x35₂, 0, x32₁) (* : uint1_t, uint1_t *) in
- expr_let x37 := Z.add_with_get_carry(2^64, x36₂, 0, x33₁) (* : uint1_t, uint1_t *) in
- expr_let x38 := Z.add_with_get_carry(2^64, x37₂, 0, x34₁) (* : uint1_t, uint1_t *) in
- expr_let x39 := Z.add_with_get_carry(2^64, 0, 0, x35₁) (* : uint64_t, uint1_t *) in
- expr_let x40 := Z.add_with_get_carry(2^64, x39₂, 0, x36₁) (* : uint1_t, uint1_t *) in
- expr_let x41 := Z.add_with_get_carry(2^64, x40₂, 0, x37₁) (* : uint1_t, uint1_t *) in
- expr_let x42 := Z.add_with_get_carry(2^64, x41₂, 0, x38₁) (* : uint1_t, uint1_t *) in
- expr_let x43 := Z.add_with_get_carry(2^64, 0, 0, x39₁) (* : uint64_t, uint1_t *) in
- expr_let x44 := Z.add_with_get_carry(2^64, x43₂, 0, x40₁) (* : uint1_t, uint1_t *) in
- expr_let x45 := Z.add_with_get_carry(2^64, x44₂, 0, x41₁) (* : uint1_t, uint1_t *) in
- expr_let x46 := Z.add_with_get_carry(2^64, x45₂, 0, x42₁) (* : uint1_t, uint1_t *) in
- expr_let x47 := Z.add_with_get_carry(2^64, 0, 0, x43₁) (* : uint64_t, uint1_t *) in
- expr_let x48 := Z.add_with_get_carry(2^64, x47₂, 0, x44₁) (* : uint1_t, uint1_t *) in
- expr_let x49 := Z.add_with_get_carry(2^64, x48₂, 0, x45₁) (* : uint1_t, uint1_t *) in
- expr_let x50 := Z.add_with_get_carry(2^64, x49₂, 0, x46₁) (* : uint1_t, uint1_t *) in
- expr_let x51 := Z.add_with_get_carry(2^64, 0, 0, x47₁) (* : uint64_t, uint1_t *) in
- expr_let x52 := Z.add_with_get_carry(2^64, x51₂, 0, x48₁) (* : uint1_t, uint1_t *) in
- expr_let x53 := Z.add_with_get_carry(2^64, x52₂, 0, x49₁) (* : uint1_t, uint1_t *) in
- expr_let x54 := Z.add_with_get_carry(2^64, x53₂, 0, x50₁) (* : uint1_t, uint1_t *) in
- expr_let x55 := Z.add_with_get_carry(2^64, 0, 0, x51₁) (* : uint64_t, uint1_t *) in
- expr_let x56 := Z.add_with_get_carry(2^64, x55₂, 0, x52₁) (* : uint1_t, uint1_t *) in
- expr_let x57 := Z.add_with_get_carry(2^64, x56₂, 0, x53₁) (* : uint1_t, uint1_t *) in
- expr_let x58 := Z.add_with_get_carry(2^64, x57₂, 0, x54₁) (* : uint1_t, uint1_t *) in
- expr_let x59 := Z.add_with_get_carry(2^64, 0, 0, x55₁) (* : uint64_t, uint1_t *) in
- expr_let x60 := Z.add_with_get_carry(2^64, x59₂, (1 * 0), x56₁) (* : uint1_t, uint1_t *) in
- expr_let x61 := Z.add_with_get_carry(2^64, x60₂, (1 * 0), x57₁) (* : uint1_t, uint1_t *) in
- expr_let x62 := Z.add_with_get_carry(2^64, x61₂, (1 * 0), x58₁) (* : uint1_t, uint1_t *) in
- expr_let x63 := Z.add_with_get_carry(2^64, 0, x59₁, 0) (* : uint64_t, uint1_t *) in
- expr_let x64 := Z.add_with_get_carry(2^64, x63₂, x60₁, 0) (* : uint1_t, uint1_t *) in
- expr_let x65 := Z.add_with_get_carry(2^64, x64₂, x61₁, 0) (* : uint1_t, uint1_t *) in
- expr_let x66 := Z.add_with_get_carry(2^64, x65₂, x62₁, 0) (* : uint1_t, uint1_t *) in
- expr_let x67 := Z.add_with_get_carry(2^64, x66₂, (Z.add_with_get_carry(2^64, x62₂, 0, (Z.add_with_get_carry(2^64, x58₂, 0, (Z.add_with_get_carry(2^64, x54₂, 0, (Z.add_with_get_carry(2^64, x50₂, 0, (Z.add_with_get_carry(2^64, x46₂, 0, (Z.add_with_get_carry(2^64, x42₂, 0, (Z.add_with_get_carry(2^64, x38₂, 0, (Z.add_with_get_carry(2^64, x34₂, 0, (Z.add_with_get_carry(2^64, x30₂, 0, (Z.add_with_get_carry(2^64, x26₂, 0, (Z.add_with_get_carry(2^64, x22₂, 0, (Z.add_with_get_carry(2^64, x18₂, 0, (Z.add_with_get_carry(2^64, x14₂, 0, (Z.add_with_get_carry(2^64, x10₂, 0, (Z.add_with_get_carry(2^64, x6₂, 0, (1 * 0)))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁, 0) (* : uint1_t, uint1_t *) in
- expr_let x68 := (Z.mul_split(2^64, x63₁, 2^64-1))₁ (* : uint64_t *) in
- expr_let x69 := Z.mul_split(2^64, x68, 2^32-1) (* : uint64_t, uint64_t *) in
- expr_let x70 := Z.mul_split(2^64, x68, 2^64-1) (* : uint64_t, uint64_t *) in
- expr_let x71 := Z.mul_split(2^64, x68, 0xffffffff00000000) (* : uint64_t, uint64_t *) in
- expr_let x72 := Z.mul_split(2^64, x68, 1) (* : uint64_t, uint1_t *) in
- expr_let x73 := Z.add_with_get_carry(2^64, 0, 0, (x72₁ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x74 := Z.add_with_get_carry(2^64, x73₂, 0, (x72₂ * 1)) (* : uint1_t, uint1_t *) in
- expr_let x75 := Z.add_with_get_carry(2^64, x74₂, 0, (x71₂ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x76 := Z.add_with_get_carry(2^64, x75₂, 0, (x70₂ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x77 := Z.add_with_get_carry(2^64, 0, 0, x73₁) (* : uint64_t, uint1_t *) in
- expr_let x78 := Z.add_with_get_carry(2^64, x77₂, 0, x74₁) (* : uint1_t, uint1_t *) in
- expr_let x79 := Z.add_with_get_carry(2^64, x78₂, 0, x75₁) (* : uint64_t, uint1_t *) in
- expr_let x80 := Z.add_with_get_carry(2^64, x79₂, 0, x76₁) (* : uint64_t, uint1_t *) in
- expr_let x81 := Z.add_with_get_carry(2^64, 0, 0, x77₁) (* : uint64_t, uint1_t *) in
- expr_let x82 := Z.add_with_get_carry(2^64, x81₂, 0, x78₁) (* : uint1_t, uint1_t *) in
- expr_let x83 := Z.add_with_get_carry(2^64, x82₂, 0, x79₁) (* : uint64_t, uint1_t *) in
- expr_let x84 := Z.add_with_get_carry(2^64, x83₂, 0, x80₁) (* : uint64_t, uint1_t *) in
- expr_let x85 := Z.add_with_get_carry(2^64, 0, 0, x81₁) (* : uint64_t, uint1_t *) in
- expr_let x86 := Z.add_with_get_carry(2^64, x85₂, 0, x82₁) (* : uint1_t, uint1_t *) in
- expr_let x87 := Z.add_with_get_carry(2^64, x86₂, 0, x83₁) (* : uint64_t, uint1_t *) in
- expr_let x88 := Z.add_with_get_carry(2^64, x87₂, 0, x84₁) (* : uint64_t, uint1_t *) in
- expr_let x89 := Z.add_with_get_carry(2^64, 0, 0, x85₁) (* : uint64_t, uint1_t *) in
- expr_let x90 := Z.add_with_get_carry(2^64, x89₂, 0, x86₁) (* : uint1_t, uint1_t *) in
- expr_let x91 := Z.add_with_get_carry(2^64, x90₂, 0, x87₁) (* : uint64_t, uint1_t *) in
- expr_let x92 := Z.add_with_get_carry(2^64, x91₂, 0, x88₁) (* : uint64_t, uint1_t *) in
- expr_let x93 := Z.add_with_get_carry(2^64, 0, 0, x89₁) (* : uint64_t, uint1_t *) in
- expr_let x94 := Z.add_with_get_carry(2^64, x93₂, 0, x90₁) (* : uint1_t, uint1_t *) in
- expr_let x95 := Z.add_with_get_carry(2^64, x94₂, 0, x91₁) (* : uint64_t, uint1_t *) in
- expr_let x96 := Z.add_with_get_carry(2^64, x95₂, 0, x92₁) (* : uint64_t, uint1_t *) in
- expr_let x97 := Z.add_with_get_carry(2^64, 0, 0, x93₁) (* : uint64_t, uint1_t *) in
- expr_let x98 := Z.add_with_get_carry(2^64, x97₂, 0, x94₁) (* : uint1_t, uint1_t *) in
- expr_let x99 := Z.add_with_get_carry(2^64, x98₂, 0, x95₁) (* : uint64_t, uint1_t *) in
- expr_let x100 := Z.add_with_get_carry(2^64, x99₂, 0, x96₁) (* : uint64_t, uint1_t *) in
- expr_let x101 := Z.add_with_get_carry(2^64, 0, 0, x97₁) (* : uint64_t, uint1_t *) in
- expr_let x102 := Z.add_with_get_carry(2^64, x101₂, 0, x98₁) (* : uint1_t, uint1_t *) in
- expr_let x103 := Z.add_with_get_carry(2^64, x102₂, 0, x99₁) (* : uint64_t, uint1_t *) in
- expr_let x104 := Z.add_with_get_carry(2^64, x103₂, 0, x100₁) (* : uint64_t, uint1_t *) in
- expr_let x105 := Z.add_with_get_carry(2^64, 0, 0, x101₁) (* : uint64_t, uint1_t *) in
- expr_let x106 := Z.add_with_get_carry(2^64, x105₂, 0, x102₁) (* : uint1_t, uint1_t *) in
- expr_let x107 := Z.add_with_get_carry(2^64, x106₂, 0, x103₁) (* : uint64_t, uint1_t *) in
- expr_let x108 := Z.add_with_get_carry(2^64, x107₂, 0, x104₁) (* : uint64_t, uint1_t *) in
- expr_let x109 := Z.add_with_get_carry(2^64, 0, 0, x105₁) (* : uint64_t, uint1_t *) in
- expr_let x110 := Z.add_with_get_carry(2^64, x109₂, 0, x106₁) (* : uint1_t, uint1_t *) in
- expr_let x111 := Z.add_with_get_carry(2^64, x110₂, 0, x107₁) (* : uint64_t, uint1_t *) in
- expr_let x112 := Z.add_with_get_carry(2^64, x111₂, 0, x108₁) (* : uint64_t, uint1_t *) in
- expr_let x113 := Z.add_with_get_carry(2^64, 0, 0, x109₁) (* : uint64_t, uint1_t *) in
- expr_let x114 := Z.add_with_get_carry(2^64, x113₂, 0, x110₁) (* : uint1_t, uint1_t *) in
- expr_let x115 := Z.add_with_get_carry(2^64, x114₂, 0, x111₁) (* : uint64_t, uint1_t *) in
- expr_let x116 := Z.add_with_get_carry(2^64, x115₂, 0, x112₁) (* : uint64_t, uint1_t *) in
- expr_let x117 := Z.add_with_get_carry(2^64, 0, 0, x113₁) (* : uint64_t, uint1_t *) in
- expr_let x118 := Z.add_with_get_carry(2^64, x117₂, 0, x114₁) (* : uint1_t, uint1_t *) in
- expr_let x119 := Z.add_with_get_carry(2^64, x118₂, 0, x115₁) (* : uint64_t, uint1_t *) in
- expr_let x120 := Z.add_with_get_carry(2^64, x119₂, 0, x116₁) (* : uint64_t, uint1_t *) in
- expr_let x121 := Z.add_with_get_carry(2^64, 0, 0, x117₁) (* : uint64_t, uint1_t *) in
- expr_let x122 := Z.add_with_get_carry(2^64, x121₂, 0, x118₁) (* : uint1_t, uint1_t *) in
- expr_let x123 := Z.add_with_get_carry(2^64, x122₂, 0, x119₁) (* : uint64_t, uint1_t *) in
- expr_let x124 := Z.add_with_get_carry(2^64, x123₂, 0, x120₁) (* : uint64_t, uint1_t *) in
- expr_let x125 := Z.add_with_get_carry(2^64, 0, 0, x121₁) (* : uint64_t, uint1_t *) in
- expr_let x126 := Z.add_with_get_carry(2^64, x125₂, 0, x122₁) (* : uint1_t, uint1_t *) in
- expr_let x127 := Z.add_with_get_carry(2^64, x126₂, 0, x123₁) (* : uint64_t, uint1_t *) in
- expr_let x128 := Z.add_with_get_carry(2^64, x127₂, 0, x124₁) (* : uint64_t, uint1_t *) in
- expr_let x129 := Z.add_with_get_carry(2^64, 0, 0, x125₁) (* : uint64_t, uint1_t *) in
- expr_let x130 := Z.add_with_get_carry(2^64, x129₂, (x71₁ * 1), x126₁) (* : uint64_t, uint1_t *) in
- expr_let x131 := Z.add_with_get_carry(2^64, x130₂, (x70₁ * 1), x127₁) (* : uint64_t, uint1_t *) in
- expr_let x132 := Z.add_with_get_carry(2^64, x131₂, (x69₁ * 1), x128₁) (* : uint64_t, uint1_t *) in
- expr_let x133 := Z.add_with_get_carry(2^64, (Z.add_with_get_carry(2^64, 0, x129₁, x63₁))₂, x130₁, x64₁) (* : uint64_t, uint1_t *) in
- expr_let x134 := Z.add_with_get_carry(2^64, x133₂, x131₁, x65₁) (* : uint64_t, uint1_t *) in
- expr_let x135 := Z.add_with_get_carry(2^64, x134₂, x132₁, x66₁) (* : uint64_t, uint1_t *) in
- expr_let x136 := Z.add_with_get_carry(2^64, x135₂, (Z.add_with_get_carry(2^64, x132₂, 0, (Z.add_with_get_carry(2^64, x128₂, 0, (Z.add_with_get_carry(2^64, x124₂, 0, (Z.add_with_get_carry(2^64, x120₂, 0, (Z.add_with_get_carry(2^64, x116₂, 0, (Z.add_with_get_carry(2^64, x112₂, 0, (Z.add_with_get_carry(2^64, x108₂, 0, (Z.add_with_get_carry(2^64, x104₂, 0, (Z.add_with_get_carry(2^64, x100₂, 0, (Z.add_with_get_carry(2^64, x96₂, 0, (Z.add_with_get_carry(2^64, x92₂, 0, (Z.add_with_get_carry(2^64, x88₂, 0, (Z.add_with_get_carry(2^64, x84₂, 0, (Z.add_with_get_carry(2^64, x80₂, 0, (Z.add_with_get_carry(2^64, x76₂, 0, (x69₂ * 1)))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁, x67₁) (* : uint64_t, uint1_t *) in
- expr_let x137 := Z.mul_split(2^64, x1[1], 1) (* : uint64_t, uint1_t *) in
- expr_let x138 := Z.add_with_get_carry(2^64, 0, 0, (x137₁ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x139 := Z.add_with_get_carry(2^64, x138₂, 0, (x137₂ * 1)) (* : uint1_t, uint1_t *) in
- expr_let x140 := Z.add_with_get_carry(2^64, x139₂, 0, (1 * 0)) (* : uint1_t, uint1_t *) in
- expr_let x141 := Z.add_with_get_carry(2^64, x140₂, 0, (1 * 0)) (* : uint1_t, uint1_t *) in
- expr_let x142 := Z.add_with_get_carry(2^64, 0, 0, x138₁) (* : uint64_t, uint1_t *) in
- expr_let x143 := Z.add_with_get_carry(2^64, x142₂, 0, x139₁) (* : uint1_t, uint1_t *) in
- expr_let x144 := Z.add_with_get_carry(2^64, x143₂, 0, x140₁) (* : uint1_t, uint1_t *) in
- expr_let x145 := Z.add_with_get_carry(2^64, x144₂, 0, x141₁) (* : uint1_t, uint1_t *) in
- expr_let x146 := Z.add_with_get_carry(2^64, 0, 0, x142₁) (* : uint64_t, uint1_t *) in
- expr_let x147 := Z.add_with_get_carry(2^64, x146₂, 0, x143₁) (* : uint1_t, uint1_t *) in
- expr_let x148 := Z.add_with_get_carry(2^64, x147₂, 0, x144₁) (* : uint1_t, uint1_t *) in
- expr_let x149 := Z.add_with_get_carry(2^64, x148₂, 0, x145₁) (* : uint1_t, uint1_t *) in
- expr_let x150 := Z.add_with_get_carry(2^64, 0, 0, x146₁) (* : uint64_t, uint1_t *) in
- expr_let x151 := Z.add_with_get_carry(2^64, x150₂, 0, x147₁) (* : uint1_t, uint1_t *) in
- expr_let x152 := Z.add_with_get_carry(2^64, x151₂, 0, x148₁) (* : uint1_t, uint1_t *) in
- expr_let x153 := Z.add_with_get_carry(2^64, x152₂, 0, x149₁) (* : uint1_t, uint1_t *) in
- expr_let x154 := Z.add_with_get_carry(2^64, 0, 0, x150₁) (* : uint64_t, uint1_t *) in
- expr_let x155 := Z.add_with_get_carry(2^64, x154₂, 0, x151₁) (* : uint1_t, uint1_t *) in
- expr_let x156 := Z.add_with_get_carry(2^64, x155₂, 0, x152₁) (* : uint1_t, uint1_t *) in
- expr_let x157 := Z.add_with_get_carry(2^64, x156₂, 0, x153₁) (* : uint1_t, uint1_t *) in
- expr_let x158 := Z.add_with_get_carry(2^64, 0, 0, x154₁) (* : uint64_t, uint1_t *) in
- expr_let x159 := Z.add_with_get_carry(2^64, x158₂, 0, x155₁) (* : uint1_t, uint1_t *) in
- expr_let x160 := Z.add_with_get_carry(2^64, x159₂, 0, x156₁) (* : uint1_t, uint1_t *) in
- expr_let x161 := Z.add_with_get_carry(2^64, x160₂, 0, x157₁) (* : uint1_t, uint1_t *) in
- expr_let x162 := Z.add_with_get_carry(2^64, 0, 0, x158₁) (* : uint64_t, uint1_t *) in
- expr_let x163 := Z.add_with_get_carry(2^64, x162₂, 0, x159₁) (* : uint1_t, uint1_t *) in
- expr_let x164 := Z.add_with_get_carry(2^64, x163₂, 0, x160₁) (* : uint1_t, uint1_t *) in
- expr_let x165 := Z.add_with_get_carry(2^64, x164₂, 0, x161₁) (* : uint1_t, uint1_t *) in
- expr_let x166 := Z.add_with_get_carry(2^64, 0, 0, x162₁) (* : uint64_t, uint1_t *) in
- expr_let x167 := Z.add_with_get_carry(2^64, x166₂, 0, x163₁) (* : uint1_t, uint1_t *) in
- expr_let x168 := Z.add_with_get_carry(2^64, x167₂, 0, x164₁) (* : uint1_t, uint1_t *) in
- expr_let x169 := Z.add_with_get_carry(2^64, x168₂, 0, x165₁) (* : uint1_t, uint1_t *) in
- expr_let x170 := Z.add_with_get_carry(2^64, 0, 0, x166₁) (* : uint64_t, uint1_t *) in
- expr_let x171 := Z.add_with_get_carry(2^64, x170₂, 0, x167₁) (* : uint1_t, uint1_t *) in
- expr_let x172 := Z.add_with_get_carry(2^64, x171₂, 0, x168₁) (* : uint1_t, uint1_t *) in
- expr_let x173 := Z.add_with_get_carry(2^64, x172₂, 0, x169₁) (* : uint1_t, uint1_t *) in
- expr_let x174 := Z.add_with_get_carry(2^64, 0, 0, x170₁) (* : uint64_t, uint1_t *) in
- expr_let x175 := Z.add_with_get_carry(2^64, x174₂, 0, x171₁) (* : uint1_t, uint1_t *) in
- expr_let x176 := Z.add_with_get_carry(2^64, x175₂, 0, x172₁) (* : uint1_t, uint1_t *) in
- expr_let x177 := Z.add_with_get_carry(2^64, x176₂, 0, x173₁) (* : uint1_t, uint1_t *) in
- expr_let x178 := Z.add_with_get_carry(2^64, 0, 0, x174₁) (* : uint64_t, uint1_t *) in
- expr_let x179 := Z.add_with_get_carry(2^64, x178₂, 0, x175₁) (* : uint1_t, uint1_t *) in
- expr_let x180 := Z.add_with_get_carry(2^64, x179₂, 0, x176₁) (* : uint1_t, uint1_t *) in
- expr_let x181 := Z.add_with_get_carry(2^64, x180₂, 0, x177₁) (* : uint1_t, uint1_t *) in
- expr_let x182 := Z.add_with_get_carry(2^64, 0, 0, x178₁) (* : uint64_t, uint1_t *) in
- expr_let x183 := Z.add_with_get_carry(2^64, x182₂, 0, x179₁) (* : uint1_t, uint1_t *) in
- expr_let x184 := Z.add_with_get_carry(2^64, x183₂, 0, x180₁) (* : uint1_t, uint1_t *) in
- expr_let x185 := Z.add_with_get_carry(2^64, x184₂, 0, x181₁) (* : uint1_t, uint1_t *) in
- expr_let x186 := Z.add_with_get_carry(2^64, 0, 0, x182₁) (* : uint64_t, uint1_t *) in
- expr_let x187 := Z.add_with_get_carry(2^64, x186₂, 0, x183₁) (* : uint1_t, uint1_t *) in
- expr_let x188 := Z.add_with_get_carry(2^64, x187₂, 0, x184₁) (* : uint1_t, uint1_t *) in
- expr_let x189 := Z.add_with_get_carry(2^64, x188₂, 0, x185₁) (* : uint1_t, uint1_t *) in
- expr_let x190 := Z.add_with_get_carry(2^64, 0, 0, x186₁) (* : uint64_t, uint1_t *) in
- expr_let x191 := Z.add_with_get_carry(2^64, x190₂, 0, x187₁) (* : uint1_t, uint1_t *) in
- expr_let x192 := Z.add_with_get_carry(2^64, x191₂, 0, x188₁) (* : uint1_t, uint1_t *) in
- expr_let x193 := Z.add_with_get_carry(2^64, x192₂, 0, x189₁) (* : uint1_t, uint1_t *) in
- expr_let x194 := Z.add_with_get_carry(2^64, 0, 0, x190₁) (* : uint64_t, uint1_t *) in
- expr_let x195 := Z.add_with_get_carry(2^64, x194₂, (1 * 0), x191₁) (* : uint1_t, uint1_t *) in
- expr_let x196 := Z.add_with_get_carry(2^64, x195₂, (1 * 0), x192₁) (* : uint1_t, uint1_t *) in
- expr_let x197 := Z.add_with_get_carry(2^64, x196₂, (1 * 0), x193₁) (* : uint1_t, uint1_t *) in
- expr_let x198 := Z.add_with_get_carry(2^64, 0, x194₁, x133₁) (* : uint64_t, uint1_t *) in
- expr_let x199 := Z.add_with_get_carry(2^64, x198₂, x195₁, x134₁) (* : uint64_t, uint1_t *) in
- expr_let x200 := Z.add_with_get_carry(2^64, x199₂, x196₁, x135₁) (* : uint64_t, uint1_t *) in
- expr_let x201 := Z.add_with_get_carry(2^64, x200₂, x197₁, x136₁) (* : uint64_t, uint1_t *) in
- expr_let x202 := Z.add_with_get_carry(2^64, x201₂, (Z.add_with_get_carry(2^64, x197₂, 0, (Z.add_with_get_carry(2^64, x193₂, 0, (Z.add_with_get_carry(2^64, x189₂, 0, (Z.add_with_get_carry(2^64, x185₂, 0, (Z.add_with_get_carry(2^64, x181₂, 0, (Z.add_with_get_carry(2^64, x177₂, 0, (Z.add_with_get_carry(2^64, x173₂, 0, (Z.add_with_get_carry(2^64, x169₂, 0, (Z.add_with_get_carry(2^64, x165₂, 0, (Z.add_with_get_carry(2^64, x161₂, 0, (Z.add_with_get_carry(2^64, x157₂, 0, (Z.add_with_get_carry(2^64, x153₂, 0, (Z.add_with_get_carry(2^64, x149₂, 0, (Z.add_with_get_carry(2^64, x145₂, 0, (Z.add_with_get_carry(2^64, x141₂, 0, (1 * 0)))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁, (Z.add_with_get_carry(2^64, x136₂, 0, x67₂))₁) (* : uint1_t, uint1_t *) in
- expr_let x203 := (Z.mul_split(2^64, x198₁, 2^64-1))₁ (* : uint64_t *) in
- expr_let x204 := Z.mul_split(2^64, x203, 2^32-1) (* : uint64_t, uint64_t *) in
- expr_let x205 := Z.mul_split(2^64, x203, 2^64-1) (* : uint64_t, uint64_t *) in
- expr_let x206 := Z.mul_split(2^64, x203, 0xffffffff00000000) (* : uint64_t, uint64_t *) in
- expr_let x207 := Z.mul_split(2^64, x203, 1) (* : uint64_t, uint1_t *) in
- expr_let x208 := Z.add_with_get_carry(2^64, 0, 0, (x207₁ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x209 := Z.add_with_get_carry(2^64, x208₂, 0, (x207₂ * 1)) (* : uint1_t, uint1_t *) in
- expr_let x210 := Z.add_with_get_carry(2^64, x209₂, 0, (x206₂ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x211 := Z.add_with_get_carry(2^64, x210₂, 0, (x205₂ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x212 := Z.add_with_get_carry(2^64, 0, 0, x208₁) (* : uint64_t, uint1_t *) in
- expr_let x213 := Z.add_with_get_carry(2^64, x212₂, 0, x209₁) (* : uint1_t, uint1_t *) in
- expr_let x214 := Z.add_with_get_carry(2^64, x213₂, 0, x210₁) (* : uint64_t, uint1_t *) in
- expr_let x215 := Z.add_with_get_carry(2^64, x214₂, 0, x211₁) (* : uint64_t, uint1_t *) in
- expr_let x216 := Z.add_with_get_carry(2^64, 0, 0, x212₁) (* : uint64_t, uint1_t *) in
- expr_let x217 := Z.add_with_get_carry(2^64, x216₂, 0, x213₁) (* : uint1_t, uint1_t *) in
- expr_let x218 := Z.add_with_get_carry(2^64, x217₂, 0, x214₁) (* : uint64_t, uint1_t *) in
- expr_let x219 := Z.add_with_get_carry(2^64, x218₂, 0, x215₁) (* : uint64_t, uint1_t *) in
- expr_let x220 := Z.add_with_get_carry(2^64, 0, 0, x216₁) (* : uint64_t, uint1_t *) in
- expr_let x221 := Z.add_with_get_carry(2^64, x220₂, 0, x217₁) (* : uint1_t, uint1_t *) in
- expr_let x222 := Z.add_with_get_carry(2^64, x221₂, 0, x218₁) (* : uint64_t, uint1_t *) in
- expr_let x223 := Z.add_with_get_carry(2^64, x222₂, 0, x219₁) (* : uint64_t, uint1_t *) in
- expr_let x224 := Z.add_with_get_carry(2^64, 0, 0, x220₁) (* : uint64_t, uint1_t *) in
- expr_let x225 := Z.add_with_get_carry(2^64, x224₂, 0, x221₁) (* : uint1_t, uint1_t *) in
- expr_let x226 := Z.add_with_get_carry(2^64, x225₂, 0, x222₁) (* : uint64_t, uint1_t *) in
- expr_let x227 := Z.add_with_get_carry(2^64, x226₂, 0, x223₁) (* : uint64_t, uint1_t *) in
- expr_let x228 := Z.add_with_get_carry(2^64, 0, 0, x224₁) (* : uint64_t, uint1_t *) in
- expr_let x229 := Z.add_with_get_carry(2^64, x228₂, 0, x225₁) (* : uint1_t, uint1_t *) in
- expr_let x230 := Z.add_with_get_carry(2^64, x229₂, 0, x226₁) (* : uint64_t, uint1_t *) in
- expr_let x231 := Z.add_with_get_carry(2^64, x230₂, 0, x227₁) (* : uint64_t, uint1_t *) in
- expr_let x232 := Z.add_with_get_carry(2^64, 0, 0, x228₁) (* : uint64_t, uint1_t *) in
- expr_let x233 := Z.add_with_get_carry(2^64, x232₂, 0, x229₁) (* : uint1_t, uint1_t *) in
- expr_let x234 := Z.add_with_get_carry(2^64, x233₂, 0, x230₁) (* : uint64_t, uint1_t *) in
- expr_let x235 := Z.add_with_get_carry(2^64, x234₂, 0, x231₁) (* : uint64_t, uint1_t *) in
- expr_let x236 := Z.add_with_get_carry(2^64, 0, 0, x232₁) (* : uint64_t, uint1_t *) in
- expr_let x237 := Z.add_with_get_carry(2^64, x236₂, 0, x233₁) (* : uint1_t, uint1_t *) in
- expr_let x238 := Z.add_with_get_carry(2^64, x237₂, 0, x234₁) (* : uint64_t, uint1_t *) in
- expr_let x239 := Z.add_with_get_carry(2^64, x238₂, 0, x235₁) (* : uint64_t, uint1_t *) in
- expr_let x240 := Z.add_with_get_carry(2^64, 0, 0, x236₁) (* : uint64_t, uint1_t *) in
- expr_let x241 := Z.add_with_get_carry(2^64, x240₂, 0, x237₁) (* : uint1_t, uint1_t *) in
- expr_let x242 := Z.add_with_get_carry(2^64, x241₂, 0, x238₁) (* : uint64_t, uint1_t *) in
- expr_let x243 := Z.add_with_get_carry(2^64, x242₂, 0, x239₁) (* : uint64_t, uint1_t *) in
- expr_let x244 := Z.add_with_get_carry(2^64, 0, 0, x240₁) (* : uint64_t, uint1_t *) in
- expr_let x245 := Z.add_with_get_carry(2^64, x244₂, 0, x241₁) (* : uint1_t, uint1_t *) in
- expr_let x246 := Z.add_with_get_carry(2^64, x245₂, 0, x242₁) (* : uint64_t, uint1_t *) in
- expr_let x247 := Z.add_with_get_carry(2^64, x246₂, 0, x243₁) (* : uint64_t, uint1_t *) in
- expr_let x248 := Z.add_with_get_carry(2^64, 0, 0, x244₁) (* : uint64_t, uint1_t *) in
- expr_let x249 := Z.add_with_get_carry(2^64, x248₂, 0, x245₁) (* : uint1_t, uint1_t *) in
- expr_let x250 := Z.add_with_get_carry(2^64, x249₂, 0, x246₁) (* : uint64_t, uint1_t *) in
- expr_let x251 := Z.add_with_get_carry(2^64, x250₂, 0, x247₁) (* : uint64_t, uint1_t *) in
- expr_let x252 := Z.add_with_get_carry(2^64, 0, 0, x248₁) (* : uint64_t, uint1_t *) in
- expr_let x253 := Z.add_with_get_carry(2^64, x252₂, 0, x249₁) (* : uint1_t, uint1_t *) in
- expr_let x254 := Z.add_with_get_carry(2^64, x253₂, 0, x250₁) (* : uint64_t, uint1_t *) in
- expr_let x255 := Z.add_with_get_carry(2^64, x254₂, 0, x251₁) (* : uint64_t, uint1_t *) in
- expr_let x256 := Z.add_with_get_carry(2^64, 0, 0, x252₁) (* : uint64_t, uint1_t *) in
- expr_let x257 := Z.add_with_get_carry(2^64, x256₂, 0, x253₁) (* : uint1_t, uint1_t *) in
- expr_let x258 := Z.add_with_get_carry(2^64, x257₂, 0, x254₁) (* : uint64_t, uint1_t *) in
- expr_let x259 := Z.add_with_get_carry(2^64, x258₂, 0, x255₁) (* : uint64_t, uint1_t *) in
- expr_let x260 := Z.add_with_get_carry(2^64, 0, 0, x256₁) (* : uint64_t, uint1_t *) in
- expr_let x261 := Z.add_with_get_carry(2^64, x260₂, 0, x257₁) (* : uint1_t, uint1_t *) in
- expr_let x262 := Z.add_with_get_carry(2^64, x261₂, 0, x258₁) (* : uint64_t, uint1_t *) in
- expr_let x263 := Z.add_with_get_carry(2^64, x262₂, 0, x259₁) (* : uint64_t, uint1_t *) in
- expr_let x264 := Z.add_with_get_carry(2^64, 0, 0, x260₁) (* : uint64_t, uint1_t *) in
- expr_let x265 := Z.add_with_get_carry(2^64, x264₂, (x206₁ * 1), x261₁) (* : uint64_t, uint1_t *) in
- expr_let x266 := Z.add_with_get_carry(2^64, x265₂, (x205₁ * 1), x262₁) (* : uint64_t, uint1_t *) in
- expr_let x267 := Z.add_with_get_carry(2^64, x266₂, (x204₁ * 1), x263₁) (* : uint64_t, uint1_t *) in
- expr_let x268 := Z.add_with_get_carry(2^64, (Z.add_with_get_carry(2^64, 0, x264₁, x198₁))₂, x265₁, x199₁) (* : uint64_t, uint1_t *) in
- expr_let x269 := Z.add_with_get_carry(2^64, x268₂, x266₁, x200₁) (* : uint64_t, uint1_t *) in
- expr_let x270 := Z.add_with_get_carry(2^64, x269₂, x267₁, x201₁) (* : uint64_t, uint1_t *) in
- expr_let x271 := Z.add_with_get_carry(2^64, x270₂, (Z.add_with_get_carry(2^64, x267₂, 0, (Z.add_with_get_carry(2^64, x263₂, 0, (Z.add_with_get_carry(2^64, x259₂, 0, (Z.add_with_get_carry(2^64, x255₂, 0, (Z.add_with_get_carry(2^64, x251₂, 0, (Z.add_with_get_carry(2^64, x247₂, 0, (Z.add_with_get_carry(2^64, x243₂, 0, (Z.add_with_get_carry(2^64, x239₂, 0, (Z.add_with_get_carry(2^64, x235₂, 0, (Z.add_with_get_carry(2^64, x231₂, 0, (Z.add_with_get_carry(2^64, x227₂, 0, (Z.add_with_get_carry(2^64, x223₂, 0, (Z.add_with_get_carry(2^64, x219₂, 0, (Z.add_with_get_carry(2^64, x215₂, 0, (Z.add_with_get_carry(2^64, x211₂, 0, (x204₂ * 1)))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁, x202₁) (* : uint64_t, uint1_t *) in
- expr_let x272 := Z.mul_split(2^64, x1[2], 1) (* : uint64_t, uint1_t *) in
- expr_let x273 := Z.add_with_get_carry(2^64, 0, 0, (x272₁ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x274 := Z.add_with_get_carry(2^64, x273₂, 0, (x272₂ * 1)) (* : uint1_t, uint1_t *) in
- expr_let x275 := Z.add_with_get_carry(2^64, x274₂, 0, (1 * 0)) (* : uint1_t, uint1_t *) in
- expr_let x276 := Z.add_with_get_carry(2^64, x275₂, 0, (1 * 0)) (* : uint1_t, uint1_t *) in
- expr_let x277 := Z.add_with_get_carry(2^64, 0, 0, x273₁) (* : uint64_t, uint1_t *) in
- expr_let x278 := Z.add_with_get_carry(2^64, x277₂, 0, x274₁) (* : uint1_t, uint1_t *) in
- expr_let x279 := Z.add_with_get_carry(2^64, x278₂, 0, x275₁) (* : uint1_t, uint1_t *) in
- expr_let x280 := Z.add_with_get_carry(2^64, x279₂, 0, x276₁) (* : uint1_t, uint1_t *) in
- expr_let x281 := Z.add_with_get_carry(2^64, 0, 0, x277₁) (* : uint64_t, uint1_t *) in
- expr_let x282 := Z.add_with_get_carry(2^64, x281₂, 0, x278₁) (* : uint1_t, uint1_t *) in
- expr_let x283 := Z.add_with_get_carry(2^64, x282₂, 0, x279₁) (* : uint1_t, uint1_t *) in
- expr_let x284 := Z.add_with_get_carry(2^64, x283₂, 0, x280₁) (* : uint1_t, uint1_t *) in
- expr_let x285 := Z.add_with_get_carry(2^64, 0, 0, x281₁) (* : uint64_t, uint1_t *) in
- expr_let x286 := Z.add_with_get_carry(2^64, x285₂, 0, x282₁) (* : uint1_t, uint1_t *) in
- expr_let x287 := Z.add_with_get_carry(2^64, x286₂, 0, x283₁) (* : uint1_t, uint1_t *) in
- expr_let x288 := Z.add_with_get_carry(2^64, x287₂, 0, x284₁) (* : uint1_t, uint1_t *) in
- expr_let x289 := Z.add_with_get_carry(2^64, 0, 0, x285₁) (* : uint64_t, uint1_t *) in
- expr_let x290 := Z.add_with_get_carry(2^64, x289₂, 0, x286₁) (* : uint1_t, uint1_t *) in
- expr_let x291 := Z.add_with_get_carry(2^64, x290₂, 0, x287₁) (* : uint1_t, uint1_t *) in
- expr_let x292 := Z.add_with_get_carry(2^64, x291₂, 0, x288₁) (* : uint1_t, uint1_t *) in
- expr_let x293 := Z.add_with_get_carry(2^64, 0, 0, x289₁) (* : uint64_t, uint1_t *) in
- expr_let x294 := Z.add_with_get_carry(2^64, x293₂, 0, x290₁) (* : uint1_t, uint1_t *) in
- expr_let x295 := Z.add_with_get_carry(2^64, x294₂, 0, x291₁) (* : uint1_t, uint1_t *) in
- expr_let x296 := Z.add_with_get_carry(2^64, x295₂, 0, x292₁) (* : uint1_t, uint1_t *) in
- expr_let x297 := Z.add_with_get_carry(2^64, 0, 0, x293₁) (* : uint64_t, uint1_t *) in
- expr_let x298 := Z.add_with_get_carry(2^64, x297₂, 0, x294₁) (* : uint1_t, uint1_t *) in
- expr_let x299 := Z.add_with_get_carry(2^64, x298₂, 0, x295₁) (* : uint1_t, uint1_t *) in
- expr_let x300 := Z.add_with_get_carry(2^64, x299₂, 0, x296₁) (* : uint1_t, uint1_t *) in
- expr_let x301 := Z.add_with_get_carry(2^64, 0, 0, x297₁) (* : uint64_t, uint1_t *) in
- expr_let x302 := Z.add_with_get_carry(2^64, x301₂, 0, x298₁) (* : uint1_t, uint1_t *) in
- expr_let x303 := Z.add_with_get_carry(2^64, x302₂, 0, x299₁) (* : uint1_t, uint1_t *) in
- expr_let x304 := Z.add_with_get_carry(2^64, x303₂, 0, x300₁) (* : uint1_t, uint1_t *) in
- expr_let x305 := Z.add_with_get_carry(2^64, 0, 0, x301₁) (* : uint64_t, uint1_t *) in
- expr_let x306 := Z.add_with_get_carry(2^64, x305₂, 0, x302₁) (* : uint1_t, uint1_t *) in
- expr_let x307 := Z.add_with_get_carry(2^64, x306₂, 0, x303₁) (* : uint1_t, uint1_t *) in
- expr_let x308 := Z.add_with_get_carry(2^64, x307₂, 0, x304₁) (* : uint1_t, uint1_t *) in
- expr_let x309 := Z.add_with_get_carry(2^64, 0, 0, x305₁) (* : uint64_t, uint1_t *) in
- expr_let x310 := Z.add_with_get_carry(2^64, x309₂, 0, x306₁) (* : uint1_t, uint1_t *) in
- expr_let x311 := Z.add_with_get_carry(2^64, x310₂, 0, x307₁) (* : uint1_t, uint1_t *) in
- expr_let x312 := Z.add_with_get_carry(2^64, x311₂, 0, x308₁) (* : uint1_t, uint1_t *) in
- expr_let x313 := Z.add_with_get_carry(2^64, 0, 0, x309₁) (* : uint64_t, uint1_t *) in
- expr_let x314 := Z.add_with_get_carry(2^64, x313₂, 0, x310₁) (* : uint1_t, uint1_t *) in
- expr_let x315 := Z.add_with_get_carry(2^64, x314₂, 0, x311₁) (* : uint1_t, uint1_t *) in
- expr_let x316 := Z.add_with_get_carry(2^64, x315₂, 0, x312₁) (* : uint1_t, uint1_t *) in
- expr_let x317 := Z.add_with_get_carry(2^64, 0, 0, x313₁) (* : uint64_t, uint1_t *) in
- expr_let x318 := Z.add_with_get_carry(2^64, x317₂, 0, x314₁) (* : uint1_t, uint1_t *) in
- expr_let x319 := Z.add_with_get_carry(2^64, x318₂, 0, x315₁) (* : uint1_t, uint1_t *) in
- expr_let x320 := Z.add_with_get_carry(2^64, x319₂, 0, x316₁) (* : uint1_t, uint1_t *) in
- expr_let x321 := Z.add_with_get_carry(2^64, 0, 0, x317₁) (* : uint64_t, uint1_t *) in
- expr_let x322 := Z.add_with_get_carry(2^64, x321₂, 0, x318₁) (* : uint1_t, uint1_t *) in
- expr_let x323 := Z.add_with_get_carry(2^64, x322₂, 0, x319₁) (* : uint1_t, uint1_t *) in
- expr_let x324 := Z.add_with_get_carry(2^64, x323₂, 0, x320₁) (* : uint1_t, uint1_t *) in
- expr_let x325 := Z.add_with_get_carry(2^64, 0, 0, x321₁) (* : uint64_t, uint1_t *) in
- expr_let x326 := Z.add_with_get_carry(2^64, x325₂, 0, x322₁) (* : uint1_t, uint1_t *) in
- expr_let x327 := Z.add_with_get_carry(2^64, x326₂, 0, x323₁) (* : uint1_t, uint1_t *) in
- expr_let x328 := Z.add_with_get_carry(2^64, x327₂, 0, x324₁) (* : uint1_t, uint1_t *) in
- expr_let x329 := Z.add_with_get_carry(2^64, 0, 0, x325₁) (* : uint64_t, uint1_t *) in
- expr_let x330 := Z.add_with_get_carry(2^64, x329₂, (1 * 0), x326₁) (* : uint1_t, uint1_t *) in
- expr_let x331 := Z.add_with_get_carry(2^64, x330₂, (1 * 0), x327₁) (* : uint1_t, uint1_t *) in
- expr_let x332 := Z.add_with_get_carry(2^64, x331₂, (1 * 0), x328₁) (* : uint1_t, uint1_t *) in
- expr_let x333 := Z.add_with_get_carry(2^64, 0, x329₁, x268₁) (* : uint64_t, uint1_t *) in
- expr_let x334 := Z.add_with_get_carry(2^64, x333₂, x330₁, x269₁) (* : uint64_t, uint1_t *) in
- expr_let x335 := Z.add_with_get_carry(2^64, x334₂, x331₁, x270₁) (* : uint64_t, uint1_t *) in
- expr_let x336 := Z.add_with_get_carry(2^64, x335₂, x332₁, x271₁) (* : uint64_t, uint1_t *) in
- expr_let x337 := Z.add_with_get_carry(2^64, x336₂, (Z.add_with_get_carry(2^64, x332₂, 0, (Z.add_with_get_carry(2^64, x328₂, 0, (Z.add_with_get_carry(2^64, x324₂, 0, (Z.add_with_get_carry(2^64, x320₂, 0, (Z.add_with_get_carry(2^64, x316₂, 0, (Z.add_with_get_carry(2^64, x312₂, 0, (Z.add_with_get_carry(2^64, x308₂, 0, (Z.add_with_get_carry(2^64, x304₂, 0, (Z.add_with_get_carry(2^64, x300₂, 0, (Z.add_with_get_carry(2^64, x296₂, 0, (Z.add_with_get_carry(2^64, x292₂, 0, (Z.add_with_get_carry(2^64, x288₂, 0, (Z.add_with_get_carry(2^64, x284₂, 0, (Z.add_with_get_carry(2^64, x280₂, 0, (Z.add_with_get_carry(2^64, x276₂, 0, (1 * 0)))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁, (Z.add_with_get_carry(2^64, x271₂, 0, x202₂))₁) (* : uint1_t, uint1_t *) in
- expr_let x338 := (Z.mul_split(2^64, x333₁, 2^64-1))₁ (* : uint64_t *) in
- expr_let x339 := Z.mul_split(2^64, x338, 2^32-1) (* : uint64_t, uint64_t *) in
- expr_let x340 := Z.mul_split(2^64, x338, 2^64-1) (* : uint64_t, uint64_t *) in
- expr_let x341 := Z.mul_split(2^64, x338, 0xffffffff00000000) (* : uint64_t, uint64_t *) in
- expr_let x342 := Z.mul_split(2^64, x338, 1) (* : uint64_t, uint1_t *) in
- expr_let x343 := Z.add_with_get_carry(2^64, 0, 0, (x342₁ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x344 := Z.add_with_get_carry(2^64, x343₂, 0, (x342₂ * 1)) (* : uint1_t, uint1_t *) in
- expr_let x345 := Z.add_with_get_carry(2^64, x344₂, 0, (x341₂ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x346 := Z.add_with_get_carry(2^64, x345₂, 0, (x340₂ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x347 := Z.add_with_get_carry(2^64, 0, 0, x343₁) (* : uint64_t, uint1_t *) in
- expr_let x348 := Z.add_with_get_carry(2^64, x347₂, 0, x344₁) (* : uint1_t, uint1_t *) in
- expr_let x349 := Z.add_with_get_carry(2^64, x348₂, 0, x345₁) (* : uint64_t, uint1_t *) in
- expr_let x350 := Z.add_with_get_carry(2^64, x349₂, 0, x346₁) (* : uint64_t, uint1_t *) in
- expr_let x351 := Z.add_with_get_carry(2^64, 0, 0, x347₁) (* : uint64_t, uint1_t *) in
- expr_let x352 := Z.add_with_get_carry(2^64, x351₂, 0, x348₁) (* : uint1_t, uint1_t *) in
- expr_let x353 := Z.add_with_get_carry(2^64, x352₂, 0, x349₁) (* : uint64_t, uint1_t *) in
- expr_let x354 := Z.add_with_get_carry(2^64, x353₂, 0, x350₁) (* : uint64_t, uint1_t *) in
- expr_let x355 := Z.add_with_get_carry(2^64, 0, 0, x351₁) (* : uint64_t, uint1_t *) in
- expr_let x356 := Z.add_with_get_carry(2^64, x355₂, 0, x352₁) (* : uint1_t, uint1_t *) in
- expr_let x357 := Z.add_with_get_carry(2^64, x356₂, 0, x353₁) (* : uint64_t, uint1_t *) in
- expr_let x358 := Z.add_with_get_carry(2^64, x357₂, 0, x354₁) (* : uint64_t, uint1_t *) in
- expr_let x359 := Z.add_with_get_carry(2^64, 0, 0, x355₁) (* : uint64_t, uint1_t *) in
- expr_let x360 := Z.add_with_get_carry(2^64, x359₂, 0, x356₁) (* : uint1_t, uint1_t *) in
- expr_let x361 := Z.add_with_get_carry(2^64, x360₂, 0, x357₁) (* : uint64_t, uint1_t *) in
- expr_let x362 := Z.add_with_get_carry(2^64, x361₂, 0, x358₁) (* : uint64_t, uint1_t *) in
- expr_let x363 := Z.add_with_get_carry(2^64, 0, 0, x359₁) (* : uint64_t, uint1_t *) in
- expr_let x364 := Z.add_with_get_carry(2^64, x363₂, 0, x360₁) (* : uint1_t, uint1_t *) in
- expr_let x365 := Z.add_with_get_carry(2^64, x364₂, 0, x361₁) (* : uint64_t, uint1_t *) in
- expr_let x366 := Z.add_with_get_carry(2^64, x365₂, 0, x362₁) (* : uint64_t, uint1_t *) in
- expr_let x367 := Z.add_with_get_carry(2^64, 0, 0, x363₁) (* : uint64_t, uint1_t *) in
- expr_let x368 := Z.add_with_get_carry(2^64, x367₂, 0, x364₁) (* : uint1_t, uint1_t *) in
- expr_let x369 := Z.add_with_get_carry(2^64, x368₂, 0, x365₁) (* : uint64_t, uint1_t *) in
- expr_let x370 := Z.add_with_get_carry(2^64, x369₂, 0, x366₁) (* : uint64_t, uint1_t *) in
- expr_let x371 := Z.add_with_get_carry(2^64, 0, 0, x367₁) (* : uint64_t, uint1_t *) in
- expr_let x372 := Z.add_with_get_carry(2^64, x371₂, 0, x368₁) (* : uint1_t, uint1_t *) in
- expr_let x373 := Z.add_with_get_carry(2^64, x372₂, 0, x369₁) (* : uint64_t, uint1_t *) in
- expr_let x374 := Z.add_with_get_carry(2^64, x373₂, 0, x370₁) (* : uint64_t, uint1_t *) in
- expr_let x375 := Z.add_with_get_carry(2^64, 0, 0, x371₁) (* : uint64_t, uint1_t *) in
- expr_let x376 := Z.add_with_get_carry(2^64, x375₂, 0, x372₁) (* : uint1_t, uint1_t *) in
- expr_let x377 := Z.add_with_get_carry(2^64, x376₂, 0, x373₁) (* : uint64_t, uint1_t *) in
- expr_let x378 := Z.add_with_get_carry(2^64, x377₂, 0, x374₁) (* : uint64_t, uint1_t *) in
- expr_let x379 := Z.add_with_get_carry(2^64, 0, 0, x375₁) (* : uint64_t, uint1_t *) in
- expr_let x380 := Z.add_with_get_carry(2^64, x379₂, 0, x376₁) (* : uint1_t, uint1_t *) in
- expr_let x381 := Z.add_with_get_carry(2^64, x380₂, 0, x377₁) (* : uint64_t, uint1_t *) in
- expr_let x382 := Z.add_with_get_carry(2^64, x381₂, 0, x378₁) (* : uint64_t, uint1_t *) in
- expr_let x383 := Z.add_with_get_carry(2^64, 0, 0, x379₁) (* : uint64_t, uint1_t *) in
- expr_let x384 := Z.add_with_get_carry(2^64, x383₂, 0, x380₁) (* : uint1_t, uint1_t *) in
- expr_let x385 := Z.add_with_get_carry(2^64, x384₂, 0, x381₁) (* : uint64_t, uint1_t *) in
- expr_let x386 := Z.add_with_get_carry(2^64, x385₂, 0, x382₁) (* : uint64_t, uint1_t *) in
- expr_let x387 := Z.add_with_get_carry(2^64, 0, 0, x383₁) (* : uint64_t, uint1_t *) in
- expr_let x388 := Z.add_with_get_carry(2^64, x387₂, 0, x384₁) (* : uint1_t, uint1_t *) in
- expr_let x389 := Z.add_with_get_carry(2^64, x388₂, 0, x385₁) (* : uint64_t, uint1_t *) in
- expr_let x390 := Z.add_with_get_carry(2^64, x389₂, 0, x386₁) (* : uint64_t, uint1_t *) in
- expr_let x391 := Z.add_with_get_carry(2^64, 0, 0, x387₁) (* : uint64_t, uint1_t *) in
- expr_let x392 := Z.add_with_get_carry(2^64, x391₂, 0, x388₁) (* : uint1_t, uint1_t *) in
- expr_let x393 := Z.add_with_get_carry(2^64, x392₂, 0, x389₁) (* : uint64_t, uint1_t *) in
- expr_let x394 := Z.add_with_get_carry(2^64, x393₂, 0, x390₁) (* : uint64_t, uint1_t *) in
- expr_let x395 := Z.add_with_get_carry(2^64, 0, 0, x391₁) (* : uint64_t, uint1_t *) in
- expr_let x396 := Z.add_with_get_carry(2^64, x395₂, 0, x392₁) (* : uint1_t, uint1_t *) in
- expr_let x397 := Z.add_with_get_carry(2^64, x396₂, 0, x393₁) (* : uint64_t, uint1_t *) in
- expr_let x398 := Z.add_with_get_carry(2^64, x397₂, 0, x394₁) (* : uint64_t, uint1_t *) in
- expr_let x399 := Z.add_with_get_carry(2^64, 0, 0, x395₁) (* : uint64_t, uint1_t *) in
- expr_let x400 := Z.add_with_get_carry(2^64, x399₂, (x341₁ * 1), x396₁) (* : uint64_t, uint1_t *) in
- expr_let x401 := Z.add_with_get_carry(2^64, x400₂, (x340₁ * 1), x397₁) (* : uint64_t, uint1_t *) in
- expr_let x402 := Z.add_with_get_carry(2^64, x401₂, (x339₁ * 1), x398₁) (* : uint64_t, uint1_t *) in
- expr_let x403 := Z.add_with_get_carry(2^64, (Z.add_with_get_carry(2^64, 0, x399₁, x333₁))₂, x400₁, x334₁) (* : uint64_t, uint1_t *) in
- expr_let x404 := Z.add_with_get_carry(2^64, x403₂, x401₁, x335₁) (* : uint64_t, uint1_t *) in
- expr_let x405 := Z.add_with_get_carry(2^64, x404₂, x402₁, x336₁) (* : uint64_t, uint1_t *) in
- expr_let x406 := Z.add_with_get_carry(2^64, x405₂, (Z.add_with_get_carry(2^64, x402₂, 0, (Z.add_with_get_carry(2^64, x398₂, 0, (Z.add_with_get_carry(2^64, x394₂, 0, (Z.add_with_get_carry(2^64, x390₂, 0, (Z.add_with_get_carry(2^64, x386₂, 0, (Z.add_with_get_carry(2^64, x382₂, 0, (Z.add_with_get_carry(2^64, x378₂, 0, (Z.add_with_get_carry(2^64, x374₂, 0, (Z.add_with_get_carry(2^64, x370₂, 0, (Z.add_with_get_carry(2^64, x366₂, 0, (Z.add_with_get_carry(2^64, x362₂, 0, (Z.add_with_get_carry(2^64, x358₂, 0, (Z.add_with_get_carry(2^64, x354₂, 0, (Z.add_with_get_carry(2^64, x350₂, 0, (Z.add_with_get_carry(2^64, x346₂, 0, (x339₂ * 1)))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁, x337₁) (* : uint64_t, uint1_t *) in
- expr_let x407 := Z.mul_split(2^64, x1[3], 1) (* : uint64_t, uint1_t *) in
- expr_let x408 := Z.add_with_get_carry(2^64, 0, 0, (x407₁ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x409 := Z.add_with_get_carry(2^64, x408₂, 0, (x407₂ * 1)) (* : uint1_t, uint1_t *) in
- expr_let x410 := Z.add_with_get_carry(2^64, x409₂, 0, (1 * 0)) (* : uint1_t, uint1_t *) in
- expr_let x411 := Z.add_with_get_carry(2^64, x410₂, 0, (1 * 0)) (* : uint1_t, uint1_t *) in
- expr_let x412 := Z.add_with_get_carry(2^64, 0, 0, x408₁) (* : uint64_t, uint1_t *) in
- expr_let x413 := Z.add_with_get_carry(2^64, x412₂, 0, x409₁) (* : uint1_t, uint1_t *) in
- expr_let x414 := Z.add_with_get_carry(2^64, x413₂, 0, x410₁) (* : uint1_t, uint1_t *) in
- expr_let x415 := Z.add_with_get_carry(2^64, x414₂, 0, x411₁) (* : uint1_t, uint1_t *) in
- expr_let x416 := Z.add_with_get_carry(2^64, 0, 0, x412₁) (* : uint64_t, uint1_t *) in
- expr_let x417 := Z.add_with_get_carry(2^64, x416₂, 0, x413₁) (* : uint1_t, uint1_t *) in
- expr_let x418 := Z.add_with_get_carry(2^64, x417₂, 0, x414₁) (* : uint1_t, uint1_t *) in
- expr_let x419 := Z.add_with_get_carry(2^64, x418₂, 0, x415₁) (* : uint1_t, uint1_t *) in
- expr_let x420 := Z.add_with_get_carry(2^64, 0, 0, x416₁) (* : uint64_t, uint1_t *) in
- expr_let x421 := Z.add_with_get_carry(2^64, x420₂, 0, x417₁) (* : uint1_t, uint1_t *) in
- expr_let x422 := Z.add_with_get_carry(2^64, x421₂, 0, x418₁) (* : uint1_t, uint1_t *) in
- expr_let x423 := Z.add_with_get_carry(2^64, x422₂, 0, x419₁) (* : uint1_t, uint1_t *) in
- expr_let x424 := Z.add_with_get_carry(2^64, 0, 0, x420₁) (* : uint64_t, uint1_t *) in
- expr_let x425 := Z.add_with_get_carry(2^64, x424₂, 0, x421₁) (* : uint1_t, uint1_t *) in
- expr_let x426 := Z.add_with_get_carry(2^64, x425₂, 0, x422₁) (* : uint1_t, uint1_t *) in
- expr_let x427 := Z.add_with_get_carry(2^64, x426₂, 0, x423₁) (* : uint1_t, uint1_t *) in
- expr_let x428 := Z.add_with_get_carry(2^64, 0, 0, x424₁) (* : uint64_t, uint1_t *) in
- expr_let x429 := Z.add_with_get_carry(2^64, x428₂, 0, x425₁) (* : uint1_t, uint1_t *) in
- expr_let x430 := Z.add_with_get_carry(2^64, x429₂, 0, x426₁) (* : uint1_t, uint1_t *) in
- expr_let x431 := Z.add_with_get_carry(2^64, x430₂, 0, x427₁) (* : uint1_t, uint1_t *) in
- expr_let x432 := Z.add_with_get_carry(2^64, 0, 0, x428₁) (* : uint64_t, uint1_t *) in
- expr_let x433 := Z.add_with_get_carry(2^64, x432₂, 0, x429₁) (* : uint1_t, uint1_t *) in
- expr_let x434 := Z.add_with_get_carry(2^64, x433₂, 0, x430₁) (* : uint1_t, uint1_t *) in
- expr_let x435 := Z.add_with_get_carry(2^64, x434₂, 0, x431₁) (* : uint1_t, uint1_t *) in
- expr_let x436 := Z.add_with_get_carry(2^64, 0, 0, x432₁) (* : uint64_t, uint1_t *) in
- expr_let x437 := Z.add_with_get_carry(2^64, x436₂, 0, x433₁) (* : uint1_t, uint1_t *) in
- expr_let x438 := Z.add_with_get_carry(2^64, x437₂, 0, x434₁) (* : uint1_t, uint1_t *) in
- expr_let x439 := Z.add_with_get_carry(2^64, x438₂, 0, x435₁) (* : uint1_t, uint1_t *) in
- expr_let x440 := Z.add_with_get_carry(2^64, 0, 0, x436₁) (* : uint64_t, uint1_t *) in
- expr_let x441 := Z.add_with_get_carry(2^64, x440₂, 0, x437₁) (* : uint1_t, uint1_t *) in
- expr_let x442 := Z.add_with_get_carry(2^64, x441₂, 0, x438₁) (* : uint1_t, uint1_t *) in
- expr_let x443 := Z.add_with_get_carry(2^64, x442₂, 0, x439₁) (* : uint1_t, uint1_t *) in
- expr_let x444 := Z.add_with_get_carry(2^64, 0, 0, x440₁) (* : uint64_t, uint1_t *) in
- expr_let x445 := Z.add_with_get_carry(2^64, x444₂, 0, x441₁) (* : uint1_t, uint1_t *) in
- expr_let x446 := Z.add_with_get_carry(2^64, x445₂, 0, x442₁) (* : uint1_t, uint1_t *) in
- expr_let x447 := Z.add_with_get_carry(2^64, x446₂, 0, x443₁) (* : uint1_t, uint1_t *) in
- expr_let x448 := Z.add_with_get_carry(2^64, 0, 0, x444₁) (* : uint64_t, uint1_t *) in
- expr_let x449 := Z.add_with_get_carry(2^64, x448₂, 0, x445₁) (* : uint1_t, uint1_t *) in
- expr_let x450 := Z.add_with_get_carry(2^64, x449₂, 0, x446₁) (* : uint1_t, uint1_t *) in
- expr_let x451 := Z.add_with_get_carry(2^64, x450₂, 0, x447₁) (* : uint1_t, uint1_t *) in
- expr_let x452 := Z.add_with_get_carry(2^64, 0, 0, x448₁) (* : uint64_t, uint1_t *) in
- expr_let x453 := Z.add_with_get_carry(2^64, x452₂, 0, x449₁) (* : uint1_t, uint1_t *) in
- expr_let x454 := Z.add_with_get_carry(2^64, x453₂, 0, x450₁) (* : uint1_t, uint1_t *) in
- expr_let x455 := Z.add_with_get_carry(2^64, x454₂, 0, x451₁) (* : uint1_t, uint1_t *) in
- expr_let x456 := Z.add_with_get_carry(2^64, 0, 0, x452₁) (* : uint64_t, uint1_t *) in
- expr_let x457 := Z.add_with_get_carry(2^64, x456₂, 0, x453₁) (* : uint1_t, uint1_t *) in
- expr_let x458 := Z.add_with_get_carry(2^64, x457₂, 0, x454₁) (* : uint1_t, uint1_t *) in
- expr_let x459 := Z.add_with_get_carry(2^64, x458₂, 0, x455₁) (* : uint1_t, uint1_t *) in
- expr_let x460 := Z.add_with_get_carry(2^64, 0, 0, x456₁) (* : uint64_t, uint1_t *) in
- expr_let x461 := Z.add_with_get_carry(2^64, x460₂, 0, x457₁) (* : uint1_t, uint1_t *) in
- expr_let x462 := Z.add_with_get_carry(2^64, x461₂, 0, x458₁) (* : uint1_t, uint1_t *) in
- expr_let x463 := Z.add_with_get_carry(2^64, x462₂, 0, x459₁) (* : uint1_t, uint1_t *) in
- expr_let x464 := Z.add_with_get_carry(2^64, 0, 0, x460₁) (* : uint64_t, uint1_t *) in
- expr_let x465 := Z.add_with_get_carry(2^64, x464₂, (1 * 0), x461₁) (* : uint1_t, uint1_t *) in
- expr_let x466 := Z.add_with_get_carry(2^64, x465₂, (1 * 0), x462₁) (* : uint1_t, uint1_t *) in
- expr_let x467 := Z.add_with_get_carry(2^64, x466₂, (1 * 0), x463₁) (* : uint1_t, uint1_t *) in
- expr_let x468 := Z.add_with_get_carry(2^64, 0, x464₁, x403₁) (* : uint64_t, uint1_t *) in
- expr_let x469 := Z.add_with_get_carry(2^64, x468₂, x465₁, x404₁) (* : uint64_t, uint1_t *) in
- expr_let x470 := Z.add_with_get_carry(2^64, x469₂, x466₁, x405₁) (* : uint64_t, uint1_t *) in
- expr_let x471 := Z.add_with_get_carry(2^64, x470₂, x467₁, x406₁) (* : uint64_t, uint1_t *) in
- expr_let x472 := Z.add_with_get_carry(2^64, x471₂, (Z.add_with_get_carry(2^64, x467₂, 0, (Z.add_with_get_carry(2^64, x463₂, 0, (Z.add_with_get_carry(2^64, x459₂, 0, (Z.add_with_get_carry(2^64, x455₂, 0, (Z.add_with_get_carry(2^64, x451₂, 0, (Z.add_with_get_carry(2^64, x447₂, 0, (Z.add_with_get_carry(2^64, x443₂, 0, (Z.add_with_get_carry(2^64, x439₂, 0, (Z.add_with_get_carry(2^64, x435₂, 0, (Z.add_with_get_carry(2^64, x431₂, 0, (Z.add_with_get_carry(2^64, x427₂, 0, (Z.add_with_get_carry(2^64, x423₂, 0, (Z.add_with_get_carry(2^64, x419₂, 0, (Z.add_with_get_carry(2^64, x415₂, 0, (Z.add_with_get_carry(2^64, x411₂, 0, (1 * 0)))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁, (Z.add_with_get_carry(2^64, x406₂, 0, x337₂))₁) (* : uint1_t, uint1_t *) in
- expr_let x473 := (Z.mul_split(2^64, x468₁, 2^64-1))₁ (* : uint64_t *) in
- expr_let x474 := Z.mul_split(2^64, x473, 2^32-1) (* : uint64_t, uint64_t *) in
- expr_let x475 := Z.mul_split(2^64, x473, 2^64-1) (* : uint64_t, uint64_t *) in
- expr_let x476 := Z.mul_split(2^64, x473, 0xffffffff00000000) (* : uint64_t, uint64_t *) in
- expr_let x477 := Z.mul_split(2^64, x473, 1) (* : uint64_t, uint1_t *) in
- expr_let x478 := Z.add_with_get_carry(2^64, 0, 0, (x477₁ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x479 := Z.add_with_get_carry(2^64, x478₂, 0, (x477₂ * 1)) (* : uint1_t, uint1_t *) in
- expr_let x480 := Z.add_with_get_carry(2^64, x479₂, 0, (x476₂ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x481 := Z.add_with_get_carry(2^64, x480₂, 0, (x475₂ * 1)) (* : uint64_t, uint1_t *) in
- expr_let x482 := Z.add_with_get_carry(2^64, 0, 0, x478₁) (* : uint64_t, uint1_t *) in
- expr_let x483 := Z.add_with_get_carry(2^64, x482₂, 0, x479₁) (* : uint1_t, uint1_t *) in
- expr_let x484 := Z.add_with_get_carry(2^64, x483₂, 0, x480₁) (* : uint64_t, uint1_t *) in
- expr_let x485 := Z.add_with_get_carry(2^64, x484₂, 0, x481₁) (* : uint64_t, uint1_t *) in
- expr_let x486 := Z.add_with_get_carry(2^64, 0, 0, x482₁) (* : uint64_t, uint1_t *) in
- expr_let x487 := Z.add_with_get_carry(2^64, x486₂, 0, x483₁) (* : uint1_t, uint1_t *) in
- expr_let x488 := Z.add_with_get_carry(2^64, x487₂, 0, x484₁) (* : uint64_t, uint1_t *) in
- expr_let x489 := Z.add_with_get_carry(2^64, x488₂, 0, x485₁) (* : uint64_t, uint1_t *) in
- expr_let x490 := Z.add_with_get_carry(2^64, 0, 0, x486₁) (* : uint64_t, uint1_t *) in
- expr_let x491 := Z.add_with_get_carry(2^64, x490₂, 0, x487₁) (* : uint1_t, uint1_t *) in
- expr_let x492 := Z.add_with_get_carry(2^64, x491₂, 0, x488₁) (* : uint64_t, uint1_t *) in
- expr_let x493 := Z.add_with_get_carry(2^64, x492₂, 0, x489₁) (* : uint64_t, uint1_t *) in
- expr_let x494 := Z.add_with_get_carry(2^64, 0, 0, x490₁) (* : uint64_t, uint1_t *) in
- expr_let x495 := Z.add_with_get_carry(2^64, x494₂, 0, x491₁) (* : uint1_t, uint1_t *) in
- expr_let x496 := Z.add_with_get_carry(2^64, x495₂, 0, x492₁) (* : uint64_t, uint1_t *) in
- expr_let x497 := Z.add_with_get_carry(2^64, x496₂, 0, x493₁) (* : uint64_t, uint1_t *) in
- expr_let x498 := Z.add_with_get_carry(2^64, 0, 0, x494₁) (* : uint64_t, uint1_t *) in
- expr_let x499 := Z.add_with_get_carry(2^64, x498₂, 0, x495₁) (* : uint1_t, uint1_t *) in
- expr_let x500 := Z.add_with_get_carry(2^64, x499₂, 0, x496₁) (* : uint64_t, uint1_t *) in
- expr_let x501 := Z.add_with_get_carry(2^64, x500₂, 0, x497₁) (* : uint64_t, uint1_t *) in
- expr_let x502 := Z.add_with_get_carry(2^64, 0, 0, x498₁) (* : uint64_t, uint1_t *) in
- expr_let x503 := Z.add_with_get_carry(2^64, x502₂, 0, x499₁) (* : uint1_t, uint1_t *) in
- expr_let x504 := Z.add_with_get_carry(2^64, x503₂, 0, x500₁) (* : uint64_t, uint1_t *) in
- expr_let x505 := Z.add_with_get_carry(2^64, x504₂, 0, x501₁) (* : uint64_t, uint1_t *) in
- expr_let x506 := Z.add_with_get_carry(2^64, 0, 0, x502₁) (* : uint64_t, uint1_t *) in
- expr_let x507 := Z.add_with_get_carry(2^64, x506₂, 0, x503₁) (* : uint1_t, uint1_t *) in
- expr_let x508 := Z.add_with_get_carry(2^64, x507₂, 0, x504₁) (* : uint64_t, uint1_t *) in
- expr_let x509 := Z.add_with_get_carry(2^64, x508₂, 0, x505₁) (* : uint64_t, uint1_t *) in
- expr_let x510 := Z.add_with_get_carry(2^64, 0, 0, x506₁) (* : uint64_t, uint1_t *) in
- expr_let x511 := Z.add_with_get_carry(2^64, x510₂, 0, x507₁) (* : uint1_t, uint1_t *) in
- expr_let x512 := Z.add_with_get_carry(2^64, x511₂, 0, x508₁) (* : uint64_t, uint1_t *) in
- expr_let x513 := Z.add_with_get_carry(2^64, x512₂, 0, x509₁) (* : uint64_t, uint1_t *) in
- expr_let x514 := Z.add_with_get_carry(2^64, 0, 0, x510₁) (* : uint64_t, uint1_t *) in
- expr_let x515 := Z.add_with_get_carry(2^64, x514₂, 0, x511₁) (* : uint1_t, uint1_t *) in
- expr_let x516 := Z.add_with_get_carry(2^64, x515₂, 0, x512₁) (* : uint64_t, uint1_t *) in
- expr_let x517 := Z.add_with_get_carry(2^64, x516₂, 0, x513₁) (* : uint64_t, uint1_t *) in
- expr_let x518 := Z.add_with_get_carry(2^64, 0, 0, x514₁) (* : uint64_t, uint1_t *) in
- expr_let x519 := Z.add_with_get_carry(2^64, x518₂, 0, x515₁) (* : uint1_t, uint1_t *) in
- expr_let x520 := Z.add_with_get_carry(2^64, x519₂, 0, x516₁) (* : uint64_t, uint1_t *) in
- expr_let x521 := Z.add_with_get_carry(2^64, x520₂, 0, x517₁) (* : uint64_t, uint1_t *) in
- expr_let x522 := Z.add_with_get_carry(2^64, 0, 0, x518₁) (* : uint64_t, uint1_t *) in
- expr_let x523 := Z.add_with_get_carry(2^64, x522₂, 0, x519₁) (* : uint1_t, uint1_t *) in
- expr_let x524 := Z.add_with_get_carry(2^64, x523₂, 0, x520₁) (* : uint64_t, uint1_t *) in
- expr_let x525 := Z.add_with_get_carry(2^64, x524₂, 0, x521₁) (* : uint64_t, uint1_t *) in
- expr_let x526 := Z.add_with_get_carry(2^64, 0, 0, x522₁) (* : uint64_t, uint1_t *) in
- expr_let x527 := Z.add_with_get_carry(2^64, x526₂, 0, x523₁) (* : uint1_t, uint1_t *) in
- expr_let x528 := Z.add_with_get_carry(2^64, x527₂, 0, x524₁) (* : uint64_t, uint1_t *) in
- expr_let x529 := Z.add_with_get_carry(2^64, x528₂, 0, x525₁) (* : uint64_t, uint1_t *) in
- expr_let x530 := Z.add_with_get_carry(2^64, 0, 0, x526₁) (* : uint64_t, uint1_t *) in
- expr_let x531 := Z.add_with_get_carry(2^64, x530₂, 0, x527₁) (* : uint1_t, uint1_t *) in
- expr_let x532 := Z.add_with_get_carry(2^64, x531₂, 0, x528₁) (* : uint64_t, uint1_t *) in
- expr_let x533 := Z.add_with_get_carry(2^64, x532₂, 0, x529₁) (* : uint64_t, uint1_t *) in
- expr_let x534 := Z.add_with_get_carry(2^64, 0, 0, x530₁) (* : uint64_t, uint1_t *) in
- expr_let x535 := Z.add_with_get_carry(2^64, x534₂, (x476₁ * 1), x531₁) (* : uint64_t, uint1_t *) in
- expr_let x536 := Z.add_with_get_carry(2^64, x535₂, (x475₁ * 1), x532₁) (* : uint64_t, uint1_t *) in
- expr_let x537 := Z.add_with_get_carry(2^64, x536₂, (x474₁ * 1), x533₁) (* : uint64_t, uint1_t *) in
- expr_let x538 := Z.add_with_get_carry(2^64, (Z.add_with_get_carry(2^64, 0, x534₁, x468₁))₂, x535₁, x469₁) (* : uint64_t, uint1_t *) in
- expr_let x539 := Z.add_with_get_carry(2^64, x538₂, x536₁, x470₁) (* : uint64_t, uint1_t *) in
- expr_let x540 := Z.add_with_get_carry(2^64, x539₂, x537₁, x471₁) (* : uint64_t, uint1_t *) in
- expr_let x541 := Z.add_with_get_carry(2^64, x540₂, (Z.add_with_get_carry(2^64, x537₂, 0, (Z.add_with_get_carry(2^64, x533₂, 0, (Z.add_with_get_carry(2^64, x529₂, 0, (Z.add_with_get_carry(2^64, x525₂, 0, (Z.add_with_get_carry(2^64, x521₂, 0, (Z.add_with_get_carry(2^64, x517₂, 0, (Z.add_with_get_carry(2^64, x513₂, 0, (Z.add_with_get_carry(2^64, x509₂, 0, (Z.add_with_get_carry(2^64, x505₂, 0, (Z.add_with_get_carry(2^64, x501₂, 0, (Z.add_with_get_carry(2^64, x497₂, 0, (Z.add_with_get_carry(2^64, x493₂, 0, (Z.add_with_get_carry(2^64, x489₂, 0, (Z.add_with_get_carry(2^64, x485₂, 0, (Z.add_with_get_carry(2^64, x481₂, 0, (x474₂ * 1)))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁))₁, x472₁) (* : uint64_t, uint1_t *) in
- expr_let x542 := Z.add_with_get_carry(2^64, 0, -1, x538₁) (* : uint64_t, int1_t *) in
- expr_let x543 := Z.add_with_get_carry(2^64, x542₂, -0xffffffff00000000, x539₁) (* : uint64_t, int1_t *) in
- expr_let x544 := Z.add_with_get_carry(2^64, x543₂, -(2^64-1), x540₁) (* : uint64_t, int1_t *) in
- expr_let x545 := Z.add_with_get_carry(2^64, x544₂, -(2^32-1), x541₁) (* : uint64_t, int1_t *) in
- expr_let x546 := Z.add_with_get_carry(2^64, x545₂, 0, (Z.add_with_get_carry(2^64, x541₂, 0, x472₂))₁) (* : uint64_t, int1_t *) in
- expr_let x547 := Z.zselect((-x546₂), x542₁, x538₁) (* : uint64_t *) in
- expr_let x548 := Z.zselect((-x546₂), x543₁, x539₁) (* : uint64_t *) in
- expr_let x549 := Z.zselect((-x546₂), x544₁, x540₁) (* : uint64_t *) in
- expr_let x550 := Z.zselect((-x546₂), x545₁, x541₁) (* : uint64_t *) in
- x547 :: x548 :: x549 :: x550 :: []
-)
-Error in converting fiat_p224_from_montgomery to C:
-Invalid identifier in arithmetic expression Z.add_with_get_carry
+/*
+ * 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;
+}