aboutsummaryrefslogtreecommitdiff
path: root/src/Specific/solinas32_2e448m2e224m1_16limbs/fesquare.v
blob: b2566b3f8f2dd2ea32d05a2e5ca7865abf792a58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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.