diff options
Diffstat (limited to 'src/Specific/solinas32_2e224m2e96p1_11limbs')
21 files changed, 0 insertions, 305 deletions
diff --git a/src/Specific/solinas32_2e224m2e96p1_11limbs/CurveParameters.v b/src/Specific/solinas32_2e224m2e96p1_11limbs/CurveParameters.v deleted file mode 100644 index e665a9604..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/CurveParameters.v +++ /dev/null @@ -1,39 +0,0 @@ -Require Import Crypto.Specific.Framework.RawCurveParameters. -Require Import Crypto.Util.LetIn. - -(*** -Modulus : 2^224 - 2^96 + 1 -Base: 20 + 4/11 -***) - -Definition curve : CurveParameters := - {| - sz := 11%nat; - base := 20 + 4/11; - bitwidth := 32; - s := 2^224; - c := [(1, -1); (2^96, 1)]; - carry_chains := Some [[3; 10]; [4; 0; 5; 1; 6; 2; 7; 3; 8; 9; 10]; [4; 0]]%nat; - - a24 := None; - coef_div_modulus := Some 2%nat; - - goldilocks := None; - 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_2e224m2e96p1_11limbs/Synthesis.v b/src/Specific/solinas32_2e224m2e96p1_11limbs/Synthesis.v deleted file mode 100644 index 78bcf1a33..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/Synthesis.v +++ /dev/null @@ -1,9 +0,0 @@ -Require Import Crypto.Specific.Framework.SynthesisFramework. -Require Import Crypto.Specific.solinas32_2e224m2e96p1_11limbs.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_2e224m2e96p1_11limbs/compiler.sh b/src/Specific/solinas32_2e224m2e96p1_11limbs/compiler.sh deleted file mode 100755 index 48e902c67..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,20,21,20,20,21,20,20,21,20,20}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1' "$@" diff --git a/src/Specific/solinas32_2e224m2e96p1_11limbs/compilerxx.sh b/src/Specific/solinas32_2e224m2e96p1_11limbs/compilerxx.sh deleted file mode 100755 index 9dc54e3a1..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,20,21,20,20,21,20,20,21,20,20}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1' "$@" diff --git a/src/Specific/solinas32_2e224m2e96p1_11limbs/feadd.c b/src/Specific/solinas32_2e224m2e96p1_11limbs/feadd.c deleted file mode 100644 index 1763e8727..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/feadd.c +++ /dev/null @@ -1,36 +0,0 @@ -static void feadd(uint32_t out[11], const uint32_t in1[11], const uint32_t in2[11]) { - { const uint32_t x22 = 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 x42 = in2[10]; - { const uint32_t x43 = in2[9]; - { const uint32_t x41 = in2[8]; - { const uint32_t x39 = in2[7]; - { const uint32_t x37 = in2[6]; - { const uint32_t x35 = in2[5]; - { const uint32_t x33 = in2[4]; - { const uint32_t x31 = in2[3]; - { const uint32_t x29 = in2[2]; - { const uint32_t x27 = in2[1]; - { const uint32_t x25 = in2[0]; - out[0] = (x5 + x25); - out[1] = (x7 + x27); - out[2] = (x9 + x29); - out[3] = (x11 + x31); - out[4] = (x13 + x33); - out[5] = (x15 + x35); - out[6] = (x17 + x37); - out[7] = (x19 + x39); - out[8] = (x21 + x41); - out[9] = (x23 + x43); - out[10] = (x22 + x42); - }}}}}}}}}}}}}}}}}}}}}} -} diff --git a/src/Specific/solinas32_2e224m2e96p1_11limbs/feadd.v b/src/Specific/solinas32_2e224m2e96p1_11limbs/feadd.v deleted file mode 100644 index f7da8b53c..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/feadd.v +++ /dev/null @@ -1,14 +0,0 @@ -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.solinas32_2e224m2e96p1_11limbs.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_2e224m2e96p1_11limbs/feaddDisplay.log b/src/Specific/solinas32_2e224m2e96p1_11limbs/feaddDisplay.log deleted file mode 100644 index 433ecbc2e..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/feaddDisplay.log +++ /dev/null @@ -1,7 +0,0 @@ -λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, -Interp-η -(λ var : Syntax.base_type → Type, - λ '(x22, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x42, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25))%core, - ((x22 + x42), (x23 + x43), (x21 + x41), (x19 + x39), (x17 + x37), (x15 + x35), (x13 + x33), (x11 + x31), (x9 + x29), (x7 + x27), (x5 + x25))) -(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 → ReturnType (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_2e224m2e96p1_11limbs/feaddDisplay.v b/src/Specific/solinas32_2e224m2e96p1_11limbs/feaddDisplay.v deleted file mode 100644 index 99a427998..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/feaddDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.solinas32_2e224m2e96p1_11limbs.feadd. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display add. diff --git a/src/Specific/solinas32_2e224m2e96p1_11limbs/fecarry.v b/src/Specific/solinas32_2e224m2e96p1_11limbs/fecarry.v deleted file mode 100644 index ad84eebf6..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/fecarry.v +++ /dev/null @@ -1,14 +0,0 @@ -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.solinas32_2e224m2e96p1_11limbs.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_2e224m2e96p1_11limbs/fecarryDisplay.v b/src/Specific/solinas32_2e224m2e96p1_11limbs/fecarryDisplay.v deleted file mode 100644 index da7393aa4..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/fecarryDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.solinas32_2e224m2e96p1_11limbs.fecarry. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display carry. diff --git a/src/Specific/solinas32_2e224m2e96p1_11limbs/femul.v b/src/Specific/solinas32_2e224m2e96p1_11limbs/femul.v deleted file mode 100644 index d6a06caee..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/femul.v +++ /dev/null @@ -1,14 +0,0 @@ -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.solinas32_2e224m2e96p1_11limbs.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_2e224m2e96p1_11limbs/femulDisplay.v b/src/Specific/solinas32_2e224m2e96p1_11limbs/femulDisplay.v deleted file mode 100644 index e1416f9de..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/femulDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.solinas32_2e224m2e96p1_11limbs.femul. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display mul. diff --git a/src/Specific/solinas32_2e224m2e96p1_11limbs/fesquare.v b/src/Specific/solinas32_2e224m2e96p1_11limbs/fesquare.v deleted file mode 100644 index 0f61217c3..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/fesquare.v +++ /dev/null @@ -1,14 +0,0 @@ -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.solinas32_2e224m2e96p1_11limbs.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_2e224m2e96p1_11limbs/fesquareDisplay.v b/src/Specific/solinas32_2e224m2e96p1_11limbs/fesquareDisplay.v deleted file mode 100644 index f56ac2992..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/fesquareDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.solinas32_2e224m2e96p1_11limbs.fesquare. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display square. diff --git a/src/Specific/solinas32_2e224m2e96p1_11limbs/fesub.v b/src/Specific/solinas32_2e224m2e96p1_11limbs/fesub.v deleted file mode 100644 index 9c24b13c9..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/fesub.v +++ /dev/null @@ -1,14 +0,0 @@ -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.solinas32_2e224m2e96p1_11limbs.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_2e224m2e96p1_11limbs/fesubDisplay.v b/src/Specific/solinas32_2e224m2e96p1_11limbs/fesubDisplay.v deleted file mode 100644 index e9cb23e26..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/fesubDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.solinas32_2e224m2e96p1_11limbs.fesub. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display sub. diff --git a/src/Specific/solinas32_2e224m2e96p1_11limbs/freeze.c b/src/Specific/solinas32_2e224m2e96p1_11limbs/freeze.c deleted file mode 100644 index ec20f4e1d..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/freeze.c +++ /dev/null @@ -1,56 +0,0 @@ -static void freeze(uint32_t out[11], const uint32_t in1[11]) { - { const uint32_t x19 = 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 x22, ℤ x23 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (0x0, Return x2, 0x1); - { uint32_t x25, ℤ x26 = Op (Syntax.SubWithGetBorrow 20 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x23, Return x4, 0x0); - { uint32_t x28, ℤ x29 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x26, Return x6, 0x0); - { uint32_t x31, ℤ x32 = Op (Syntax.SubWithGetBorrow 20 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x29, Return x8, 0x0); - { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 20 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x10, 0xfc000); - { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x12, 0x1fffff); - { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x14, 0xfffff); - { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x16, 0xfffff); - { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x18, 0x1fffff); - { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0xfffff); - { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0xfffff); - { uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff); - { uint8_t x55 = ((uint8_t)x54 & 0x1); - { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55); - { uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, 0x0); - { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x28, 0x0); - { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x31, 0x0); - { uint32_t x68 = (x54 & 0xfc000); - { uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x34, Return x68); - { uint32_t x72 = (x54 & 0x1fffff); - { uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x37, Return x72); - { uint32_t x76 = (x54 & 0xfffff); - { uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x40, Return x76); - { uint32_t x80 = (x54 & 0xfffff); - { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x43, Return x80); - { uint32_t x84 = (x54 & 0x1fffff); - { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x46, Return x84); - { uint32_t x88 = (x54 & 0xfffff); - { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x49, Return x88); - { uint32_t x92 = (x54 & 0xfffff); - { uint32_t x94, uint8_t _ = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x52, Return x92); - out[0] = x57; - out[1] = x60; - out[2] = x63; - out[3] = x66; - out[4] = x70; - out[5] = x74; - out[6] = x78; - out[7] = x82; - out[8] = x86; - out[9] = x90; - out[10] = x94; - }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} -} diff --git a/src/Specific/solinas32_2e224m2e96p1_11limbs/freeze.v b/src/Specific/solinas32_2e224m2e96p1_11limbs/freeze.v deleted file mode 100644 index 4c1d44934..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/freeze.v +++ /dev/null @@ -1,14 +0,0 @@ -Require Import Crypto.Arithmetic.PrimeFieldTheorems. -Require Import Crypto.Specific.solinas32_2e224m2e96p1_11limbs.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_2e224m2e96p1_11limbs/freezeDisplay.log b/src/Specific/solinas32_2e224m2e96p1_11limbs/freezeDisplay.log deleted file mode 100644 index 28c024f17..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/freezeDisplay.log +++ /dev/null @@ -1,38 +0,0 @@ -λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, -Interp-η -(λ var : Syntax.base_type → Type, - λ '(x19, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core, - uint32_t x22, ℤ x23 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (0x0, Return x2, 0x1); - uint32_t x25, ℤ x26 = Op (Syntax.SubWithGetBorrow 20 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x23, Return x4, 0x0); - uint32_t x28, ℤ x29 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x26, Return x6, 0x0); - uint32_t x31, ℤ x32 = Op (Syntax.SubWithGetBorrow 20 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x29, Return x8, 0x0); - uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 20 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x10, 0xfc000); - uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x12, 0x1fffff); - uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x14, 0xfffff); - uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x16, 0xfffff); - uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x18, 0x1fffff); - uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0xfffff); - uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0xfffff); - uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff); - uint8_t x55 = ((uint8_t)x54 & 0x1); - uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55); - uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, 0x0); - uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x28, 0x0); - uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x31, 0x0); - uint32_t x68 = (x54 & 0xfc000); - uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x34, Return x68); - uint32_t x72 = (x54 & 0x1fffff); - uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x37, Return x72); - uint32_t x76 = (x54 & 0xfffff); - uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x40, Return x76); - uint32_t x80 = (x54 & 0xfffff); - uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x43, Return x80); - uint32_t x84 = (x54 & 0x1fffff); - uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x46, Return x84); - uint32_t x88 = (x54 & 0xfffff); - uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x49, Return x88); - uint32_t x92 = (x54 & 0xfffff); - uint32_t x94, uint8_t _ = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x52, Return x92); - (Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x63, Return x60, Return x57)) -x - : 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) diff --git a/src/Specific/solinas32_2e224m2e96p1_11limbs/freezeDisplay.v b/src/Specific/solinas32_2e224m2e96p1_11limbs/freezeDisplay.v deleted file mode 100644 index 664a406cf..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/freezeDisplay.v +++ /dev/null @@ -1,4 +0,0 @@ -Require Import Crypto.Specific.solinas32_2e224m2e96p1_11limbs.freeze. -Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon. - -Check display freeze. diff --git a/src/Specific/solinas32_2e224m2e96p1_11limbs/py_interpreter.sh b/src/Specific/solinas32_2e224m2e96p1_11limbs/py_interpreter.sh deleted file mode 100755 index 63a47591e..000000000 --- a/src/Specific/solinas32_2e224m2e96p1_11limbs/py_interpreter.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -set -eu - -/usr/bin/env python3 "$@" -Dq='2**224 - 2**96 + 1' -Dmodulus_bytes='20 + 4/11' -Da24='121665' |