aboutsummaryrefslogtreecommitdiff
path: root/src/Specific/solinas32_2e448m2e224m1_16limbs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Specific/solinas32_2e448m2e224m1_16limbs')
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e448m2e224m1_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e448m2e224m1_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/feadd.c51
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/femul.c145
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/femulDisplay.log101
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/fesquare.c129
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/fesquareDisplay.log101
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/fesub.c51
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/freeze.c84
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/freezeDisplay.log56
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_16limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e448m2e224m1_16limbs/py_interpreter.sh4
27 files changed, 0 insertions, 900 deletions
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/CurveParameters.v b/src/Specific/solinas32_2e448m2e224m1_16limbs/CurveParameters.v
deleted file mode 100644
index 7588e5dd1..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^448 - 2^224 - 1
-Base: 28
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 28;
- bitwidth := 32;
- s := 2^448;
- c := [(1, 1); (2^224, 1)];
- carry_chains := Some [[7; 15]; [8; 0; 9; 1; 10; 2; 11; 3; 12; 4; 13; 5; 14; 6; 15; 7]; [8; 0]]%nat;
-
- a24 := None;
- coef_div_modulus := Some 2%nat;
-
- goldilocks := Some true;
- karatsuba := None;
- montgomery := false;
- freeze := Some true;
- ladderstep := false;
-
- mul_code := None;
-
- square_code := None;
-
- upper_bound_of_exponent_loose := None;
- upper_bound_of_exponent_tight := None;
- allowable_bit_widths := None;
- freeze_extra_allowable_bit_widths := None;
- modinv_fuel := None
- |}.
-
-Ltac extra_prove_mul_eq _ := idtac.
-Ltac extra_prove_square_eq _ := idtac.
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/Synthesis.v b/src/Specific/solinas32_2e448m2e224m1_16limbs/Synthesis.v
deleted file mode 100644
index 5dfd986ec..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_16limbs.CurveParameters.
-
-Module P <: PrePackage.
- Definition package : Tag.Context.
- Proof. make_Synthesis_package curve extra_prove_mul_eq extra_prove_square_eq. Defined.
-End P.
-
-Module Export S := PackageSynthesis P.
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/compiler.sh b/src/Specific/solinas32_2e448m2e224m1_16limbs/compiler.sh
deleted file mode 100755
index f8fa55db3..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/compiler.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-clang -fbracket-depth=999999 -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fuse-ld=lld -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Da24_hex='0x3039' -Da24_val='12345' -Da_minus_two_over_four_array='{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1' "$@"
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/compilerxx.sh b/src/Specific/solinas32_2e448m2e224m1_16limbs/compilerxx.sh
deleted file mode 100755
index cdb94d367..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/compilerxx.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-clang++ -fbracket-depth=999999 -march=native -mbmi2 -mtune=native -std=gnu++11 -O3 -flto -fuse-ld=lld -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Da24_hex='0x3039' -Da24_val='12345' -Da_minus_two_over_four_array='{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1' "$@"
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/feadd.c b/src/Specific/solinas32_2e448m2e224m1_16limbs/feadd.c
deleted file mode 100644
index 18b150e21..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/feadd.c
+++ /dev/null
@@ -1,51 +0,0 @@
-static void feadd(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
- { const uint32_t x32 = in1[15];
- { const uint32_t x33 = in1[14];
- { const uint32_t x31 = in1[13];
- { const uint32_t x29 = in1[12];
- { const uint32_t x27 = in1[11];
- { const uint32_t x25 = in1[10];
- { const uint32_t x23 = in1[9];
- { const uint32_t x21 = in1[8];
- { const uint32_t x19 = in1[7];
- { const uint32_t x17 = in1[6];
- { const uint32_t x15 = in1[5];
- { const uint32_t x13 = in1[4];
- { const uint32_t x11 = in1[3];
- { const uint32_t x9 = in1[2];
- { const uint32_t x7 = in1[1];
- { const uint32_t x5 = in1[0];
- { const uint32_t x62 = in2[15];
- { const uint32_t x63 = in2[14];
- { const uint32_t x61 = in2[13];
- { const uint32_t x59 = in2[12];
- { const uint32_t x57 = in2[11];
- { const uint32_t x55 = in2[10];
- { const uint32_t x53 = in2[9];
- { const uint32_t x51 = in2[8];
- { const uint32_t x49 = in2[7];
- { const uint32_t x47 = in2[6];
- { const uint32_t x45 = in2[5];
- { const uint32_t x43 = in2[4];
- { const uint32_t x41 = in2[3];
- { const uint32_t x39 = in2[2];
- { const uint32_t x37 = in2[1];
- { const uint32_t x35 = in2[0];
- out[0] = (x5 + x35);
- out[1] = (x7 + x37);
- out[2] = (x9 + x39);
- out[3] = (x11 + x41);
- out[4] = (x13 + x43);
- out[5] = (x15 + x45);
- out[6] = (x17 + x47);
- out[7] = (x19 + x49);
- out[8] = (x21 + x51);
- out[9] = (x23 + x53);
- out[10] = (x25 + x55);
- out[11] = (x27 + x57);
- out[12] = (x29 + x59);
- out[13] = (x31 + x61);
- out[14] = (x33 + x63);
- out[15] = (x32 + x62);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/feadd.v b/src/Specific/solinas32_2e448m2e224m1_16limbs/feadd.v
deleted file mode 100644
index f122d3754..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_tight -> feBW_tight -> feBW_loose
- | forall a b, phiBW_loose (add a b) = F.add (phiBW_tight a) (phiBW_tight b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/feaddDisplay.log b/src/Specific/solinas32_2e448m2e224m1_16limbs/feaddDisplay.log
deleted file mode 100644
index 130c31964..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
- ((x32 + x62), (x33 + x63), (x31 + x61), (x29 + x59), (x27 + x57), (x25 + x55), (x23 + x53), (x21 + x51), (x19 + x49), (x17 + x47), (x15 + x45), (x13 + x43), (x11 + x41), (x9 + x39), (x7 + x37), (x5 + x35)))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/feaddDisplay.v b/src/Specific/solinas32_2e448m2e224m1_16limbs/feaddDisplay.v
deleted file mode 100644
index 43ca23445..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/fecarry.v b/src/Specific/solinas32_2e448m2e224m1_16limbs/fecarry.v
deleted file mode 100644
index 39944ae90..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition carry :
- { carry : feBW_loose -> feBW_tight
- | forall a, phiBW_tight (carry a) = (phiBW_loose a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_carry ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions carry.
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/fecarryDisplay.v b/src/Specific/solinas32_2e448m2e224m1_16limbs/fecarryDisplay.v
deleted file mode 100644
index 037cd096b..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_16limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/femul.c b/src/Specific/solinas32_2e448m2e224m1_16limbs/femul.c
deleted file mode 100644
index 309e7b417..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/femul.c
+++ /dev/null
@@ -1,145 +0,0 @@
-static void femul(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
- { const uint32_t x32 = in1[15];
- { const uint32_t x33 = in1[14];
- { const uint32_t x31 = in1[13];
- { const uint32_t x29 = in1[12];
- { const uint32_t x27 = in1[11];
- { const uint32_t x25 = in1[10];
- { const uint32_t x23 = in1[9];
- { const uint32_t x21 = in1[8];
- { const uint32_t x19 = in1[7];
- { const uint32_t x17 = in1[6];
- { const uint32_t x15 = in1[5];
- { const uint32_t x13 = in1[4];
- { const uint32_t x11 = in1[3];
- { const uint32_t x9 = in1[2];
- { const uint32_t x7 = in1[1];
- { const uint32_t x5 = in1[0];
- { const uint32_t x62 = in2[15];
- { const uint32_t x63 = in2[14];
- { const uint32_t x61 = in2[13];
- { const uint32_t x59 = in2[12];
- { const uint32_t x57 = in2[11];
- { const uint32_t x55 = in2[10];
- { const uint32_t x53 = in2[9];
- { const uint32_t x51 = in2[8];
- { const uint32_t x49 = in2[7];
- { const uint32_t x47 = in2[6];
- { const uint32_t x45 = in2[5];
- { const uint32_t x43 = in2[4];
- { const uint32_t x41 = in2[3];
- { const uint32_t x39 = in2[2];
- { const uint32_t x37 = in2[1];
- { const uint32_t x35 = in2[0];
- { uint64_t x64 = (((uint64_t)(x19 + x32) * (x49 + x62)) - ((uint64_t)x19 * x49));
- { uint64_t x65 = ((((uint64_t)(x17 + x33) * (x49 + x62)) + ((uint64_t)(x19 + x32) * (x47 + x63))) - (((uint64_t)x17 * x49) + ((uint64_t)x19 * x47)));
- { uint64_t x66 = ((((uint64_t)(x15 + x31) * (x49 + x62)) + (((uint64_t)(x17 + x33) * (x47 + x63)) + ((uint64_t)(x19 + x32) * (x45 + x61)))) - (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + ((uint64_t)x19 * x45))));
- { uint64_t x67 = ((((uint64_t)(x13 + x29) * (x49 + x62)) + (((uint64_t)(x15 + x31) * (x47 + x63)) + (((uint64_t)(x17 + x33) * (x45 + x61)) + ((uint64_t)(x19 + x32) * (x43 + x59))))) - (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + ((uint64_t)x19 * x43)))));
- { uint64_t x68 = ((((uint64_t)(x11 + x27) * (x49 + x62)) + (((uint64_t)(x13 + x29) * (x47 + x63)) + (((uint64_t)(x15 + x31) * (x45 + x61)) + (((uint64_t)(x17 + x33) * (x43 + x59)) + ((uint64_t)(x19 + x32) * (x41 + x57)))))) - (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((uint64_t)x19 * x41))))));
- { uint64_t x69 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x9 + x25) * (x49 + x62)) +ℤ (((uint64_t)(x11 + x27) * (x47 + x63)) + (((uint64_t)(x13 + x29) * (x45 + x61)) + (((uint64_t)(x15 + x31) * (x43 + x59)) + (((uint64_t)(x17 + x33) * (x41 + x57)) + ((uint64_t)(x19 + x32) * (x39 + x55))))))) -ℤ (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39))))))), (((((uint64_t)x9 * x62) + (((uint64_t)x11 * x63) + (((uint64_t)x13 * x61) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + ((uint64_t)x19 * x55)))))) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + (((uint64_t)x29 * x45) + (((uint64_t)x31 * x43) + (((uint64_t)x33 * x41) + ((uint64_t)x32 * x39))))))) + (((uint64_t)x25 * x62) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + ((uint64_t)x32 * x55))))))));
- { uint64_t x70 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x7 + x23) * (x49 + x62)) +ℤ (((uint64_t)(x9 + x25) * (x47 + x63)) +ℤ (((uint64_t)(x11 + x27) * (x45 + x61)) + (((uint64_t)(x13 + x29) * (x43 + x59)) + (((uint64_t)(x15 + x31) * (x41 + x57)) + (((uint64_t)(x17 + x33) * (x39 + x55)) + ((uint64_t)(x19 + x32) * (x37 + x53)))))))) -ℤ (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + ((uint64_t)x19 * x37)))))))), (((((uint64_t)x7 * x62) + (((uint64_t)x9 * x63) + (((uint64_t)x11 * x61) + (((uint64_t)x13 * x59) + (((uint64_t)x15 * x57) + (((uint64_t)x17 * x55) + ((uint64_t)x19 * x53))))))) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + (((uint64_t)x31 * x41) + (((uint64_t)x33 * x39) + ((uint64_t)x32 * x37)))))))) + (((uint64_t)x23 * x62) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + ((uint64_t)x32 * x53)))))))));
- { ℤ x71 = Op (Syntax.IdWithAlt Syntax.TZ Syntax.TZ Syntax.TZ) (((((uint64_t)(x5 + x21) * (x49 + x62)) +ℤ (((uint64_t)(x7 + x23) * (x47 + x63)) +ℤ (((uint64_t)(x9 + x25) * (x45 + x61)) +ℤ (((uint64_t)(x11 + x27) * (x43 + x59)) + (((uint64_t)(x13 + x29) * (x41 + x57)) + (((uint64_t)(x15 + x31) * (x39 + x55)) + (((uint64_t)(x17 + x33) * (x37 + x53)) + ((uint64_t)(x19 + x32) * (x35 + x51))))))))) -ℤ (((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + ((uint64_t)x19 * x35))))))))), (((((uint64_t)x5 * x62) + (((uint64_t)x7 * x63) + (((uint64_t)x9 * x61) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((uint64_t)x19 * x51)))))))) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (((uint64_t)x29 * x41) + (((uint64_t)x31 * x39) + (((uint64_t)x33 * x37) + ((uint64_t)x32 * x35))))))))) +ℤ (((uint64_t)x21 * x62) + (((uint64_t)x23 * x63) + (((uint64_t)x25 * x61) + (((uint64_t)x27 * x59) + (((uint64_t)x29 * x57) + (((uint64_t)x31 * x55) + (((uint64_t)x33 * x53) + ((uint64_t)x32 * x51))))))))));
- { uint64_t x72 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x5 + x21) * (x47 + x63)) +ℤ (((uint64_t)(x7 + x23) * (x45 + x61)) +ℤ (((uint64_t)(x9 + x25) * (x43 + x59)) + (((uint64_t)(x11 + x27) * (x41 + x57)) + (((uint64_t)(x13 + x29) * (x39 + x55)) + (((uint64_t)(x15 + x31) * (x37 + x53)) + ((uint64_t)(x17 + x33) * (x35 + x51)))))))) -ℤ (((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((uint64_t)x17 * x35)))))))), (((((uint64_t)x5 * x63) + (((uint64_t)x7 * x61) + (((uint64_t)x9 * x59) + (((uint64_t)x11 * x57) + (((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + ((uint64_t)x17 * x51))))))) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + (((uint64_t)x29 * x39) + (((uint64_t)x31 * x37) + ((uint64_t)x33 * x35)))))))) + (((uint64_t)x21 * x63) + (((uint64_t)x23 * x61) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + ((uint64_t)x33 * x51)))))))));
- { uint64_t x73 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x5 + x21) * (x45 + x61)) +ℤ (((uint64_t)(x7 + x23) * (x43 + x59)) + (((uint64_t)(x9 + x25) * (x41 + x57)) + (((uint64_t)(x11 + x27) * (x39 + x55)) + (((uint64_t)(x13 + x29) * (x37 + x53)) + ((uint64_t)(x15 + x31) * (x35 + x51))))))) -ℤ (((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35))))))), (((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + ((uint64_t)x15 * x51)))))) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x31 * x35))))))) + (((uint64_t)x21 * x61) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + ((uint64_t)x31 * x51))))))));
- { uint64_t x74 = ((((uint64_t)(x5 + x21) * (x43 + x59)) + (((uint64_t)(x7 + x23) * (x41 + x57)) + (((uint64_t)(x9 + x25) * (x39 + x55)) + (((uint64_t)(x11 + x27) * (x37 + x53)) + ((uint64_t)(x13 + x29) * (x35 + x51)))))) - (((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))));
- { uint64_t x75 = ((((uint64_t)(x5 + x21) * (x41 + x57)) + (((uint64_t)(x7 + x23) * (x39 + x55)) + (((uint64_t)(x9 + x25) * (x37 + x53)) + ((uint64_t)(x11 + x27) * (x35 + x51))))) - (((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))));
- { uint64_t x76 = ((((uint64_t)(x5 + x21) * (x39 + x55)) + (((uint64_t)(x7 + x23) * (x37 + x53)) + ((uint64_t)(x9 + x25) * (x35 + x51)))) - (((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))));
- { uint64_t x77 = ((((uint64_t)(x5 + x21) * (x37 + x53)) + ((uint64_t)(x7 + x23) * (x35 + x51))) - (((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)));
- { uint64_t x78 = (((uint64_t)(x5 + x21) * (x35 + x51)) - ((uint64_t)x5 * x35));
- { ℤ x79 = (((((uint64_t)x19 * x49) + ((uint64_t)x32 * x62)) +ℤ x72) +ℤ x64);
- { ℤ x80 = ((((((uint64_t)x17 * x49) + ((uint64_t)x19 * x47)) + (((uint64_t)x33 * x62) + ((uint64_t)x32 * x63))) + x73) +ℤ x65);
- { ℤ x81 = ((((((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + ((uint64_t)x19 * x45))) + (((uint64_t)x31 * x62) + (((uint64_t)x33 * x63) + ((uint64_t)x32 * x61)))) + x74) +ℤ x66);
- { ℤ x82 = ((((((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + ((uint64_t)x19 * x43)))) + (((uint64_t)x29 * x62) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + ((uint64_t)x32 * x59))))) + x75) +ℤ x67);
- { ℤ x83 = ((((((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((uint64_t)x19 * x41))))) + (((uint64_t)x27 * x62) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + ((uint64_t)x32 * x57)))))) + x76) +ℤ x68);
- { ℤ x84 = ((((((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39)))))) + (((uint64_t)x25 * x62) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + ((uint64_t)x32 * x55))))))) + x77) +ℤ x69);
- { ℤ x85 = ((((((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + ((uint64_t)x19 * x37))))))) + (((uint64_t)x23 * x62) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + ((uint64_t)x32 * x53)))))))) + x78) +ℤ x70);
- { uint64_t x86 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + ((uint64_t)x19 * x35)))))))) + (((uint64_t)x21 * x62) + (((uint64_t)x23 * x63) + (((uint64_t)x25 * x61) + (((uint64_t)x27 * x59) + (((uint64_t)x29 * x57) + (((uint64_t)x31 * x55) + (((uint64_t)x33 * x53) + ((uint64_t)x32 * x51)))))))));
- { uint64_t x87 = (((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((uint64_t)x17 * x35))))))) + (((uint64_t)x21 * x63) + (((uint64_t)x23 * x61) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + ((uint64_t)x33 * x51)))))))) + x64);
- { uint64_t x88 = (((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35)))))) + (((uint64_t)x21 * x61) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + ((uint64_t)x31 * x51))))))) + x65);
- { uint64_t x89 = (((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((uint64_t)x29 * x51)))))) + x66);
- { uint64_t x90 = (((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + ((uint64_t)x27 * x51))))) + x67);
- { uint64_t x91 = (((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + ((uint64_t)x25 * x51)))) + x68);
- { uint64_t x92 = (((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (((uint64_t)x21 * x53) + ((uint64_t)x23 * x51))) + x69);
- { ℤ x93 = ((((uint64_t)x5 * x35) + ((uint64_t)x21 * x51)) +ℤ x70);
- { uint64_t x94 = (x86 >> 0x1c);
- { uint32_t x95 = ((uint32_t)x86 & 0xfffffff);
- { uint64_t x96 = (x71 >> 0x1c);
- { uint32_t x97 = (x71 & 0xfffffff);
- { ℤ x98 = ((0x10000000 *ℤ x96) +ℤ x97);
- { uint64_t x99 = (x98 >> 0x1c);
- { uint32_t x100 = (x98 & 0xfffffff);
- { ℤ x101 = ((x94 +ℤ x85) +ℤ x99);
- { uint64_t x102 = (x101 >> 0x1c);
- { uint32_t x103 = (x101 & 0xfffffff);
- { ℤ x104 = (x93 +ℤ x99);
- { uint64_t x105 = (x104 >> 0x1c);
- { uint32_t x106 = (x104 & 0xfffffff);
- { ℤ x107 = (x102 +ℤ x84);
- { uint64_t x108 = (x107 >> 0x1c);
- { uint32_t x109 = (x107 & 0xfffffff);
- { uint64_t x110 = (x105 + x92);
- { uint64_t x111 = (x110 >> 0x1c);
- { uint32_t x112 = ((uint32_t)x110 & 0xfffffff);
- { ℤ x113 = (x108 +ℤ x83);
- { uint64_t x114 = (x113 >> 0x1c);
- { uint32_t x115 = (x113 & 0xfffffff);
- { uint64_t x116 = (x111 + x91);
- { uint64_t x117 = (x116 >> 0x1c);
- { uint32_t x118 = ((uint32_t)x116 & 0xfffffff);
- { ℤ x119 = (x114 +ℤ x82);
- { uint64_t x120 = (x119 >> 0x1c);
- { uint32_t x121 = (x119 & 0xfffffff);
- { uint64_t x122 = (x117 + x90);
- { uint64_t x123 = (x122 >> 0x1c);
- { uint32_t x124 = ((uint32_t)x122 & 0xfffffff);
- { ℤ x125 = (x120 +ℤ x81);
- { uint64_t x126 = (x125 >> 0x1c);
- { uint32_t x127 = (x125 & 0xfffffff);
- { uint64_t x128 = (x123 + x89);
- { uint64_t x129 = (x128 >> 0x1c);
- { uint32_t x130 = ((uint32_t)x128 & 0xfffffff);
- { ℤ x131 = (x126 +ℤ x80);
- { uint64_t x132 = (x131 >> 0x1c);
- { uint32_t x133 = (x131 & 0xfffffff);
- { uint64_t x134 = (x129 + x88);
- { uint64_t x135 = (x134 >> 0x1c);
- { uint32_t x136 = ((uint32_t)x134 & 0xfffffff);
- { ℤ x137 = (x132 +ℤ x79);
- { uint64_t x138 = (x137 >> 0x1c);
- { uint32_t x139 = (x137 & 0xfffffff);
- { uint64_t x140 = (x135 + x87);
- { uint64_t x141 = (x140 >> 0x1c);
- { uint32_t x142 = ((uint32_t)x140 & 0xfffffff);
- { uint64_t x143 = (x138 + x100);
- { uint32_t x144 = (uint32_t) (x143 >> 0x1c);
- { uint32_t x145 = ((uint32_t)x143 & 0xfffffff);
- { uint64_t x146 = (x141 + x95);
- { uint32_t x147 = (uint32_t) (x146 >> 0x1c);
- { uint32_t x148 = ((uint32_t)x146 & 0xfffffff);
- { uint64_t x149 = (((uint64_t)0x10000000 * x144) + x145);
- { uint32_t x150 = (uint32_t) (x149 >> 0x1c);
- { uint32_t x151 = ((uint32_t)x149 & 0xfffffff);
- { uint32_t x152 = ((x147 + x103) + x150);
- { uint32_t x153 = (x152 >> 0x1c);
- { uint32_t x154 = (x152 & 0xfffffff);
- { uint32_t x155 = (x106 + x150);
- { uint32_t x156 = (x155 >> 0x1c);
- { uint32_t x157 = (x155 & 0xfffffff);
- out[0] = x157;
- out[1] = (x156 + x112);
- out[2] = x118;
- out[3] = x124;
- out[4] = x130;
- out[5] = x136;
- out[6] = x142;
- out[7] = x148;
- out[8] = x154;
- out[9] = (x153 + x109);
- out[10] = x115;
- out[11] = x121;
- out[12] = x127;
- out[13] = x133;
- out[14] = x139;
- out[15] = x151;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/femul.v b/src/Specific/solinas32_2e448m2e224m1_16limbs/femul.v
deleted file mode 100644
index 8f2843ccf..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_loose -> feBW_loose -> feBW_tight
- | forall a b, phiBW_tight (mul a b) = F.mul (phiBW_loose a) (phiBW_loose b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/femulDisplay.log b/src/Specific/solinas32_2e448m2e224m1_16limbs/femulDisplay.log
deleted file mode 100644
index f2ea9e588..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/femulDisplay.log
+++ /dev/null
@@ -1,101 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
- uint64_t x64 = (((uint64_t)(x19 + x32) * (x49 + x62)) - ((uint64_t)x19 * x49));
- uint64_t x65 = ((((uint64_t)(x17 + x33) * (x49 + x62)) + ((uint64_t)(x19 + x32) * (x47 + x63))) - (((uint64_t)x17 * x49) + ((uint64_t)x19 * x47)));
- uint64_t x66 = ((((uint64_t)(x15 + x31) * (x49 + x62)) + (((uint64_t)(x17 + x33) * (x47 + x63)) + ((uint64_t)(x19 + x32) * (x45 + x61)))) - (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + ((uint64_t)x19 * x45))));
- uint64_t x67 = ((((uint64_t)(x13 + x29) * (x49 + x62)) + (((uint64_t)(x15 + x31) * (x47 + x63)) + (((uint64_t)(x17 + x33) * (x45 + x61)) + ((uint64_t)(x19 + x32) * (x43 + x59))))) - (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + ((uint64_t)x19 * x43)))));
- uint64_t x68 = ((((uint64_t)(x11 + x27) * (x49 + x62)) + (((uint64_t)(x13 + x29) * (x47 + x63)) + (((uint64_t)(x15 + x31) * (x45 + x61)) + (((uint64_t)(x17 + x33) * (x43 + x59)) + ((uint64_t)(x19 + x32) * (x41 + x57)))))) - (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((uint64_t)x19 * x41))))));
- uint64_t x69 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x9 + x25) * (x49 + x62)) +ℤ (((uint64_t)(x11 + x27) * (x47 + x63)) + (((uint64_t)(x13 + x29) * (x45 + x61)) + (((uint64_t)(x15 + x31) * (x43 + x59)) + (((uint64_t)(x17 + x33) * (x41 + x57)) + ((uint64_t)(x19 + x32) * (x39 + x55))))))) -ℤ (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39))))))), (((((uint64_t)x9 * x62) + (((uint64_t)x11 * x63) + (((uint64_t)x13 * x61) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + ((uint64_t)x19 * x55)))))) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + (((uint64_t)x29 * x45) + (((uint64_t)x31 * x43) + (((uint64_t)x33 * x41) + ((uint64_t)x32 * x39))))))) + (((uint64_t)x25 * x62) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + ((uint64_t)x32 * x55))))))));
- uint64_t x70 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x7 + x23) * (x49 + x62)) +ℤ (((uint64_t)(x9 + x25) * (x47 + x63)) +ℤ (((uint64_t)(x11 + x27) * (x45 + x61)) + (((uint64_t)(x13 + x29) * (x43 + x59)) + (((uint64_t)(x15 + x31) * (x41 + x57)) + (((uint64_t)(x17 + x33) * (x39 + x55)) + ((uint64_t)(x19 + x32) * (x37 + x53)))))))) -ℤ (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + ((uint64_t)x19 * x37)))))))), (((((uint64_t)x7 * x62) + (((uint64_t)x9 * x63) + (((uint64_t)x11 * x61) + (((uint64_t)x13 * x59) + (((uint64_t)x15 * x57) + (((uint64_t)x17 * x55) + ((uint64_t)x19 * x53))))))) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + (((uint64_t)x31 * x41) + (((uint64_t)x33 * x39) + ((uint64_t)x32 * x37)))))))) + (((uint64_t)x23 * x62) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + ((uint64_t)x32 * x53)))))))));
- ℤ x71 = Op (Syntax.IdWithAlt Syntax.TZ Syntax.TZ Syntax.TZ) (((((uint64_t)(x5 + x21) * (x49 + x62)) +ℤ (((uint64_t)(x7 + x23) * (x47 + x63)) +ℤ (((uint64_t)(x9 + x25) * (x45 + x61)) +ℤ (((uint64_t)(x11 + x27) * (x43 + x59)) + (((uint64_t)(x13 + x29) * (x41 + x57)) + (((uint64_t)(x15 + x31) * (x39 + x55)) + (((uint64_t)(x17 + x33) * (x37 + x53)) + ((uint64_t)(x19 + x32) * (x35 + x51))))))))) -ℤ (((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + ((uint64_t)x19 * x35))))))))), (((((uint64_t)x5 * x62) + (((uint64_t)x7 * x63) + (((uint64_t)x9 * x61) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((uint64_t)x19 * x51)))))))) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (((uint64_t)x29 * x41) + (((uint64_t)x31 * x39) + (((uint64_t)x33 * x37) + ((uint64_t)x32 * x35))))))))) +ℤ (((uint64_t)x21 * x62) + (((uint64_t)x23 * x63) + (((uint64_t)x25 * x61) + (((uint64_t)x27 * x59) + (((uint64_t)x29 * x57) + (((uint64_t)x31 * x55) + (((uint64_t)x33 * x53) + ((uint64_t)x32 * x51))))))))));
- uint64_t x72 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x5 + x21) * (x47 + x63)) +ℤ (((uint64_t)(x7 + x23) * (x45 + x61)) +ℤ (((uint64_t)(x9 + x25) * (x43 + x59)) + (((uint64_t)(x11 + x27) * (x41 + x57)) + (((uint64_t)(x13 + x29) * (x39 + x55)) + (((uint64_t)(x15 + x31) * (x37 + x53)) + ((uint64_t)(x17 + x33) * (x35 + x51)))))))) -ℤ (((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((uint64_t)x17 * x35)))))))), (((((uint64_t)x5 * x63) + (((uint64_t)x7 * x61) + (((uint64_t)x9 * x59) + (((uint64_t)x11 * x57) + (((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + ((uint64_t)x17 * x51))))))) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + (((uint64_t)x29 * x39) + (((uint64_t)x31 * x37) + ((uint64_t)x33 * x35)))))))) + (((uint64_t)x21 * x63) + (((uint64_t)x23 * x61) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + ((uint64_t)x33 * x51)))))))));
- uint64_t x73 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x5 + x21) * (x45 + x61)) +ℤ (((uint64_t)(x7 + x23) * (x43 + x59)) + (((uint64_t)(x9 + x25) * (x41 + x57)) + (((uint64_t)(x11 + x27) * (x39 + x55)) + (((uint64_t)(x13 + x29) * (x37 + x53)) + ((uint64_t)(x15 + x31) * (x35 + x51))))))) -ℤ (((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35))))))), (((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + ((uint64_t)x15 * x51)))))) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x31 * x35))))))) + (((uint64_t)x21 * x61) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + ((uint64_t)x31 * x51))))))));
- uint64_t x74 = ((((uint64_t)(x5 + x21) * (x43 + x59)) + (((uint64_t)(x7 + x23) * (x41 + x57)) + (((uint64_t)(x9 + x25) * (x39 + x55)) + (((uint64_t)(x11 + x27) * (x37 + x53)) + ((uint64_t)(x13 + x29) * (x35 + x51)))))) - (((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))));
- uint64_t x75 = ((((uint64_t)(x5 + x21) * (x41 + x57)) + (((uint64_t)(x7 + x23) * (x39 + x55)) + (((uint64_t)(x9 + x25) * (x37 + x53)) + ((uint64_t)(x11 + x27) * (x35 + x51))))) - (((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))));
- uint64_t x76 = ((((uint64_t)(x5 + x21) * (x39 + x55)) + (((uint64_t)(x7 + x23) * (x37 + x53)) + ((uint64_t)(x9 + x25) * (x35 + x51)))) - (((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))));
- uint64_t x77 = ((((uint64_t)(x5 + x21) * (x37 + x53)) + ((uint64_t)(x7 + x23) * (x35 + x51))) - (((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)));
- uint64_t x78 = (((uint64_t)(x5 + x21) * (x35 + x51)) - ((uint64_t)x5 * x35));
- ℤ x79 = (((((uint64_t)x19 * x49) + ((uint64_t)x32 * x62)) +ℤ x72) +ℤ x64);
- ℤ x80 = ((((((uint64_t)x17 * x49) + ((uint64_t)x19 * x47)) + (((uint64_t)x33 * x62) + ((uint64_t)x32 * x63))) + x73) +ℤ x65);
- ℤ x81 = ((((((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + ((uint64_t)x19 * x45))) + (((uint64_t)x31 * x62) + (((uint64_t)x33 * x63) + ((uint64_t)x32 * x61)))) + x74) +ℤ x66);
- ℤ x82 = ((((((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + ((uint64_t)x19 * x43)))) + (((uint64_t)x29 * x62) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + ((uint64_t)x32 * x59))))) + x75) +ℤ x67);
- ℤ x83 = ((((((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((uint64_t)x19 * x41))))) + (((uint64_t)x27 * x62) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + ((uint64_t)x32 * x57)))))) + x76) +ℤ x68);
- ℤ x84 = ((((((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39)))))) + (((uint64_t)x25 * x62) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + ((uint64_t)x32 * x55))))))) + x77) +ℤ x69);
- ℤ x85 = ((((((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + ((uint64_t)x19 * x37))))))) + (((uint64_t)x23 * x62) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + ((uint64_t)x32 * x53)))))))) + x78) +ℤ x70);
- uint64_t x86 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + ((uint64_t)x19 * x35)))))))) + (((uint64_t)x21 * x62) + (((uint64_t)x23 * x63) + (((uint64_t)x25 * x61) + (((uint64_t)x27 * x59) + (((uint64_t)x29 * x57) + (((uint64_t)x31 * x55) + (((uint64_t)x33 * x53) + ((uint64_t)x32 * x51)))))))));
- uint64_t x87 = (((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((uint64_t)x17 * x35))))))) + (((uint64_t)x21 * x63) + (((uint64_t)x23 * x61) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + ((uint64_t)x33 * x51)))))))) + x64);
- uint64_t x88 = (((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35)))))) + (((uint64_t)x21 * x61) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + ((uint64_t)x31 * x51))))))) + x65);
- uint64_t x89 = (((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((uint64_t)x29 * x51)))))) + x66);
- uint64_t x90 = (((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + ((uint64_t)x27 * x51))))) + x67);
- uint64_t x91 = (((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + ((uint64_t)x25 * x51)))) + x68);
- uint64_t x92 = (((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (((uint64_t)x21 * x53) + ((uint64_t)x23 * x51))) + x69);
- ℤ x93 = ((((uint64_t)x5 * x35) + ((uint64_t)x21 * x51)) +ℤ x70);
- uint64_t x94 = (x86 >> 0x1c);
- uint32_t x95 = ((uint32_t)x86 & 0xfffffff);
- uint64_t x96 = (x71 >> 0x1c);
- uint32_t x97 = (x71 & 0xfffffff);
- ℤ x98 = ((0x10000000 *ℤ x96) +ℤ x97);
- uint64_t x99 = (x98 >> 0x1c);
- uint32_t x100 = (x98 & 0xfffffff);
- ℤ x101 = ((x94 +ℤ x85) +ℤ x99);
- uint64_t x102 = (x101 >> 0x1c);
- uint32_t x103 = (x101 & 0xfffffff);
- ℤ x104 = (x93 +ℤ x99);
- uint64_t x105 = (x104 >> 0x1c);
- uint32_t x106 = (x104 & 0xfffffff);
- ℤ x107 = (x102 +ℤ x84);
- uint64_t x108 = (x107 >> 0x1c);
- uint32_t x109 = (x107 & 0xfffffff);
- uint64_t x110 = (x105 + x92);
- uint64_t x111 = (x110 >> 0x1c);
- uint32_t x112 = ((uint32_t)x110 & 0xfffffff);
- ℤ x113 = (x108 +ℤ x83);
- uint64_t x114 = (x113 >> 0x1c);
- uint32_t x115 = (x113 & 0xfffffff);
- uint64_t x116 = (x111 + x91);
- uint64_t x117 = (x116 >> 0x1c);
- uint32_t x118 = ((uint32_t)x116 & 0xfffffff);
- ℤ x119 = (x114 +ℤ x82);
- uint64_t x120 = (x119 >> 0x1c);
- uint32_t x121 = (x119 & 0xfffffff);
- uint64_t x122 = (x117 + x90);
- uint64_t x123 = (x122 >> 0x1c);
- uint32_t x124 = ((uint32_t)x122 & 0xfffffff);
- ℤ x125 = (x120 +ℤ x81);
- uint64_t x126 = (x125 >> 0x1c);
- uint32_t x127 = (x125 & 0xfffffff);
- uint64_t x128 = (x123 + x89);
- uint64_t x129 = (x128 >> 0x1c);
- uint32_t x130 = ((uint32_t)x128 & 0xfffffff);
- ℤ x131 = (x126 +ℤ x80);
- uint64_t x132 = (x131 >> 0x1c);
- uint32_t x133 = (x131 & 0xfffffff);
- uint64_t x134 = (x129 + x88);
- uint64_t x135 = (x134 >> 0x1c);
- uint32_t x136 = ((uint32_t)x134 & 0xfffffff);
- ℤ x137 = (x132 +ℤ x79);
- uint64_t x138 = (x137 >> 0x1c);
- uint32_t x139 = (x137 & 0xfffffff);
- uint64_t x140 = (x135 + x87);
- uint64_t x141 = (x140 >> 0x1c);
- uint32_t x142 = ((uint32_t)x140 & 0xfffffff);
- uint64_t x143 = (x138 + x100);
- uint32_t x144 = (uint32_t) (x143 >> 0x1c);
- uint32_t x145 = ((uint32_t)x143 & 0xfffffff);
- uint64_t x146 = (x141 + x95);
- uint32_t x147 = (uint32_t) (x146 >> 0x1c);
- uint32_t x148 = ((uint32_t)x146 & 0xfffffff);
- uint64_t x149 = (((uint64_t)0x10000000 * x144) + x145);
- uint32_t x150 = (uint32_t) (x149 >> 0x1c);
- uint32_t x151 = ((uint32_t)x149 & 0xfffffff);
- uint32_t x152 = ((x147 + x103) + x150);
- uint32_t x153 = (x152 >> 0x1c);
- uint32_t x154 = (x152 & 0xfffffff);
- uint32_t x155 = (x106 + x150);
- uint32_t x156 = (x155 >> 0x1c);
- uint32_t x157 = (x155 & 0xfffffff);
- return (Return x151, Return x139, Return x133, Return x127, Return x121, Return x115, (x153 + x109), Return x154, Return x148, Return x142, Return x136, Return x130, Return x124, Return x118, (x156 + x112), Return x157))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/femulDisplay.v b/src/Specific/solinas32_2e448m2e224m1_16limbs/femulDisplay.v
deleted file mode 100644
index d2f8196ec..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesquare.c b/src/Specific/solinas32_2e448m2e224m1_16limbs/fesquare.c
deleted file mode 100644
index 5f1a92651..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesquare.c
+++ /dev/null
@@ -1,129 +0,0 @@
-static void fesquare(uint32_t out[16], const uint32_t in1[16]) {
- { const uint32_t x29 = in1[15];
- { const uint32_t x30 = in1[14];
- { const uint32_t x28 = in1[13];
- { const uint32_t x26 = in1[12];
- { const uint32_t x24 = in1[11];
- { const uint32_t x22 = in1[10];
- { const uint32_t x20 = in1[9];
- { const uint32_t x18 = in1[8];
- { const uint32_t x16 = in1[7];
- { const uint32_t x14 = in1[6];
- { const uint32_t x12 = in1[5];
- { const uint32_t x10 = in1[4];
- { const uint32_t x8 = in1[3];
- { const uint32_t x6 = in1[2];
- { const uint32_t x4 = in1[1];
- { const uint32_t x2 = in1[0];
- { uint64_t x31 = (((uint64_t)(x16 + x29) * (x16 + x29)) - ((uint64_t)x16 * x16));
- { uint64_t x32 = ((((uint64_t)(x14 + x30) * (x16 + x29)) + ((uint64_t)(x16 + x29) * (x14 + x30))) - (((uint64_t)x14 * x16) + ((uint64_t)x16 * x14)));
- { uint64_t x33 = ((((uint64_t)(x12 + x28) * (x16 + x29)) + (((uint64_t)(x14 + x30) * (x14 + x30)) + ((uint64_t)(x16 + x29) * (x12 + x28)))) - (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + ((uint64_t)x16 * x12))));
- { uint64_t x34 = ((((uint64_t)(x10 + x26) * (x16 + x29)) + (((uint64_t)(x12 + x28) * (x14 + x30)) + (((uint64_t)(x14 + x30) * (x12 + x28)) + ((uint64_t)(x16 + x29) * (x10 + x26))))) - (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x16 * x10)))));
- { uint64_t x35 = ((((uint64_t)(x8 + x24) * (x16 + x29)) + (((uint64_t)(x10 + x26) * (x14 + x30)) + (((uint64_t)(x12 + x28) * (x12 + x28)) + (((uint64_t)(x14 + x30) * (x10 + x26)) + ((uint64_t)(x16 + x29) * (x8 + x24)))))) - (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((uint64_t)x16 * x8))))));
- { uint64_t x36 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x6 + x22) * (x16 + x29)) +ℤ (((uint64_t)(x8 + x24) * (x14 + x30)) + (((uint64_t)(x10 + x26) * (x12 + x28)) + (((uint64_t)(x12 + x28) * (x10 + x26)) + (((uint64_t)(x14 + x30) * (x8 + x24)) + ((uint64_t)(x16 + x29) * (x6 + x22))))))) -ℤ (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x16 * x6))))))), (((((uint64_t)x6 * x29) + (((uint64_t)x8 * x30) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + ((uint64_t)x16 * x22)))))) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + (((uint64_t)x30 * x8) + ((uint64_t)x29 * x6))))))) + (((uint64_t)x22 * x29) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + ((uint64_t)x29 * x22))))))));
- { uint64_t x37 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x4 + x20) * (x16 + x29)) +ℤ (((uint64_t)(x6 + x22) * (x14 + x30)) +ℤ (((uint64_t)(x8 + x24) * (x12 + x28)) + (((uint64_t)(x10 + x26) * (x10 + x26)) + (((uint64_t)(x12 + x28) * (x8 + x24)) + (((uint64_t)(x14 + x30) * (x6 + x22)) + ((uint64_t)(x16 + x29) * (x4 + x20)))))))) -ℤ (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((uint64_t)x16 * x4)))))))), (((((uint64_t)x4 * x29) + (((uint64_t)x6 * x30) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((uint64_t)x16 * x20))))))) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + (((uint64_t)x26 * x10) + (((uint64_t)x28 * x8) + (((uint64_t)x30 * x6) + ((uint64_t)x29 * x4)))))))) + (((uint64_t)x20 * x29) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + ((uint64_t)x29 * x20)))))))));
- { ℤ x38 = Op (Syntax.IdWithAlt Syntax.TZ Syntax.TZ Syntax.TZ) (((((uint64_t)(x2 + x18) * (x16 + x29)) +ℤ (((uint64_t)(x4 + x20) * (x14 + x30)) +ℤ (((uint64_t)(x6 + x22) * (x12 + x28)) +ℤ (((uint64_t)(x8 + x24) * (x10 + x26)) + (((uint64_t)(x10 + x26) * (x8 + x24)) + (((uint64_t)(x12 + x28) * (x6 + x22)) + (((uint64_t)(x14 + x30) * (x4 + x20)) + ((uint64_t)(x16 + x29) * (x2 + x18))))))))) -ℤ (((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2))))))))), (((((uint64_t)x2 * x29) + (((uint64_t)x4 * x30) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + (((uint64_t)x14 * x20) + ((uint64_t)x16 * x18)))))))) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + (((uint64_t)x30 * x4) + ((uint64_t)x29 * x2))))))))) +ℤ (((uint64_t)x18 * x29) + (((uint64_t)x20 * x30) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + (((uint64_t)x30 * x20) + ((uint64_t)x29 * x18))))))))));
- { uint64_t x39 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x2 + x18) * (x14 + x30)) +ℤ (((uint64_t)(x4 + x20) * (x12 + x28)) +ℤ (((uint64_t)(x6 + x22) * (x10 + x26)) + (((uint64_t)(x8 + x24) * (x8 + x24)) + (((uint64_t)(x10 + x26) * (x6 + x22)) + (((uint64_t)(x12 + x28) * (x4 + x20)) + ((uint64_t)(x14 + x30) * (x2 + x18)))))))) -ℤ (((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2)))))))), (((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + ((uint64_t)x14 * x18))))))) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2)))))))) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + ((uint64_t)x30 * x18)))))))));
- { uint64_t x40 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x2 + x18) * (x12 + x28)) +ℤ (((uint64_t)(x4 + x20) * (x10 + x26)) + (((uint64_t)(x6 + x22) * (x8 + x24)) + (((uint64_t)(x8 + x24) * (x6 + x22)) + (((uint64_t)(x10 + x26) * (x4 + x20)) + ((uint64_t)(x12 + x28) * (x2 + x18))))))) -ℤ (((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2))))))), (((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + ((uint64_t)x12 * x18)))))) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2))))))) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + ((uint64_t)x28 * x18))))))));
- { uint64_t x41 = ((((uint64_t)(x2 + x18) * (x10 + x26)) + (((uint64_t)(x4 + x20) * (x8 + x24)) + (((uint64_t)(x6 + x22) * (x6 + x22)) + (((uint64_t)(x8 + x24) * (x4 + x20)) + ((uint64_t)(x10 + x26) * (x2 + x18)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- { uint64_t x42 = ((((uint64_t)(x2 + x18) * (x8 + x24)) + (((uint64_t)(x4 + x20) * (x6 + x22)) + (((uint64_t)(x6 + x22) * (x4 + x20)) + ((uint64_t)(x8 + x24) * (x2 + x18))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
- { uint64_t x43 = ((((uint64_t)(x2 + x18) * (x6 + x22)) + (((uint64_t)(x4 + x20) * (x4 + x20)) + ((uint64_t)(x6 + x22) * (x2 + x18)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- { uint64_t x44 = ((((uint64_t)(x2 + x18) * (x4 + x20)) + ((uint64_t)(x4 + x20) * (x2 + x18))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- { uint64_t x45 = (((uint64_t)(x2 + x18) * (x2 + x18)) - ((uint64_t)x2 * x2));
- { ℤ x46 = (((((uint64_t)x16 * x16) + ((uint64_t)x29 * x29)) +ℤ x39) +ℤ x31);
- { ℤ x47 = ((((((uint64_t)x14 * x16) + ((uint64_t)x16 * x14)) + (((uint64_t)x30 * x29) + ((uint64_t)x29 * x30))) + x40) +ℤ x32);
- { ℤ x48 = ((((((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + ((uint64_t)x16 * x12))) + (((uint64_t)x28 * x29) + (((uint64_t)x30 * x30) + ((uint64_t)x29 * x28)))) + x41) +ℤ x33);
- { ℤ x49 = ((((((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x16 * x10)))) + (((uint64_t)x26 * x29) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((uint64_t)x29 * x26))))) + x42) +ℤ x34);
- { ℤ x50 = ((((((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((uint64_t)x16 * x8))))) + (((uint64_t)x24 * x29) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((uint64_t)x29 * x24)))))) + x43) +ℤ x35);
- { ℤ x51 = ((((((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x16 * x6)))))) + (((uint64_t)x22 * x29) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + ((uint64_t)x29 * x22))))))) + x44) +ℤ x36);
- { ℤ x52 = ((((((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((uint64_t)x16 * x4))))))) + (((uint64_t)x20 * x29) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + ((uint64_t)x29 * x20)))))))) + x45) +ℤ x37);
- { uint64_t x53 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (((uint64_t)x18 * x29) + (((uint64_t)x20 * x30) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + (((uint64_t)x30 * x20) + ((uint64_t)x29 * x18)))))))));
- { uint64_t x54 = (((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + ((uint64_t)x30 * x18)))))))) + x31);
- { uint64_t x55 = (((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + ((uint64_t)x28 * x18))))))) + x32);
- { uint64_t x56 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + ((uint64_t)x26 * x18)))))) + x33);
- { uint64_t x57 = (((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x24 * x18))))) + x34);
- { uint64_t x58 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + ((uint64_t)x22 * x18)))) + x35);
- { uint64_t x59 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x18 * x20) + ((uint64_t)x20 * x18))) + x36);
- { ℤ x60 = ((((uint64_t)x2 * x2) + ((uint64_t)x18 * x18)) +ℤ x37);
- { uint64_t x61 = (x53 >> 0x1c);
- { uint32_t x62 = ((uint32_t)x53 & 0xfffffff);
- { uint64_t x63 = (x38 >> 0x1c);
- { uint32_t x64 = (x38 & 0xfffffff);
- { ℤ x65 = ((0x10000000 *ℤ x63) +ℤ x64);
- { uint64_t x66 = (x65 >> 0x1c);
- { uint32_t x67 = (x65 & 0xfffffff);
- { ℤ x68 = ((x61 +ℤ x52) +ℤ x66);
- { uint64_t x69 = (x68 >> 0x1c);
- { uint32_t x70 = (x68 & 0xfffffff);
- { ℤ x71 = (x60 +ℤ x66);
- { uint64_t x72 = (x71 >> 0x1c);
- { uint32_t x73 = (x71 & 0xfffffff);
- { ℤ x74 = (x69 +ℤ x51);
- { uint64_t x75 = (x74 >> 0x1c);
- { uint32_t x76 = (x74 & 0xfffffff);
- { uint64_t x77 = (x72 + x59);
- { uint64_t x78 = (x77 >> 0x1c);
- { uint32_t x79 = ((uint32_t)x77 & 0xfffffff);
- { ℤ x80 = (x75 +ℤ x50);
- { uint64_t x81 = (x80 >> 0x1c);
- { uint32_t x82 = (x80 & 0xfffffff);
- { uint64_t x83 = (x78 + x58);
- { uint64_t x84 = (x83 >> 0x1c);
- { uint32_t x85 = ((uint32_t)x83 & 0xfffffff);
- { ℤ x86 = (x81 +ℤ x49);
- { uint64_t x87 = (x86 >> 0x1c);
- { uint32_t x88 = (x86 & 0xfffffff);
- { uint64_t x89 = (x84 + x57);
- { uint64_t x90 = (x89 >> 0x1c);
- { uint32_t x91 = ((uint32_t)x89 & 0xfffffff);
- { ℤ x92 = (x87 +ℤ x48);
- { uint64_t x93 = (x92 >> 0x1c);
- { uint32_t x94 = (x92 & 0xfffffff);
- { uint64_t x95 = (x90 + x56);
- { uint64_t x96 = (x95 >> 0x1c);
- { uint32_t x97 = ((uint32_t)x95 & 0xfffffff);
- { ℤ x98 = (x93 +ℤ x47);
- { uint64_t x99 = (x98 >> 0x1c);
- { uint32_t x100 = (x98 & 0xfffffff);
- { uint64_t x101 = (x96 + x55);
- { uint64_t x102 = (x101 >> 0x1c);
- { uint32_t x103 = ((uint32_t)x101 & 0xfffffff);
- { ℤ x104 = (x99 +ℤ x46);
- { uint64_t x105 = (x104 >> 0x1c);
- { uint32_t x106 = (x104 & 0xfffffff);
- { uint64_t x107 = (x102 + x54);
- { uint64_t x108 = (x107 >> 0x1c);
- { uint32_t x109 = ((uint32_t)x107 & 0xfffffff);
- { uint64_t x110 = (x105 + x67);
- { uint32_t x111 = (uint32_t) (x110 >> 0x1c);
- { uint32_t x112 = ((uint32_t)x110 & 0xfffffff);
- { uint64_t x113 = (x108 + x62);
- { uint32_t x114 = (uint32_t) (x113 >> 0x1c);
- { uint32_t x115 = ((uint32_t)x113 & 0xfffffff);
- { uint64_t x116 = (((uint64_t)0x10000000 * x111) + x112);
- { uint32_t x117 = (uint32_t) (x116 >> 0x1c);
- { uint32_t x118 = ((uint32_t)x116 & 0xfffffff);
- { uint32_t x119 = ((x114 + x70) + x117);
- { uint32_t x120 = (x119 >> 0x1c);
- { uint32_t x121 = (x119 & 0xfffffff);
- { uint32_t x122 = (x73 + x117);
- { uint32_t x123 = (x122 >> 0x1c);
- { uint32_t x124 = (x122 & 0xfffffff);
- out[0] = x124;
- out[1] = (x123 + x79);
- out[2] = x85;
- out[3] = x91;
- out[4] = x97;
- out[5] = x103;
- out[6] = x109;
- out[7] = x115;
- out[8] = x121;
- out[9] = (x120 + x76);
- out[10] = x82;
- out[11] = x88;
- out[12] = x94;
- out[13] = x100;
- out[14] = x106;
- out[15] = x118;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesquare.v b/src/Specific/solinas32_2e448m2e224m1_16limbs/fesquare.v
deleted file mode 100644
index b2566b3f8..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition square :
- { square : feBW_loose -> feBW_tight
- | forall a, phiBW_tight (square a) = F.mul (phiBW_loose a) (phiBW_loose a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_square ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions square.
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesquareDisplay.log b/src/Specific/solinas32_2e448m2e224m1_16limbs/fesquareDisplay.log
deleted file mode 100644
index e1ffcf26b..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,101 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x29, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x31 = (((uint64_t)(x16 + x29) * (x16 + x29)) - ((uint64_t)x16 * x16));
- uint64_t x32 = ((((uint64_t)(x14 + x30) * (x16 + x29)) + ((uint64_t)(x16 + x29) * (x14 + x30))) - (((uint64_t)x14 * x16) + ((uint64_t)x16 * x14)));
- uint64_t x33 = ((((uint64_t)(x12 + x28) * (x16 + x29)) + (((uint64_t)(x14 + x30) * (x14 + x30)) + ((uint64_t)(x16 + x29) * (x12 + x28)))) - (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + ((uint64_t)x16 * x12))));
- uint64_t x34 = ((((uint64_t)(x10 + x26) * (x16 + x29)) + (((uint64_t)(x12 + x28) * (x14 + x30)) + (((uint64_t)(x14 + x30) * (x12 + x28)) + ((uint64_t)(x16 + x29) * (x10 + x26))))) - (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x16 * x10)))));
- uint64_t x35 = ((((uint64_t)(x8 + x24) * (x16 + x29)) + (((uint64_t)(x10 + x26) * (x14 + x30)) + (((uint64_t)(x12 + x28) * (x12 + x28)) + (((uint64_t)(x14 + x30) * (x10 + x26)) + ((uint64_t)(x16 + x29) * (x8 + x24)))))) - (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((uint64_t)x16 * x8))))));
- uint64_t x36 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x6 + x22) * (x16 + x29)) +ℤ (((uint64_t)(x8 + x24) * (x14 + x30)) + (((uint64_t)(x10 + x26) * (x12 + x28)) + (((uint64_t)(x12 + x28) * (x10 + x26)) + (((uint64_t)(x14 + x30) * (x8 + x24)) + ((uint64_t)(x16 + x29) * (x6 + x22))))))) -ℤ (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x16 * x6))))))), (((((uint64_t)x6 * x29) + (((uint64_t)x8 * x30) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + ((uint64_t)x16 * x22)))))) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + (((uint64_t)x30 * x8) + ((uint64_t)x29 * x6))))))) + (((uint64_t)x22 * x29) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + ((uint64_t)x29 * x22))))))));
- uint64_t x37 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x4 + x20) * (x16 + x29)) +ℤ (((uint64_t)(x6 + x22) * (x14 + x30)) +ℤ (((uint64_t)(x8 + x24) * (x12 + x28)) + (((uint64_t)(x10 + x26) * (x10 + x26)) + (((uint64_t)(x12 + x28) * (x8 + x24)) + (((uint64_t)(x14 + x30) * (x6 + x22)) + ((uint64_t)(x16 + x29) * (x4 + x20)))))))) -ℤ (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((uint64_t)x16 * x4)))))))), (((((uint64_t)x4 * x29) + (((uint64_t)x6 * x30) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((uint64_t)x16 * x20))))))) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + (((uint64_t)x26 * x10) + (((uint64_t)x28 * x8) + (((uint64_t)x30 * x6) + ((uint64_t)x29 * x4)))))))) + (((uint64_t)x20 * x29) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + ((uint64_t)x29 * x20)))))))));
- ℤ x38 = Op (Syntax.IdWithAlt Syntax.TZ Syntax.TZ Syntax.TZ) (((((uint64_t)(x2 + x18) * (x16 + x29)) +ℤ (((uint64_t)(x4 + x20) * (x14 + x30)) +ℤ (((uint64_t)(x6 + x22) * (x12 + x28)) +ℤ (((uint64_t)(x8 + x24) * (x10 + x26)) + (((uint64_t)(x10 + x26) * (x8 + x24)) + (((uint64_t)(x12 + x28) * (x6 + x22)) + (((uint64_t)(x14 + x30) * (x4 + x20)) + ((uint64_t)(x16 + x29) * (x2 + x18))))))))) -ℤ (((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2))))))))), (((((uint64_t)x2 * x29) + (((uint64_t)x4 * x30) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + (((uint64_t)x14 * x20) + ((uint64_t)x16 * x18)))))))) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + (((uint64_t)x30 * x4) + ((uint64_t)x29 * x2))))))))) +ℤ (((uint64_t)x18 * x29) + (((uint64_t)x20 * x30) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + (((uint64_t)x30 * x20) + ((uint64_t)x29 * x18))))))))));
- uint64_t x39 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x2 + x18) * (x14 + x30)) +ℤ (((uint64_t)(x4 + x20) * (x12 + x28)) +ℤ (((uint64_t)(x6 + x22) * (x10 + x26)) + (((uint64_t)(x8 + x24) * (x8 + x24)) + (((uint64_t)(x10 + x26) * (x6 + x22)) + (((uint64_t)(x12 + x28) * (x4 + x20)) + ((uint64_t)(x14 + x30) * (x2 + x18)))))))) -ℤ (((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2)))))))), (((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + ((uint64_t)x14 * x18))))))) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2)))))))) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + ((uint64_t)x30 * x18)))))))));
- uint64_t x40 = Op (Syntax.IdWithAlt Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6)) (((((uint64_t)(x2 + x18) * (x12 + x28)) +ℤ (((uint64_t)(x4 + x20) * (x10 + x26)) + (((uint64_t)(x6 + x22) * (x8 + x24)) + (((uint64_t)(x8 + x24) * (x6 + x22)) + (((uint64_t)(x10 + x26) * (x4 + x20)) + ((uint64_t)(x12 + x28) * (x2 + x18))))))) -ℤ (((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2))))))), (((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + ((uint64_t)x12 * x18)))))) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2))))))) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + ((uint64_t)x28 * x18))))))));
- uint64_t x41 = ((((uint64_t)(x2 + x18) * (x10 + x26)) + (((uint64_t)(x4 + x20) * (x8 + x24)) + (((uint64_t)(x6 + x22) * (x6 + x22)) + (((uint64_t)(x8 + x24) * (x4 + x20)) + ((uint64_t)(x10 + x26) * (x2 + x18)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- uint64_t x42 = ((((uint64_t)(x2 + x18) * (x8 + x24)) + (((uint64_t)(x4 + x20) * (x6 + x22)) + (((uint64_t)(x6 + x22) * (x4 + x20)) + ((uint64_t)(x8 + x24) * (x2 + x18))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
- uint64_t x43 = ((((uint64_t)(x2 + x18) * (x6 + x22)) + (((uint64_t)(x4 + x20) * (x4 + x20)) + ((uint64_t)(x6 + x22) * (x2 + x18)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- uint64_t x44 = ((((uint64_t)(x2 + x18) * (x4 + x20)) + ((uint64_t)(x4 + x20) * (x2 + x18))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- uint64_t x45 = (((uint64_t)(x2 + x18) * (x2 + x18)) - ((uint64_t)x2 * x2));
- ℤ x46 = (((((uint64_t)x16 * x16) + ((uint64_t)x29 * x29)) +ℤ x39) +ℤ x31);
- ℤ x47 = ((((((uint64_t)x14 * x16) + ((uint64_t)x16 * x14)) + (((uint64_t)x30 * x29) + ((uint64_t)x29 * x30))) + x40) +ℤ x32);
- ℤ x48 = ((((((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + ((uint64_t)x16 * x12))) + (((uint64_t)x28 * x29) + (((uint64_t)x30 * x30) + ((uint64_t)x29 * x28)))) + x41) +ℤ x33);
- ℤ x49 = ((((((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x16 * x10)))) + (((uint64_t)x26 * x29) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((uint64_t)x29 * x26))))) + x42) +ℤ x34);
- ℤ x50 = ((((((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((uint64_t)x16 * x8))))) + (((uint64_t)x24 * x29) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((uint64_t)x29 * x24)))))) + x43) +ℤ x35);
- ℤ x51 = ((((((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x16 * x6)))))) + (((uint64_t)x22 * x29) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + ((uint64_t)x29 * x22))))))) + x44) +ℤ x36);
- ℤ x52 = ((((((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((uint64_t)x16 * x4))))))) + (((uint64_t)x20 * x29) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + ((uint64_t)x29 * x20)))))))) + x45) +ℤ x37);
- uint64_t x53 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (((uint64_t)x18 * x29) + (((uint64_t)x20 * x30) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + (((uint64_t)x30 * x20) + ((uint64_t)x29 * x18)))))))));
- uint64_t x54 = (((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + ((uint64_t)x30 * x18)))))))) + x31);
- uint64_t x55 = (((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + ((uint64_t)x28 * x18))))))) + x32);
- uint64_t x56 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + ((uint64_t)x26 * x18)))))) + x33);
- uint64_t x57 = (((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x24 * x18))))) + x34);
- uint64_t x58 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + ((uint64_t)x22 * x18)))) + x35);
- uint64_t x59 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x18 * x20) + ((uint64_t)x20 * x18))) + x36);
- ℤ x60 = ((((uint64_t)x2 * x2) + ((uint64_t)x18 * x18)) +ℤ x37);
- uint64_t x61 = (x53 >> 0x1c);
- uint32_t x62 = ((uint32_t)x53 & 0xfffffff);
- uint64_t x63 = (x38 >> 0x1c);
- uint32_t x64 = (x38 & 0xfffffff);
- ℤ x65 = ((0x10000000 *ℤ x63) +ℤ x64);
- uint64_t x66 = (x65 >> 0x1c);
- uint32_t x67 = (x65 & 0xfffffff);
- ℤ x68 = ((x61 +ℤ x52) +ℤ x66);
- uint64_t x69 = (x68 >> 0x1c);
- uint32_t x70 = (x68 & 0xfffffff);
- ℤ x71 = (x60 +ℤ x66);
- uint64_t x72 = (x71 >> 0x1c);
- uint32_t x73 = (x71 & 0xfffffff);
- ℤ x74 = (x69 +ℤ x51);
- uint64_t x75 = (x74 >> 0x1c);
- uint32_t x76 = (x74 & 0xfffffff);
- uint64_t x77 = (x72 + x59);
- uint64_t x78 = (x77 >> 0x1c);
- uint32_t x79 = ((uint32_t)x77 & 0xfffffff);
- ℤ x80 = (x75 +ℤ x50);
- uint64_t x81 = (x80 >> 0x1c);
- uint32_t x82 = (x80 & 0xfffffff);
- uint64_t x83 = (x78 + x58);
- uint64_t x84 = (x83 >> 0x1c);
- uint32_t x85 = ((uint32_t)x83 & 0xfffffff);
- ℤ x86 = (x81 +ℤ x49);
- uint64_t x87 = (x86 >> 0x1c);
- uint32_t x88 = (x86 & 0xfffffff);
- uint64_t x89 = (x84 + x57);
- uint64_t x90 = (x89 >> 0x1c);
- uint32_t x91 = ((uint32_t)x89 & 0xfffffff);
- ℤ x92 = (x87 +ℤ x48);
- uint64_t x93 = (x92 >> 0x1c);
- uint32_t x94 = (x92 & 0xfffffff);
- uint64_t x95 = (x90 + x56);
- uint64_t x96 = (x95 >> 0x1c);
- uint32_t x97 = ((uint32_t)x95 & 0xfffffff);
- ℤ x98 = (x93 +ℤ x47);
- uint64_t x99 = (x98 >> 0x1c);
- uint32_t x100 = (x98 & 0xfffffff);
- uint64_t x101 = (x96 + x55);
- uint64_t x102 = (x101 >> 0x1c);
- uint32_t x103 = ((uint32_t)x101 & 0xfffffff);
- ℤ x104 = (x99 +ℤ x46);
- uint64_t x105 = (x104 >> 0x1c);
- uint32_t x106 = (x104 & 0xfffffff);
- uint64_t x107 = (x102 + x54);
- uint64_t x108 = (x107 >> 0x1c);
- uint32_t x109 = ((uint32_t)x107 & 0xfffffff);
- uint64_t x110 = (x105 + x67);
- uint32_t x111 = (uint32_t) (x110 >> 0x1c);
- uint32_t x112 = ((uint32_t)x110 & 0xfffffff);
- uint64_t x113 = (x108 + x62);
- uint32_t x114 = (uint32_t) (x113 >> 0x1c);
- uint32_t x115 = ((uint32_t)x113 & 0xfffffff);
- uint64_t x116 = (((uint64_t)0x10000000 * x111) + x112);
- uint32_t x117 = (uint32_t) (x116 >> 0x1c);
- uint32_t x118 = ((uint32_t)x116 & 0xfffffff);
- uint32_t x119 = ((x114 + x70) + x117);
- uint32_t x120 = (x119 >> 0x1c);
- uint32_t x121 = (x119 & 0xfffffff);
- uint32_t x122 = (x73 + x117);
- uint32_t x123 = (x122 >> 0x1c);
- uint32_t x124 = (x122 & 0xfffffff);
- return (Return x118, Return x106, Return x100, Return x94, Return x88, Return x82, (x120 + x76), Return x121, Return x115, Return x109, Return x103, Return x97, Return x91, Return x85, (x123 + x79), Return x124))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesquareDisplay.v b/src/Specific/solinas32_2e448m2e224m1_16limbs/fesquareDisplay.v
deleted file mode 100644
index 044cffaeb..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_16limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesub.c b/src/Specific/solinas32_2e448m2e224m1_16limbs/fesub.c
deleted file mode 100644
index 387cc589e..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesub.c
+++ /dev/null
@@ -1,51 +0,0 @@
-static void fesub(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
- { const uint32_t x32 = in1[15];
- { const uint32_t x33 = in1[14];
- { const uint32_t x31 = in1[13];
- { const uint32_t x29 = in1[12];
- { const uint32_t x27 = in1[11];
- { const uint32_t x25 = in1[10];
- { const uint32_t x23 = in1[9];
- { const uint32_t x21 = in1[8];
- { const uint32_t x19 = in1[7];
- { const uint32_t x17 = in1[6];
- { const uint32_t x15 = in1[5];
- { const uint32_t x13 = in1[4];
- { const uint32_t x11 = in1[3];
- { const uint32_t x9 = in1[2];
- { const uint32_t x7 = in1[1];
- { const uint32_t x5 = in1[0];
- { const uint32_t x62 = in2[15];
- { const uint32_t x63 = in2[14];
- { const uint32_t x61 = in2[13];
- { const uint32_t x59 = in2[12];
- { const uint32_t x57 = in2[11];
- { const uint32_t x55 = in2[10];
- { const uint32_t x53 = in2[9];
- { const uint32_t x51 = in2[8];
- { const uint32_t x49 = in2[7];
- { const uint32_t x47 = in2[6];
- { const uint32_t x45 = in2[5];
- { const uint32_t x43 = in2[4];
- { const uint32_t x41 = in2[3];
- { const uint32_t x39 = in2[2];
- { const uint32_t x37 = in2[1];
- { const uint32_t x35 = in2[0];
- out[0] = ((0x1ffffffe + x5) - x35);
- out[1] = ((0x1ffffffe + x7) - x37);
- out[2] = ((0x1ffffffe + x9) - x39);
- out[3] = ((0x1ffffffe + x11) - x41);
- out[4] = ((0x1ffffffe + x13) - x43);
- out[5] = ((0x1ffffffe + x15) - x45);
- out[6] = ((0x1ffffffe + x17) - x47);
- out[7] = ((0x1ffffffe + x19) - x49);
- out[8] = ((0x1ffffffc + x21) - x51);
- out[9] = ((0x1ffffffe + x23) - x53);
- out[10] = ((0x1ffffffe + x25) - x55);
- out[11] = ((0x1ffffffe + x27) - x57);
- out[12] = ((0x1ffffffe + x29) - x59);
- out[13] = ((0x1ffffffe + x31) - x61);
- out[14] = ((0x1ffffffe + x33) - x63);
- out[15] = ((0x1ffffffe + x32) - x62);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesub.v b/src/Specific/solinas32_2e448m2e224m1_16limbs/fesub.v
deleted file mode 100644
index 10e5b653c..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_tight -> feBW_tight -> feBW_loose
- | forall a b, phiBW_loose (sub a b) = F.sub (phiBW_tight a) (phiBW_tight b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesubDisplay.log b/src/Specific/solinas32_2e448m2e224m1_16limbs/fesubDisplay.log
deleted file mode 100644
index 3007e8715..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
- (((0x1ffffffe + x32) - x62), ((0x1ffffffe + x33) - x63), ((0x1ffffffe + x31) - x61), ((0x1ffffffe + x29) - x59), ((0x1ffffffe + x27) - x57), ((0x1ffffffe + x25) - x55), ((0x1ffffffe + x23) - x53), ((0x1ffffffc + x21) - x51), ((0x1ffffffe + x19) - x49), ((0x1ffffffe + x17) - x47), ((0x1ffffffe + x15) - x45), ((0x1ffffffe + x13) - x43), ((0x1ffffffe + x11) - x41), ((0x1ffffffe + x9) - x39), ((0x1ffffffe + x7) - x37), ((0x1ffffffe + x5) - x35)))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesubDisplay.v b/src/Specific/solinas32_2e448m2e224m1_16limbs/fesubDisplay.v
deleted file mode 100644
index e89f4ace2..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/freeze.c b/src/Specific/solinas32_2e448m2e224m1_16limbs/freeze.c
deleted file mode 100644
index 0763e4c18..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/freeze.c
+++ /dev/null
@@ -1,84 +0,0 @@
-static void freeze(uint32_t out[16], const uint32_t in1[16]) {
- { const uint32_t x29 = in1[15];
- { const uint32_t x30 = in1[14];
- { const uint32_t x28 = in1[13];
- { const uint32_t x26 = in1[12];
- { const uint32_t x24 = in1[11];
- { const uint32_t x22 = in1[10];
- { const uint32_t x20 = in1[9];
- { const uint32_t x18 = in1[8];
- { const uint32_t x16 = in1[7];
- { const uint32_t x14 = in1[6];
- { const uint32_t x12 = in1[5];
- { const uint32_t x10 = in1[4];
- { const uint32_t x8 = in1[3];
- { const uint32_t x6 = in1[2];
- { const uint32_t x4 = in1[1];
- { const uint32_t x2 = in1[0];
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0xfffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0xfffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0xfffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0xfffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0xfffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0xfffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0xfffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0xffffffe);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0xfffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0xfffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0xfffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0xfffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0xfffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0xfffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0xfffffff);
- { uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- { uint32_t x80 = (x79 & 0xfffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- { uint32_t x84 = (x79 & 0xfffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x35, Return x84);
- { uint32_t x88 = (x79 & 0xfffffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x38, Return x88);
- { uint32_t x92 = (x79 & 0xfffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x41, Return x92);
- { uint32_t x96 = (x79 & 0xfffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x44, Return x96);
- { uint32_t x100 = (x79 & 0xfffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x47, Return x100);
- { uint32_t x104 = (x79 & 0xfffffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x50, Return x104);
- { uint32_t x108 = (x79 & 0xfffffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x53, Return x108);
- { uint32_t x112 = (x79 & 0xffffffe);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x56, Return x112);
- { uint32_t x116 = (x79 & 0xfffffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x59, Return x116);
- { uint32_t x120 = (x79 & 0xfffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x62, Return x120);
- { uint32_t x124 = (x79 & 0xfffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x65, Return x124);
- { uint32_t x128 = (x79 & 0xfffffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x68, Return x128);
- { uint32_t x132 = (x79 & 0xfffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x71, Return x132);
- { uint32_t x136 = (x79 & 0xfffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x74, Return x136);
- { uint32_t x140 = (x79 & 0xfffffff);
- { uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x77, Return x140);
- out[0] = x82;
- out[1] = x86;
- out[2] = x90;
- out[3] = x94;
- out[4] = x98;
- out[5] = x102;
- out[6] = x106;
- out[7] = x110;
- out[8] = x114;
- out[9] = x118;
- out[10] = x122;
- out[11] = x126;
- out[12] = x130;
- out[13] = x134;
- out[14] = x138;
- out[15] = x142;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/freeze.v b/src/Specific/solinas32_2e448m2e224m1_16limbs/freeze.v
deleted file mode 100644
index 2563bcf51..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition freeze :
- { freeze : feBW_tight -> feBW_limbwidths
- | forall a, phiBW_limbwidths (freeze a) = phiBW_tight a }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_freeze ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions freeze.
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/freezeDisplay.log b/src/Specific/solinas32_2e448m2e224m1_16limbs/freezeDisplay.log
deleted file mode 100644
index bf5bf0738..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/freezeDisplay.log
+++ /dev/null
@@ -1,56 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x29, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0xfffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0xfffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0xfffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0xfffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0xfffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0xfffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0xfffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0xffffffe);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0xfffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0xfffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0xfffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0xfffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0xfffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0xfffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0xfffffff);
- uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- uint32_t x80 = (x79 & 0xfffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- uint32_t x84 = (x79 & 0xfffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x35, Return x84);
- uint32_t x88 = (x79 & 0xfffffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x38, Return x88);
- uint32_t x92 = (x79 & 0xfffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x41, Return x92);
- uint32_t x96 = (x79 & 0xfffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x44, Return x96);
- uint32_t x100 = (x79 & 0xfffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x47, Return x100);
- uint32_t x104 = (x79 & 0xfffffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x50, Return x104);
- uint32_t x108 = (x79 & 0xfffffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x53, Return x108);
- uint32_t x112 = (x79 & 0xffffffe);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x56, Return x112);
- uint32_t x116 = (x79 & 0xfffffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x59, Return x116);
- uint32_t x120 = (x79 & 0xfffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x62, Return x120);
- uint32_t x124 = (x79 & 0xfffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x65, Return x124);
- uint32_t x128 = (x79 & 0xfffffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x68, Return x128);
- uint32_t x132 = (x79 & 0xfffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x71, Return x132);
- uint32_t x136 = (x79 & 0xfffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x74, Return x136);
- uint32_t x140 = (x79 & 0xfffffff);
- uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x77, Return x140);
- (Return x142, Return x138, Return x134, Return x130, Return x126, Return x122, Return x118, Return x114, Return x110, Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/freezeDisplay.v b/src/Specific/solinas32_2e448m2e224m1_16limbs/freezeDisplay.v
deleted file mode 100644
index b9938e4c0..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_16limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e448m2e224m1_16limbs/py_interpreter.sh b/src/Specific/solinas32_2e448m2e224m1_16limbs/py_interpreter.sh
deleted file mode 100755
index cc74503cd..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**448 - 2**224 - 1' -Dmodulus_bytes='28' -Da24='121665'